diff --git a/json/CheckoutService-v32.json b/json/CheckoutService-v32.json deleted file mode 100644 index ed8f1d8..0000000 --- a/json/CheckoutService-v32.json +++ /dev/null @@ -1,2940 +0,0 @@ -{ - "openapi" : "3.0.0", - "servers" : [ - { - "url" : "https://checkout-test.adyen.com/v32" - } - ], - "info" : { - "version" : "32", - "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v32/payments\n```", - "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", - "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" - } - }, - "x-groups" : [ - "API Integration", - "SDK Integration" - ], - "paths" : { - "/paymentLinks" : { - "post" : { - "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", - "x-groupName" : "API Integration", - "x-sortIndex" : 8, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/paymentMethods" : { - "post" : { - "summary" : "Returns available payment methods.", - "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", - "x-groupName" : "API Integration", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentMethodsRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentMethodsResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/paymentSession" : { - "post" : { - "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentSetupRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentSetupResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/payments" : { - "post" : { - "summary" : "Starts a transaction.", - "description" : "Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`).\n* For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", - "x-groupName" : "API Integration", - "x-sortIndex" : 2, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/payments/details" : { - "post" : { - "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", - "x-groupName" : "API Integration", - "x-sortIndex" : 3, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/DetailsRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/payments/result" : { - "post" : { - "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", - "x-sortIndex" : 2, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentVerificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentVerificationResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - } - }, - "components" : { - "schemas" : { - "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" - } - } - }, - "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" - } - }, - "required" : [ - "airline.passenger_name" - ] - }, - "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" - } - } - }, - "ResponseAdditionalDataCommon" : { - "properties" : { - "acquirerAccountCode" : { - "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n> Only relevant for PayPal transactions.", - "type" : "string" - }, - "acquirerCode" : { - "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", - "type" : "string" - }, - "acquirerReference" : { - "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", - "type" : "string" - }, - "alias" : { - "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", - "type" : "string" - }, - "aliasType" : { - "description" : "The type of the card alias.\n\nExample: Default", - "type" : "string" - }, - "authCode" : { - "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", - "type" : "string" - }, - "authorisedAmountCurrency" : { - "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "authorisedAmountValue" : { - "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "avsResult" : { - "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", - "type" : "string" - }, - "avsResultRaw" : { - "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", - "type" : "string" - }, - "bic" : { - "description" : "BIC of a bank account.\n\nExample: TESTNL01\n> Only relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "dsTransID" : { - "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", - "type" : "string" - }, - "eci" : { - "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", - "type" : "string" - }, - "expiryDate" : { - "description" : "The expiry date on the card.\n\nExample: 6/2016\n> Returned only in case of a card payment.", - "type" : "string" - }, - "extraCostsCurrency" : { - "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", - "type" : "string" - }, - "extraCostsValue" : { - "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", - "type" : "string" - }, - "fraudCheck-[itemNr]-[FraudCheckname]" : { - "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", - "type" : "string" - }, - "fundingSource" : { - "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", - "type" : "string" - }, - "fundsAvailability" : { - "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", - "type" : "string" - }, - "inferredRefusalReason" : { - "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n* Low Authrate Bin\n* Non-reloadable prepaid card", - "type" : "string" - }, - "issuerCountry" : { - "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", - "type" : "string" - }, - "mcBankNetReferenceNumber" : { - "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "networkTxReference" : { - "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", - "type" : "string" - }, - "ownerName" : { - "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "paymentAccountReference" : { - "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", - "type" : "string" - }, - "paymentMethodVariant" : { - "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", - "type" : "string" - }, - "payoutEligible" : { - "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", - "type" : "string" - }, - "realtimeAccountUpdaterStatus" : { - "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n* ContactCardAccountHolder", - "type" : "string" - }, - "receiptFreeText" : { - "description" : "Message to be displayed on the terminal.", - "type" : "string" - }, - "recurring.firstPspReference" : { - "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", - "type" : "string" - }, - "recurring.recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring transaction.", - "type" : "string" - }, - "referred" : { - "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", - "type" : "string" - }, - "refusalReasonRaw" : { - "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", - "type" : "string" - }, - "terminalId" : { - "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", - "type" : "string" - }, - "threeDAuthenticated" : { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", - "type" : "string" - }, - "threeDAuthenticatedResponse" : { - "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", - "type" : "string" - }, - "threeDOffered" : { - "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", - "type" : "string" - }, - "threeDOfferedResponse" : { - "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", - "type" : "string" - }, - "threeDSVersion" : { - "description" : "The 3D Secure 2 version.", - "type" : "string" - }, - "visaTransactionId" : { - "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "xid" : { - "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", - "type" : "string" - } - } - }, - "ResponseAdditionalDataBillingAddress" : { - "properties" : { - "billingAddress.city" : { - "description" : "The billing address city passed in the payment request.", - "type" : "string" - }, - "billingAddress.country" : { - "description" : "The billing address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "billingAddress.houseNumberOrName" : { - "description" : "The billing address house number or name passed in the payment request.", - "type" : "string" - }, - "billingAddress.postalCode" : { - "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "billingAddress.stateOrProvince" : { - "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "billingAddress.street" : { - "description" : "The billing address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataCard" : { - "properties" : { - "cardBin" : { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", - "type" : "string" - }, - "cardHolderName" : { - "description" : "The cardholder name passed in the payment request.", - "type" : "string" - }, - "cardIssuingBank" : { - "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", - "type" : "string" - }, - "cardIssuingCountry" : { - "description" : "The country where the card was issued.\n\nExample: US", - "type" : "string" - }, - "cardIssuingCurrency" : { - "description" : "The currency in which the card is issued, if this information is available.\n\nExample: USD", - "type" : "string" - }, - "cardPaymentMethod" : { - "description" : "The card payment method used for the transaction.\n\nExample: amex", - "type" : "string" - }, - "cardSummary" : { - "description" : "The last four digits of a card number.\n> Returned only in case of a card payment.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataDeliveryAddress" : { - "properties" : { - "deliveryAddress.city" : { - "description" : "The delivery address city passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.country" : { - "description" : "The delivery address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "deliveryAddress.houseNumberOrName" : { - "description" : "The delivery address house number or name passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.postalCode" : { - "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "deliveryAddress.stateOrProvince" : { - "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "deliveryAddress.street" : { - "description" : "The delivery address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataInstallments" : { - "properties" : { - "installments.value" : { - "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", - "type" : "string" - }, - "installmentPaymentData.installmentType" : { - "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", - "type" : "string" - }, - "installmentPaymentData.paymentOptions" : { - "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].numberOfInstallments" : { - "description" : "Total number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].interestRate" : { - "description" : "Interest rate for the installment period.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].installmentFee" : { - "description" : "Installment fee amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].annualPercentageRate" : { - "description" : "Annual interest rate.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { - "description" : "First Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { - "description" : "Subsequent Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { - "description" : "Minimum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { - "description" : "Maximum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].totalAmountDue" : { - "description" : "Total amount in minor units.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataPayPal" : { - "properties" : { - "paypalPayerStatus" : { - "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", - "type" : "string" - }, - "paypalPayerResidenceCountry" : { - "description" : "The buyer's country of residence.\n\nExample: NL", - "type" : "string" - }, - "paypalPayerId" : { - "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", - "type" : "string" - }, - "paypalEmail" : { - "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", - "type" : "string" - }, - "paypalProtectionEligibility" : { - "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", - "type" : "string" - } - } - }, - "ResponseAdditionalDataSepa" : { - "properties" : { - "sepadirectdebit.dateOfSignature" : { - "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", - "type" : "string" - }, - "sepadirectdebit.mandateId" : { - "description" : "Its value corresponds to the pspReference value of the transaction.", - "type" : "string" - }, - "sepadirectdebit.sequenceType" : { - "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", - "type" : "string" - } - } - }, - "Address" : { - "properties" : { - "city" : { - "description" : "The name of the city.", - "type" : "string" - }, - "country" : { - "description" : "The two-character country code as defined in ISO-3166-1 alpha-2. For example, **US**.\n> If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.", - "type" : "string" - }, - "houseNumberOrName" : { - "description" : "The number or name of the house.", - "type" : "string" - }, - "postalCode" : { - "description" : "A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.", - "type" : "string" - }, - "stateOrProvince" : { - "description" : "State or province codes as defined in ISO 3166-2. For example, **CA** in the US or **ON** in Canada.\n> Required for the US and Canada.", - "type" : "string" - }, - "street" : { - "description" : "The name of the street.\n> The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.", - "type" : "string" - } - }, - "required" : [ - "street", - "houseNumberOrName", - "city", - "postalCode", - "country" - ] - }, - "Amount" : { - "properties" : { - "currency" : { - "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "maxLength" : 3, - "minLength" : 3, - "type" : "string" - }, - "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "format" : "int64", - "type" : "integer" - } - }, - "required" : [ - "value", - "currency" - ] - }, - "Avs" : { - "properties" : { - "addressEditable" : { - "description" : "Indicates whether the shopper is allowed to modify the billing address for the current payment request.", - "type" : "boolean" - }, - "enabled" : { - "description" : "Specifies whether the shopper should enter their billing address during checkout.\n\nAllowed values:\n* yes — Perform AVS checks for every card payment.\n* automatic — Perform AVS checks only when required to optimize the conversion rate.\n* no — Do not perform AVS checks.", - "enum" : [ - "yes", - "no", - "automatic" - ], - "type" : "string" - } - } - }, - "BankAccount" : { - "properties" : { - "bankAccountNumber" : { - "description" : "The bank account number (without separators).", - "type" : "string" - }, - "bankCity" : { - "description" : "The bank city.", - "type" : "string" - }, - "bankLocationId" : { - "description" : "The location id of the bank. The field value is `nil` in most cases.", - "type" : "string" - }, - "bankName" : { - "description" : "The name of the bank.", - "type" : "string" - }, - "bic" : { - "description" : "The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases.", - "type" : "string" - }, - "countryCode" : { - "description" : "Country code where the bank is located.\n\nA valid value is an ISO two-character country code (e.g. 'NL').", - "type" : "string" - }, - "iban" : { - "description" : "The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN).", - "type" : "string" - }, - "ownerName" : { - "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", - "type" : "string" - }, - "taxId" : { - "description" : "The bank account holder's tax ID.", - "type" : "string" - } - } - }, - "BrowserInfo" : { - "properties" : { - "acceptHeader" : { - "description" : "The accept header value of the shopper's browser.", - "maxLength" : 50, - "minLength" : 10, - "type" : "string" - }, - "userAgent" : { - "description" : "The user agent value of the shopper's browser.", - "maxLength" : 50, - "minLength" : 10, - "type" : "string" - } - }, - "required" : [ - "userAgent", - "acceptHeader" - ] - }, - "Card" : { - "properties" : { - "cvc" : { - "description" : "The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits\n> If you are using [Client-Side Encryption](https://docs.adyen.com/classic-integration/cse-integration-ecommerce), the CVC code is present in the encrypted data. You must never post the card details to the server.\n> This field must be always present in a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments).\n> When this value is returned in a response, it is always empty because it is not stored.", - "maxLength" : 20, - "minLength" : 1, - "type" : "string" - }, - "expiryMonth" : { - "description" : "The card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "expiryYear" : { - "description" : "The card expiry year.\nFormat: 4 digits. For example: 2020", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - }, - "holderName" : { - "description" : "The name of the cardholder, as printed on the card.", - "maxLength" : 50, - "minLength" : 1, - "type" : "string" - }, - "issueNumber" : { - "description" : "The issue number of the card (for some UK debit cards only).", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "number" : { - "description" : "The card number (4-19 characters). Do not use any separators.\nWhen this value is returned in a response, only the last 4 digits of the card number are returned.", - "maxLength" : 19, - "minLength" : 4, - "type" : "string" - }, - "startMonth" : { - "description" : "The month component of the start date (for some UK debit cards only).", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "startYear" : { - "description" : "The year component of the start date (for some UK debit cards only).", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - } - }, - "required" : [ - "number", - "expiryMonth", - "expiryYear", - "holderName" - ] - }, - "Company" : { - "properties" : { - "homepage" : { - "description" : "The company website's home page.", - "type" : "string" - }, - "name" : { - "description" : "The company name.", - "type" : "string" - }, - "registrationNumber" : { - "description" : "Registration number of the company.", - "type" : "string" - }, - "registryLocation" : { - "description" : "Registry location of the company.", - "type" : "string" - }, - "taxId" : { - "description" : "Tax ID of the company.", - "type" : "string" - }, - "type" : { - "description" : "The company type.", - "type" : "string" - } - } - }, - "Configuration" : { - "properties" : { - "avs" : { - "description" : "Describes the configuration for AVS ([Address Verification System](https://en.wikipedia.org/wiki/Address_Verification_System)).", - "$ref" : "#/components/schemas/Avs" - }, - "cardHolderNameRequired" : { - "description" : "When set to true, the shopper has to provide the cardholder name for card payments.", - "type" : "boolean" - }, - "installments" : { - "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" - } - } - }, - "CreatePaymentLinkRequest" : { - "properties" : { - "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", - "items" : { - "type" : "string" - }, - "type" : "array" - }, - "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", - "$ref" : "#/components/schemas/Amount" - }, - "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", - "$ref" : "#/components/schemas/Address" - }, - "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", - "items" : { - "type" : "string" - }, - "type" : "array" - }, - "countryCode" : { - "description" : "The shopper's country code.", - "type" : "string" - }, - "deliveryAddress" : { - "description" : "The address where the purchased goods should be delivered.", - "$ref" : "#/components/schemas/Address" - }, - "description" : { - "description" : "A short description visible on the Pay By Link page.\nMaximum length: 280 characters.", - "type" : "string" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.", - "type" : "string" - }, - "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", - "type" : "string" - }, - "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", - "type" : "string" - }, - "returnUrl" : { - "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL.", - "type" : "string" - }, - "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", - "type" : "string" - }, - "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "reference", - "amount", - "countryCode" - ] - }, - "CreatePaymentLinkResponse" : { - "properties" : { - "amount" : { - "description" : "The amount for which the Pay By Link URL was created.", - "$ref" : "#/components/schemas/Amount" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.", - "type" : "string" - }, - "reference" : { - "description" : "The reference that was specified when the Pay By Link URL was created.", - "type" : "string" - }, - "url" : { - "description" : "The URL at which the shopper can complete the payment.", - "type" : "string" - } - }, - "required" : [ - "reference", - "expiresAt", - "url" - ] - }, - "DetailsRequest" : { - "properties" : { - "details" : { - "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", - "type" : "object" - }, - "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", - "type" : "string" - } - }, - "required" : [ - "details" - ] - }, - "ForexQuote" : { - "properties" : { - "account" : { - "description" : "The account name.", - "type" : "string" - }, - "accountType" : { - "description" : "The account type.", - "type" : "string" - }, - "baseAmount" : { - "description" : "The base amount.", - "$ref" : "#/components/schemas/Amount" - }, - "basePoints" : { - "description" : "The base points.", - "format" : "int32", - "type" : "integer" - }, - "buy" : { - "description" : "The buy rate.", - "$ref" : "#/components/schemas/Amount" - }, - "interbank" : { - "description" : "The interbank amount.", - "$ref" : "#/components/schemas/Amount" - }, - "reference" : { - "description" : "The reference assigned to the forex quote request.", - "type" : "string" - }, - "sell" : { - "description" : "The sell rate.", - "$ref" : "#/components/schemas/Amount" - }, - "signature" : { - "description" : "The signature to validate the integrity.", - "type" : "string" - }, - "source" : { - "description" : "The source of the forex quote.", - "type" : "string" - }, - "type" : { - "description" : "The type of forex.", - "type" : "string" - }, - "validTill" : { - "description" : "The date until which the forex quote is valid.", - "format" : "date-time", - "type" : "string" - } - }, - "required" : [ - "validTill", - "basePoints" - ] - }, - "FraudCheckResult" : { - "properties" : { - "accountScore" : { - "description" : "The fraud score generated by the risk check.", - "format" : "int32", - "type" : "integer" - }, - "checkId" : { - "description" : "The ID of the risk check.", - "format" : "int32", - "type" : "integer" - }, - "name" : { - "description" : "The name of the risk check.", - "type" : "string" - } - }, - "required" : [ - "checkId", - "name", - "accountScore" - ] - }, - "FraudResult" : { - "properties" : { - "accountScore" : { - "description" : "The total fraud score generated by the risk checks.", - "format" : "int32", - "type" : "integer" - }, - "results" : { - "description" : "The result of the individual risk checks.", - "items" : { - "$ref" : "#/components/schemas/FraudCheckResult" - }, - "type" : "array" - } - }, - "required" : [ - "accountScore" - ] - }, - "InputDetail" : { - "properties" : { - "configuration" : { - "description" : "Configuration parameters for the required input.", - "type" : "object" - }, - "details" : { - "description" : "Input details can also be provided recursively.", - "items" : { - "$ref" : "#/components/schemas/SubInputDetail" - }, - "type" : "array" - }, - "inputDetails" : { - "deprecated" : true, - "description" : "Input details can also be provided recursively (deprecated).", - "items" : { - "$ref" : "#/components/schemas/SubInputDetail" - }, - "type" : "array" - }, - "itemSearchUrl" : { - "description" : "In case of a select, the URL from which to query the items.", - "type" : "string" - }, - "items" : { - "description" : "In case of a select, the items to choose from.", - "items" : { - "$ref" : "#/components/schemas/Item" - }, - "type" : "array" - }, - "key" : { - "description" : "The value to provide in the result.", - "type" : "string" - }, - "optional" : { - "description" : "True if this input value is optional.", - "type" : "boolean" - }, - "type" : { - "description" : "The type of the required input.", - "type" : "string" - }, - "value" : { - "description" : "The value can be pre-filled, if available.", - "type" : "string" - } - } - }, - "Installments" : { - "properties" : { - "value" : { - "description" : "Defines the number of installments. Its value needs to be greater than zero.\n\nUsually, the maximum allowed number of installments is capped. For example, it may not be possible to split a payment in more than 24 installments. The acquirer sets this upper limit, so its value may vary.", - "format" : "int32", - "type" : "integer" - } - }, - "required" : [ - "value" - ] - }, - "Item" : { - "properties" : { - "id" : { - "description" : "The value to provide in the result.", - "type" : "string" - }, - "name" : { - "description" : "The display name.", - "type" : "string" - } - } - }, - "LineItem" : { - "properties" : { - "amountExcludingTax" : { - "description" : "Item amount excluding the tax, in minor units.", - "format" : "int64", - "type" : "integer" - }, - "amountIncludingTax" : { - "description" : "Item amount including the tax, in minor units.", - "format" : "int64", - "type" : "integer" - }, - "description" : { - "description" : "Description of the line item.", - "type" : "string" - }, - "id" : { - "description" : "ID of the line item.", - "type" : "string" - }, - "quantity" : { - "description" : "Number of items.", - "format" : "int64", - "type" : "integer" - }, - "taxAmount" : { - "description" : "Tax amount, in minor units.", - "format" : "int64", - "type" : "integer" - }, - "taxCategory" : { - "description" : "Required for AfterPay. Tax category: High, Low, None, Zero", - "enum" : [ - "High", - "Low", - "None", - "Zero" - ], - "type" : "string" - }, - "taxPercentage" : { - "description" : "Tax percentage, in minor units.", - "format" : "int64", - "type" : "integer" - } - } - }, - "Name" : { - "properties" : { - "firstName" : { - "description" : "The first name.", - "type" : "string" - }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, - "infix" : { - "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", - "type" : "string" - }, - "lastName" : { - "description" : "The last name.", - "type" : "string" - } - }, - "required" : [ - "firstName", - "lastName", - "gender" - ] - }, - "PaymentMethod" : { - "properties" : { - "configuration" : { - "description" : "The configuration of the payment method.", - "type" : "object" - }, - "details" : { - "description" : "All input details to be provided to complete the payment with this payment method.", - "items" : { - "$ref" : "#/components/schemas/InputDetail" - }, - "type" : "array" - }, - "group" : { - "description" : "The group where this payment method belongs to.", - "$ref" : "#/components/schemas/PaymentMethodGroup" - }, - "inputDetails" : { - "deprecated" : true, - "description" : "All input details to be provided to complete the payment with this payment method.", - "items" : { - "$ref" : "#/components/schemas/InputDetail" - }, - "type" : "array" - }, - "name" : { - "description" : "The displayable name of this payment method.", - "type" : "string" - }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, - "supportsRecurring" : { - "description" : "Indicates whether this payment method supports tokenization or not.", - "type" : "boolean" - }, - "type" : { - "description" : "The unique payment method code.", - "type" : "string" - } - } - }, - "PaymentMethodGroup" : { - "properties" : { - "name" : { - "description" : "The name of the group.", - "type" : "string" - }, - "paymentMethodData" : { - "description" : "Echo data to be used if the payment method is displayed as part of this group.", - "type" : "string" - }, - "type" : { - "description" : "The unique code of the group.", - "type" : "string" - } - } - }, - "PaymentMethodsGroup" : { - "properties" : { - "groupType" : { - "description" : "The type to submit for any payment method in this group.", - "type" : "string" - }, - "name" : { - "description" : "The human-readable name of this group.", - "type" : "string" - }, - "types" : { - "description" : "The types of payment methods that belong in this group.", - "items" : { - "type" : "string" - }, - "type" : "array" - } - } - }, - "PaymentMethodsRequest" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] - }, - "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", - "$ref" : "#/components/schemas/Amount" - }, - "channel" : { - "description" : "The platform where a payment transaction takes place. This field can be used for filtering out payment methods that are only available on specific platforms. Possible values:\n* iOS\n* Android\n* Web", - "enum" : [ - "iOS", - "Android", - "Web" - ], - "type" : "string" - }, - "countryCode" : { - "description" : "The shopper's country code.", - "type" : "string" - }, - "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", - "type" : "string" - }, - "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "reference" - ] - }, - "PaymentMethodsResponse" : { - "properties" : { - "groups" : { - "description" : "Groups of payment methods.", - "items" : { - "$ref" : "#/components/schemas/PaymentMethodsGroup" - }, - "type" : "array" - }, - "oneClickPaymentMethods" : { - "description" : "Detailed list of one-click payment methods.", - "items" : { - "$ref" : "#/components/schemas/RecurringDetail" - }, - "type" : "array" - }, - "paymentMethods" : { - "description" : "Detailed list of payment methods required to generate payment forms.", - "items" : { - "$ref" : "#/components/schemas/PaymentMethod" - }, - "type" : "array" - } - } - }, - "PaymentRequest" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] - }, - "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", - "$ref" : "#/components/schemas/Amount" - }, - "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", - "$ref" : "#/components/schemas/Address" - }, - "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", - "$ref" : "#/components/schemas/BrowserInfo" - }, - "captureDelayHours" : { - "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", - "format" : "int32", - "type" : "integer" - }, - "channel" : { - "description" : "The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the `sdkVersion` or `token`.\n\nPossible values:\n* iOS\n* Android\n* Web", - "enum" : [ - "iOS", - "Android", - "Web" - ], - "type" : "string" - }, - "company" : { - "description" : "Information regarding the company.", - "$ref" : "#/components/schemas/Company" - }, - "countryCode" : { - "description" : "The shopper country.\n\nFormat: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\nExample: NL or DE", - "type" : "string" - }, - "dateOfBirth" : { - "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", - "format" : "date-time", - "type" : "string" - }, - "dccQuote" : { - "description" : "The forex quote as returned in the response of the forex service.", - "$ref" : "#/components/schemas/ForexQuote" - }, - "deliveryAddress" : { - "description" : "The address where the purchased goods should be delivered.", - "$ref" : "#/components/schemas/Address" - }, - "deliveryDate" : { - "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", - "format" : "date-time", - "type" : "string" - }, - "deviceFingerprint" : { - "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", - "type" : "string" - }, - "enableOneClick" : { - "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", - "type" : "boolean" - }, - "enablePayOut" : { - "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", - "type" : "boolean" - }, - "enableRecurring" : { - "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", - "type" : "boolean" - }, - "entityType" : { - "description" : "The type of the entity the payment is processed for.", - "enum" : [ - "NaturalPerson", - "CompanyName" - ], - "type" : "string" - }, - "fraudOffset" : { - "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", - "format" : "int32", - "type" : "integer" - }, - "installments" : { - "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" - }, - "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, and RatePay.", - "items" : { - "$ref" : "#/components/schemas/LineItem" - }, - "type" : "array" - }, - "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.", - "type" : "string" - }, - "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", - "type" : "string" - }, - "merchantOrderReference" : { - "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", - "type" : "string" - }, - "metadata" : { - "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", - "type" : "object" - }, - "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", - "$ref" : "#/components/schemas/ThreeDSecureData" - }, - "orderReference" : { - "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", - "type" : "string" - }, - "paymentMethod" : { - "description" : "The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`).", - "type" : "object" - }, - "recurringExpiry" : { - "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", - "type" : "string" - }, - "recurringFrequency" : { - "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", - "type" : "string" - }, - "recurringProcessingModel" : { - "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", - "enum" : [ - "CardOnFile", - "Subscription", - "UnscheduledCardOnFile" - ], - "type" : "string" - }, - "redirectFromIssuerMethod" : { - "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", - "type" : "string" - }, - "redirectToIssuerMethod" : { - "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", - "type" : "string" - }, - "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", - "type" : "string" - }, - "returnUrl" : { - "description" : "The URL to return to.", - "type" : "string" - }, - "riskData" : { - "description" : "Contains risk data, such as client-side data, used to identify risk for a transaction.", - "$ref" : "#/components/schemas/RiskData" - }, - "sessionValidity" : { - "description" : "The maximum validity of the session.", - "type" : "string" - }, - "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", - "type" : "string" - }, - "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", - "enum" : [ - "Ecommerce", - "ContAuth", - "Moto", - "POS" - ], - "type" : "string" - }, - "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", - "type" : "string" - }, - "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", - "$ref" : "#/components/schemas/Name" - }, - "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", - "type" : "string" - }, - "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", - "type" : "string" - }, - "socialSecurityNumber" : { - "description" : "The shopper's social security number.", - "type" : "string" - }, - "telephoneNumber" : { - "description" : "The shopper's telephone number.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "reference", - "amount", - "returnUrl", - "paymentMethod" - ] - }, - "PaymentResponse" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] - }, - "details" : { - "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", - "items" : { - "$ref" : "#/components/schemas/InputDetail" - }, - "type" : "array" - }, - "fraudResult" : { - "description" : "The fraud result properties of the payment.", - "$ref" : "#/components/schemas/FraudResult" - }, - "outputDetails" : { - "description" : "Contains the details that will be presented to the shopper.", - "type" : "object" - }, - "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", - "type" : "string" - }, - "pspReference" : { - "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", - "type" : "string" - }, - "redirect" : { - "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", - "$ref" : "#/components/schemas/Redirect" - }, - "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", - "type" : "string" - }, - "resultCode" : { - "description" : "The result of the payment. Possible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", - "enum" : [ - "AuthenticationFinished", - "Authorised", - "Cancelled", - "ChallengeShopper", - "Error", - "IdentifyShopper", - "Pending", - "PresentToShopper", - "Received", - "RedirectShopper", - "Refused" - ], - "type" : "string" - } - } - }, - "PaymentSetupRequest" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] - }, - "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", - "$ref" : "#/components/schemas/Amount" - }, - "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", - "$ref" : "#/components/schemas/Address" - }, - "captureDelayHours" : { - "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", - "format" : "int32", - "type" : "integer" - }, - "channel" : { - "description" : "The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the `sdkVersion` or `token`.\n\nPossible values:\n* iOS\n* Android\n* Web", - "enum" : [ - "iOS", - "Android", - "Web" - ], - "type" : "string" - }, - "company" : { - "description" : "Information regarding the company.", - "$ref" : "#/components/schemas/Company" - }, - "configuration" : { - "description" : "Specify configurations to enable additional features.", - "$ref" : "#/components/schemas/Configuration" - }, - "countryCode" : { - "description" : "The shopper country.\n\nFormat: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\nExample: NL or DE", - "type" : "string" - }, - "dateOfBirth" : { - "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", - "format" : "date-time", - "type" : "string" - }, - "dccQuote" : { - "description" : "The forex quote as returned in the response of the forex service.", - "$ref" : "#/components/schemas/ForexQuote" - }, - "deliveryAddress" : { - "description" : "The address where the purchased goods should be delivered.", - "$ref" : "#/components/schemas/Address" - }, - "deliveryDate" : { - "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", - "format" : "date-time", - "type" : "string" - }, - "enableOneClick" : { - "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", - "type" : "boolean" - }, - "enablePayOut" : { - "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", - "type" : "boolean" - }, - "enableRecurring" : { - "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", - "type" : "boolean" - }, - "entityType" : { - "description" : "The type of the entity the payment is processed for.", - "enum" : [ - "NaturalPerson", - "CompanyName" - ], - "type" : "string" - }, - "fraudOffset" : { - "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", - "format" : "int32", - "type" : "integer" - }, - "installments" : { - "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" - }, - "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, and RatePay.", - "items" : { - "$ref" : "#/components/schemas/LineItem" - }, - "type" : "array" - }, - "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.", - "type" : "string" - }, - "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", - "type" : "string" - }, - "merchantOrderReference" : { - "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", - "type" : "string" - }, - "metadata" : { - "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", - "type" : "object" - }, - "orderReference" : { - "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", - "type" : "string" - }, - "origin" : { - "description" : "Required for the Web integration.\n\nSet this parameter to the origin URL of the page that you are loading the SDK from.", - "type" : "string" - }, - "recurringExpiry" : { - "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", - "type" : "string" - }, - "recurringFrequency" : { - "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", - "type" : "string" - }, - "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", - "type" : "string" - }, - "returnUrl" : { - "description" : "The URL to return to.", - "type" : "string" - }, - "riskData" : { - "description" : "Contains risk data, such as client-side data, used to identify risk for a transaction.", - "$ref" : "#/components/schemas/RiskData" - }, - "sdkVersion" : { - "description" : "The version of the SDK you are using (for Web SDK integrations only).", - "type" : "string" - }, - "sessionValidity" : { - "description" : "The maximum validity of the session.", - "type" : "string" - }, - "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", - "type" : "string" - }, - "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", - "enum" : [ - "Ecommerce", - "ContAuth", - "Moto", - "POS" - ], - "type" : "string" - }, - "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", - "type" : "string" - }, - "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", - "$ref" : "#/components/schemas/Name" - }, - "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", - "type" : "string" - }, - "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", - "type" : "string" - }, - "socialSecurityNumber" : { - "description" : "The shopper's social security number.", - "type" : "string" - }, - "telephoneNumber" : { - "description" : "The shopper's telephone number.", - "type" : "string" - }, - "token" : { - "description" : "The token obtained when initializing the SDK.\n\n> This parameter is required for iOS and Android; not required for Web.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "reference", - "amount", - "returnUrl", - "countryCode" - ] - }, - "PaymentSetupResponse" : { - "properties" : { - "paymentSession" : { - "description" : "The encoded payment session that you need to pass to the SDK.", - "type" : "string" - }, - "recurringDetails" : { - "deprecated" : true, - "description" : "The detailed list of stored payment details required to generate payment forms. Will be empty if oneClick is set to false in the request.", - "items" : { - "$ref" : "#/components/schemas/RecurringDetail" - }, - "type" : "array" - } - } - }, - "PaymentVerificationRequest" : { - "properties" : { - "payload" : { - "description" : "Encrypted and signed payment result data. You should receive this value from the Checkout SDK after the shopper completes the payment.", - "type" : "string" - } - }, - "required" : [ - "payload" - ] - }, - "PaymentVerificationResponse" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] - }, - "authResponse" : { - "description" : "The authorisation code representing the authentication result.\n\nPossible values:\n* Received\n* Authorised\n* Error\n* Refused\n* Cancelled\n* Unknown", - "type" : "string" - }, - "errorMessage" : { - "description" : "The error message.", - "type" : "string" - }, - "fraudResult" : { - "description" : "The fraud result properties of the payment.", - "$ref" : "#/components/schemas/FraudResult" - }, - "merchantReference" : { - "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", - "type" : "string" - }, - "paymentMethod" : { - "description" : "The payment method used in the transaction.", - "type" : "string" - }, - "pspReference" : { - "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", - "type" : "string" - }, - "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", - "type" : "string" - }, - "resultCode" : { - "description" : "The result of the payment. Possible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", - "enum" : [ - "AuthenticationFinished", - "Authorised", - "Cancelled", - "ChallengeShopper", - "Error", - "IdentifyShopper", - "Pending", - "PresentToShopper", - "Received", - "RedirectShopper", - "Refused" - ], - "type" : "string" - }, - "serviceError" : { - "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" - }, - "shopperLocale" : { - "description" : "The shopperLocale value provided in the payment request.", - "type" : "string" - } - }, - "required" : [ - "authResponse", - "merchantReference", - "paymentMethod", - "shopperLocale" - ] - }, - "Recurring" : { - "properties" : { - "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", - "enum" : [ - "ONECLICK", - "RECURRING", - "PAYOUT" - ], - "type" : "string" - }, - "recurringDetailName" : { - "description" : "A descriptive name for this detail.", - "type" : "string" - }, - "tokenService" : { - "description" : "The name of the token service.", - "enum" : [ - "VISATOKENSERVICE", - "MCTOKENSERVICE" - ], - "type" : "string" - } - } - }, - "RecurringDetail" : { - "properties" : { - "configuration" : { - "description" : "The configuration of the payment method.", - "type" : "object" - }, - "details" : { - "description" : "All input details to be provided to complete the payment with this payment method.", - "items" : { - "$ref" : "#/components/schemas/InputDetail" - }, - "type" : "array" - }, - "group" : { - "description" : "The group where this payment method belongs to.", - "$ref" : "#/components/schemas/PaymentMethodGroup" - }, - "inputDetails" : { - "deprecated" : true, - "description" : "All input details to be provided to complete the payment with this payment method.", - "items" : { - "$ref" : "#/components/schemas/InputDetail" - }, - "type" : "array" - }, - "name" : { - "description" : "The displayable name of this payment method.", - "type" : "string" - }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, - "recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring detail.", - "type" : "string" - }, - "storedDetails" : { - "description" : "Contains information on previously stored payment details.", - "$ref" : "#/components/schemas/StoredDetails" - }, - "supportsRecurring" : { - "description" : "Indicates whether this payment method supports tokenization or not.", - "type" : "boolean" - }, - "type" : { - "description" : "The unique payment method code.", - "type" : "string" - } - } - }, - "Redirect" : { - "properties" : { - "data" : { - "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", - "type" : "object" - }, - "method" : { - "description" : "The web method that you must use to access the redirect URL.\n\nPossible values: GET, POST.", - "enum" : [ - "GET", - "POST" - ], - "type" : "string" - }, - "url" : { - "description" : "The URL, to which you must redirect a shopper to complete a payment.", - "type" : "string" - } - } - }, - "RiskData" : { - "properties" : { - "clientData" : { - "description" : "Contains client-side data, like the device fingerprint, cookies, and specific browser settings.", - "type" : "string" - } - } - }, - "ServiceError" : { - "properties" : { - "errorCode" : { - "type" : "string" - }, - "errorType" : { - "type" : "string" - }, - "message" : { - "type" : "string" - } - } - }, - "StoredDetails" : { - "properties" : { - "bank" : { - "description" : "The stored bank account.", - "$ref" : "#/components/schemas/BankAccount" - }, - "card" : { - "description" : "The stored card information.", - "$ref" : "#/components/schemas/Card" - }, - "emailAddress" : { - "description" : "The email associated with stored payment details.", - "type" : "string" - } - } - }, - "SubInputDetail" : { - "properties" : { - "configuration" : { - "description" : "Configuration parameters for the required input.", - "type" : "object" - }, - "items" : { - "description" : "In case of a select, the items to choose from.", - "items" : { - "$ref" : "#/components/schemas/Item" - }, - "type" : "array" - }, - "key" : { - "description" : "The value to provide in the result.", - "type" : "string" - }, - "optional" : { - "description" : "True if this input is optional to provide.", - "type" : "boolean" - }, - "type" : { - "description" : "The type of the required input.", - "type" : "string" - }, - "value" : { - "description" : "The value can be pre-filled, if available.", - "type" : "string" - } - } - }, - "ThreeDSecureData" : { - "properties" : { - "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", - "enum" : [ - "Y", - "N", - "U", - "A" - ], - "type" : "string" - }, - "cavv" : { - "description" : "The cardholder authentication value (base64 encoded, 20 bytes in a decoded form).", - "format" : "byte", - "type" : "string" - }, - "cavvAlgorithm" : { - "description" : "The CAVV algorithm used. Include this only for 3D Secure 1.", - "type" : "string" - }, - "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", - "enum" : [ - "A", - "C", - "D", - "I", - "N", - "R", - "U", - "Y" - ], - "type" : "string" - }, - "eci" : { - "description" : "The electronic commerce indicator.", - "type" : "string" - }, - "xid" : { - "description" : "Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).", - "format" : "byte", - "type" : "string" - } - } - } - } - } -} diff --git a/json/CheckoutService-v33.json b/json/CheckoutService-v33.json deleted file mode 100644 index 115f70d..0000000 --- a/json/CheckoutService-v33.json +++ /dev/null @@ -1,2964 +0,0 @@ -{ - "openapi" : "3.0.0", - "servers" : [ - { - "url" : "https://checkout-test.adyen.com/v33" - } - ], - "info" : { - "version" : "33", - "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v33/payments\n```", - "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", - "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" - } - }, - "x-groups" : [ - "API Integration", - "SDK Integration" - ], - "paths" : { - "/paymentLinks" : { - "post" : { - "summary" : "Creates a payment link.", - "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", - "x-groupName" : "API Integration", - "x-sortIndex" : 8, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/paymentMethods" : { - "post" : { - "summary" : "Returns available payment methods.", - "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", - "x-groupName" : "API Integration", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentMethodsRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentMethodsResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/paymentSession" : { - "post" : { - "summary" : "Creates a payment session.", - "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", - "x-sortIndex" : 1, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentSetupRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentSetupResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/payments" : { - "post" : { - "summary" : "Starts a transaction.", - "description" : "Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`).\n* For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", - "x-groupName" : "API Integration", - "x-sortIndex" : 2, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/payments/details" : { - "post" : { - "summary" : "Submits details for a payment.", - "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", - "x-groupName" : "API Integration", - "x-sortIndex" : 3, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/DetailsRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - }, - "/payments/result" : { - "post" : { - "summary" : "Verifies payment result.", - "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", - "x-sortIndex" : 2, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentVerificationRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/PaymentVerificationResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - } - }, - "components" : { - "schemas" : { - "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" - } - } - }, - "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" - } - }, - "required" : [ - "airline.passenger_name" - ] - }, - "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" - } - } - }, - "ResponseAdditionalDataCommon" : { - "properties" : { - "acquirerAccountCode" : { - "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n> Only relevant for PayPal transactions.", - "type" : "string" - }, - "acquirerCode" : { - "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", - "type" : "string" - }, - "acquirerReference" : { - "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", - "type" : "string" - }, - "alias" : { - "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", - "type" : "string" - }, - "aliasType" : { - "description" : "The type of the card alias.\n\nExample: Default", - "type" : "string" - }, - "authCode" : { - "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", - "type" : "string" - }, - "authorisedAmountCurrency" : { - "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "authorisedAmountValue" : { - "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "avsResult" : { - "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", - "type" : "string" - }, - "avsResultRaw" : { - "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", - "type" : "string" - }, - "bic" : { - "description" : "BIC of a bank account.\n\nExample: TESTNL01\n> Only relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "dsTransID" : { - "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", - "type" : "string" - }, - "eci" : { - "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", - "type" : "string" - }, - "expiryDate" : { - "description" : "The expiry date on the card.\n\nExample: 6/2016\n> Returned only in case of a card payment.", - "type" : "string" - }, - "extraCostsCurrency" : { - "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", - "type" : "string" - }, - "extraCostsValue" : { - "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", - "type" : "string" - }, - "fraudCheck-[itemNr]-[FraudCheckname]" : { - "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", - "type" : "string" - }, - "fundingSource" : { - "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", - "type" : "string" - }, - "fundsAvailability" : { - "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", - "type" : "string" - }, - "inferredRefusalReason" : { - "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n* Low Authrate Bin\n* Non-reloadable prepaid card", - "type" : "string" - }, - "issuerCountry" : { - "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", - "type" : "string" - }, - "mcBankNetReferenceNumber" : { - "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "networkTxReference" : { - "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", - "type" : "string" - }, - "ownerName" : { - "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "paymentAccountReference" : { - "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", - "type" : "string" - }, - "paymentMethodVariant" : { - "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", - "type" : "string" - }, - "payoutEligible" : { - "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", - "type" : "string" - }, - "realtimeAccountUpdaterStatus" : { - "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n* ContactCardAccountHolder", - "type" : "string" - }, - "receiptFreeText" : { - "description" : "Message to be displayed on the terminal.", - "type" : "string" - }, - "recurring.firstPspReference" : { - "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", - "type" : "string" - }, - "recurring.recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring transaction.", - "type" : "string" - }, - "referred" : { - "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", - "type" : "string" - }, - "refusalReasonRaw" : { - "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", - "type" : "string" - }, - "terminalId" : { - "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", - "type" : "string" - }, - "threeDAuthenticated" : { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", - "type" : "string" - }, - "threeDAuthenticatedResponse" : { - "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", - "type" : "string" - }, - "threeDOffered" : { - "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", - "type" : "string" - }, - "threeDOfferedResponse" : { - "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", - "type" : "string" - }, - "threeDSVersion" : { - "description" : "The 3D Secure 2 version.", - "type" : "string" - }, - "visaTransactionId" : { - "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "xid" : { - "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", - "type" : "string" - } - } - }, - "ResponseAdditionalDataBillingAddress" : { - "properties" : { - "billingAddress.city" : { - "description" : "The billing address city passed in the payment request.", - "type" : "string" - }, - "billingAddress.country" : { - "description" : "The billing address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "billingAddress.houseNumberOrName" : { - "description" : "The billing address house number or name passed in the payment request.", - "type" : "string" - }, - "billingAddress.postalCode" : { - "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "billingAddress.stateOrProvince" : { - "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "billingAddress.street" : { - "description" : "The billing address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataCard" : { - "properties" : { - "cardBin" : { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", - "type" : "string" - }, - "cardHolderName" : { - "description" : "The cardholder name passed in the payment request.", - "type" : "string" - }, - "cardIssuingBank" : { - "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", - "type" : "string" - }, - "cardIssuingCountry" : { - "description" : "The country where the card was issued.\n\nExample: US", - "type" : "string" - }, - "cardIssuingCurrency" : { - "description" : "The currency in which the card is issued, if this information is available.\n\nExample: USD", - "type" : "string" - }, - "cardPaymentMethod" : { - "description" : "The card payment method used for the transaction.\n\nExample: amex", - "type" : "string" - }, - "cardSummary" : { - "description" : "The last four digits of a card number.\n> Returned only in case of a card payment.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataDeliveryAddress" : { - "properties" : { - "deliveryAddress.city" : { - "description" : "The delivery address city passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.country" : { - "description" : "The delivery address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "deliveryAddress.houseNumberOrName" : { - "description" : "The delivery address house number or name passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.postalCode" : { - "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "deliveryAddress.stateOrProvince" : { - "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "deliveryAddress.street" : { - "description" : "The delivery address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataInstallments" : { - "properties" : { - "installments.value" : { - "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", - "type" : "string" - }, - "installmentPaymentData.installmentType" : { - "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", - "type" : "string" - }, - "installmentPaymentData.paymentOptions" : { - "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].numberOfInstallments" : { - "description" : "Total number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].interestRate" : { - "description" : "Interest rate for the installment period.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].installmentFee" : { - "description" : "Installment fee amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].annualPercentageRate" : { - "description" : "Annual interest rate.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { - "description" : "First Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { - "description" : "Subsequent Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { - "description" : "Minimum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { - "description" : "Maximum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].totalAmountDue" : { - "description" : "Total amount in minor units.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataPayPal" : { - "properties" : { - "paypalPayerStatus" : { - "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", - "type" : "string" - }, - "paypalPayerResidenceCountry" : { - "description" : "The buyer's country of residence.\n\nExample: NL", - "type" : "string" - }, - "paypalPayerId" : { - "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", - "type" : "string" - }, - "paypalEmail" : { - "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", - "type" : "string" - }, - "paypalProtectionEligibility" : { - "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", - "type" : "string" - } - } - }, - "ResponseAdditionalDataSepa" : { - "properties" : { - "sepadirectdebit.dateOfSignature" : { - "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", - "type" : "string" - }, - "sepadirectdebit.mandateId" : { - "description" : "Its value corresponds to the pspReference value of the transaction.", - "type" : "string" - }, - "sepadirectdebit.sequenceType" : { - "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", - "type" : "string" - } - } - }, - "Address" : { - "properties" : { - "city" : { - "description" : "The name of the city.", - "type" : "string" - }, - "country" : { - "description" : "The two-character country code as defined in ISO-3166-1 alpha-2. For example, **US**.\n> If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.", - "type" : "string" - }, - "houseNumberOrName" : { - "description" : "The number or name of the house.", - "type" : "string" - }, - "postalCode" : { - "description" : "A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.", - "type" : "string" - }, - "stateOrProvince" : { - "description" : "State or province codes as defined in ISO 3166-2. For example, **CA** in the US or **ON** in Canada.\n> Required for the US and Canada.", - "type" : "string" - }, - "street" : { - "description" : "The name of the street.\n> The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.", - "type" : "string" - } - }, - "required" : [ - "street", - "houseNumberOrName", - "city", - "postalCode", - "country" - ] - }, - "Amount" : { - "properties" : { - "currency" : { - "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "maxLength" : 3, - "minLength" : 3, - "type" : "string" - }, - "value" : { - "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "format" : "int64", - "type" : "integer" - } - }, - "required" : [ - "value", - "currency" - ] - }, - "Avs" : { - "properties" : { - "addressEditable" : { - "description" : "Indicates whether the shopper is allowed to modify the billing address for the current payment request.", - "type" : "boolean" - }, - "enabled" : { - "description" : "Specifies whether the shopper should enter their billing address during checkout.\n\nAllowed values:\n* yes — Perform AVS checks for every card payment.\n* automatic — Perform AVS checks only when required to optimize the conversion rate.\n* no — Do not perform AVS checks.", - "enum" : [ - "yes", - "no", - "automatic" - ], - "type" : "string" - } - } - }, - "BankAccount" : { - "properties" : { - "bankAccountNumber" : { - "description" : "The bank account number (without separators).", - "type" : "string" - }, - "bankCity" : { - "description" : "The bank city.", - "type" : "string" - }, - "bankLocationId" : { - "description" : "The location id of the bank. The field value is `nil` in most cases.", - "type" : "string" - }, - "bankName" : { - "description" : "The name of the bank.", - "type" : "string" - }, - "bic" : { - "description" : "The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases.", - "type" : "string" - }, - "countryCode" : { - "description" : "Country code where the bank is located.\n\nA valid value is an ISO two-character country code (e.g. 'NL').", - "type" : "string" - }, - "iban" : { - "description" : "The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN).", - "type" : "string" - }, - "ownerName" : { - "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", - "type" : "string" - }, - "taxId" : { - "description" : "The bank account holder's tax ID.", - "type" : "string" - } - } - }, - "BrowserInfo" : { - "properties" : { - "acceptHeader" : { - "description" : "The accept header value of the shopper's browser.", - "maxLength" : 50, - "minLength" : 10, - "type" : "string" - }, - "userAgent" : { - "description" : "The user agent value of the shopper's browser.", - "maxLength" : 50, - "minLength" : 10, - "type" : "string" - } - }, - "required" : [ - "userAgent", - "acceptHeader" - ] - }, - "Card" : { - "properties" : { - "cvc" : { - "description" : "The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits\n> If you are using [Client-Side Encryption](https://docs.adyen.com/classic-integration/cse-integration-ecommerce), the CVC code is present in the encrypted data. You must never post the card details to the server.\n> This field must be always present in a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments).\n> When this value is returned in a response, it is always empty because it is not stored.", - "maxLength" : 20, - "minLength" : 1, - "type" : "string" - }, - "expiryMonth" : { - "description" : "The card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "expiryYear" : { - "description" : "The card expiry year.\nFormat: 4 digits. For example: 2020", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - }, - "holderName" : { - "description" : "The name of the cardholder, as printed on the card.", - "maxLength" : 50, - "minLength" : 1, - "type" : "string" - }, - "issueNumber" : { - "description" : "The issue number of the card (for some UK debit cards only).", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "number" : { - "description" : "The card number (4-19 characters). Do not use any separators.\nWhen this value is returned in a response, only the last 4 digits of the card number are returned.", - "maxLength" : 19, - "minLength" : 4, - "type" : "string" - }, - "startMonth" : { - "description" : "The month component of the start date (for some UK debit cards only).", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "startYear" : { - "description" : "The year component of the start date (for some UK debit cards only).", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - } - }, - "required" : [ - "number", - "expiryMonth", - "expiryYear", - "holderName" - ] - }, - "Company" : { - "properties" : { - "homepage" : { - "description" : "The company website's home page.", - "type" : "string" - }, - "name" : { - "description" : "The company name.", - "type" : "string" - }, - "registrationNumber" : { - "description" : "Registration number of the company.", - "type" : "string" - }, - "registryLocation" : { - "description" : "Registry location of the company.", - "type" : "string" - }, - "taxId" : { - "description" : "Tax ID of the company.", - "type" : "string" - }, - "type" : { - "description" : "The company type.", - "type" : "string" - } - } - }, - "Configuration" : { - "properties" : { - "avs" : { - "description" : "Describes the configuration for AVS ([Address Verification System](https://en.wikipedia.org/wiki/Address_Verification_System)).", - "$ref" : "#/components/schemas/Avs" - }, - "cardHolderNameRequired" : { - "description" : "When set to true, the shopper has to provide the cardholder name for card payments.", - "type" : "boolean" - }, - "installments" : { - "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" - } - } - }, - "CreatePaymentLinkRequest" : { - "properties" : { - "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", - "items" : { - "type" : "string" - }, - "type" : "array" - }, - "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", - "$ref" : "#/components/schemas/Amount" - }, - "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", - "$ref" : "#/components/schemas/Address" - }, - "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", - "items" : { - "type" : "string" - }, - "type" : "array" - }, - "countryCode" : { - "description" : "The shopper's country code.", - "type" : "string" - }, - "deliveryAddress" : { - "description" : "The address where the purchased goods should be delivered.", - "$ref" : "#/components/schemas/Address" - }, - "description" : { - "description" : "A short description visible on the Pay By Link page.\nMaximum length: 280 characters.", - "type" : "string" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.", - "type" : "string" - }, - "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", - "type" : "string" - }, - "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", - "type" : "string" - }, - "returnUrl" : { - "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL.", - "type" : "string" - }, - "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", - "type" : "string" - }, - "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "reference", - "amount", - "countryCode" - ] - }, - "CreatePaymentLinkResponse" : { - "properties" : { - "amount" : { - "description" : "The amount for which the Pay By Link URL was created.", - "$ref" : "#/components/schemas/Amount" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.", - "type" : "string" - }, - "reference" : { - "description" : "The reference that was specified when the Pay By Link URL was created.", - "type" : "string" - }, - "url" : { - "description" : "The URL at which the shopper can complete the payment.", - "type" : "string" - } - }, - "required" : [ - "reference", - "expiresAt", - "url" - ] - }, - "DetailsRequest" : { - "properties" : { - "details" : { - "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", - "type" : "object" - }, - "paymentData" : { - "description" : "The `paymentData` value that you received in the response to the `/payments` call.", - "type" : "string" - } - }, - "required" : [ - "details" - ] - }, - "ForexQuote" : { - "properties" : { - "account" : { - "description" : "The account name.", - "type" : "string" - }, - "accountType" : { - "description" : "The account type.", - "type" : "string" - }, - "baseAmount" : { - "description" : "The base amount.", - "$ref" : "#/components/schemas/Amount" - }, - "basePoints" : { - "description" : "The base points.", - "format" : "int32", - "type" : "integer" - }, - "buy" : { - "description" : "The buy rate.", - "$ref" : "#/components/schemas/Amount" - }, - "interbank" : { - "description" : "The interbank amount.", - "$ref" : "#/components/schemas/Amount" - }, - "reference" : { - "description" : "The reference assigned to the forex quote request.", - "type" : "string" - }, - "sell" : { - "description" : "The sell rate.", - "$ref" : "#/components/schemas/Amount" - }, - "signature" : { - "description" : "The signature to validate the integrity.", - "type" : "string" - }, - "source" : { - "description" : "The source of the forex quote.", - "type" : "string" - }, - "type" : { - "description" : "The type of forex.", - "type" : "string" - }, - "validTill" : { - "description" : "The date until which the forex quote is valid.", - "format" : "date-time", - "type" : "string" - } - }, - "required" : [ - "validTill", - "basePoints" - ] - }, - "FraudCheckResult" : { - "properties" : { - "accountScore" : { - "description" : "The fraud score generated by the risk check.", - "format" : "int32", - "type" : "integer" - }, - "checkId" : { - "description" : "The ID of the risk check.", - "format" : "int32", - "type" : "integer" - }, - "name" : { - "description" : "The name of the risk check.", - "type" : "string" - } - }, - "required" : [ - "checkId", - "name", - "accountScore" - ] - }, - "FraudResult" : { - "properties" : { - "accountScore" : { - "description" : "The total fraud score generated by the risk checks.", - "format" : "int32", - "type" : "integer" - }, - "results" : { - "description" : "The result of the individual risk checks.", - "items" : { - "$ref" : "#/components/schemas/FraudCheckResult" - }, - "type" : "array" - } - }, - "required" : [ - "accountScore" - ] - }, - "InputDetail" : { - "properties" : { - "configuration" : { - "description" : "Configuration parameters for the required input.", - "type" : "object" - }, - "details" : { - "description" : "Input details can also be provided recursively.", - "items" : { - "$ref" : "#/components/schemas/SubInputDetail" - }, - "type" : "array" - }, - "inputDetails" : { - "deprecated" : true, - "description" : "Input details can also be provided recursively (deprecated).", - "items" : { - "$ref" : "#/components/schemas/SubInputDetail" - }, - "type" : "array" - }, - "itemSearchUrl" : { - "description" : "In case of a select, the URL from which to query the items.", - "type" : "string" - }, - "items" : { - "description" : "In case of a select, the items to choose from.", - "items" : { - "$ref" : "#/components/schemas/Item" - }, - "type" : "array" - }, - "key" : { - "description" : "The value to provide in the result.", - "type" : "string" - }, - "optional" : { - "description" : "True if this input value is optional.", - "type" : "boolean" - }, - "type" : { - "description" : "The type of the required input.", - "type" : "string" - }, - "value" : { - "description" : "The value can be pre-filled, if available.", - "type" : "string" - } - } - }, - "Installments" : { - "properties" : { - "value" : { - "description" : "Defines the number of installments. Its value needs to be greater than zero.\n\nUsually, the maximum allowed number of installments is capped. For example, it may not be possible to split a payment in more than 24 installments. The acquirer sets this upper limit, so its value may vary.", - "format" : "int32", - "type" : "integer" - } - }, - "required" : [ - "value" - ] - }, - "Item" : { - "properties" : { - "id" : { - "description" : "The value to provide in the result.", - "type" : "string" - }, - "name" : { - "description" : "The display name.", - "type" : "string" - } - } - }, - "LineItem" : { - "properties" : { - "amountExcludingTax" : { - "description" : "Item amount excluding the tax, in minor units.", - "format" : "int64", - "type" : "integer" - }, - "amountIncludingTax" : { - "description" : "Item amount including the tax, in minor units.", - "format" : "int64", - "type" : "integer" - }, - "description" : { - "description" : "Description of the line item.", - "type" : "string" - }, - "id" : { - "description" : "ID of the line item.", - "type" : "string" - }, - "quantity" : { - "description" : "Number of items.", - "format" : "int64", - "type" : "integer" - }, - "taxAmount" : { - "description" : "Tax amount, in minor units.", - "format" : "int64", - "type" : "integer" - }, - "taxCategory" : { - "description" : "Required for AfterPay. Tax category: High, Low, None, Zero", - "enum" : [ - "High", - "Low", - "None", - "Zero" - ], - "type" : "string" - }, - "taxPercentage" : { - "description" : "Tax percentage, in minor units.", - "format" : "int64", - "type" : "integer" - } - } - }, - "Name" : { - "properties" : { - "firstName" : { - "description" : "The first name.", - "type" : "string" - }, - "gender" : { - "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", - "enum" : [ - "MALE", - "FEMALE", - "UNKNOWN" - ], - "maxLength" : 1, - "minLength" : 1, - "type" : "string" - }, - "infix" : { - "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", - "type" : "string" - }, - "lastName" : { - "description" : "The last name.", - "type" : "string" - } - }, - "required" : [ - "firstName", - "lastName", - "gender" - ] - }, - "PaymentMethod" : { - "properties" : { - "configuration" : { - "description" : "The configuration of the payment method.", - "type" : "object" - }, - "details" : { - "description" : "All input details to be provided to complete the payment with this payment method.", - "items" : { - "$ref" : "#/components/schemas/InputDetail" - }, - "type" : "array" - }, - "group" : { - "description" : "The group where this payment method belongs to.", - "$ref" : "#/components/schemas/PaymentMethodGroup" - }, - "inputDetails" : { - "deprecated" : true, - "description" : "All input details to be provided to complete the payment with this payment method.", - "items" : { - "$ref" : "#/components/schemas/InputDetail" - }, - "type" : "array" - }, - "name" : { - "description" : "The displayable name of this payment method.", - "type" : "string" - }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, - "supportsRecurring" : { - "description" : "Indicates whether this payment method supports tokenization or not.", - "type" : "boolean" - }, - "type" : { - "description" : "The unique payment method code.", - "type" : "string" - } - } - }, - "PaymentMethodGroup" : { - "properties" : { - "name" : { - "description" : "The name of the group.", - "type" : "string" - }, - "paymentMethodData" : { - "description" : "Echo data to be used if the payment method is displayed as part of this group.", - "type" : "string" - }, - "type" : { - "description" : "The unique code of the group.", - "type" : "string" - } - } - }, - "PaymentMethodsGroup" : { - "properties" : { - "groupType" : { - "description" : "The type to submit for any payment method in this group.", - "type" : "string" - }, - "name" : { - "description" : "The human-readable name of this group.", - "type" : "string" - }, - "types" : { - "description" : "The types of payment methods that belong in this group.", - "items" : { - "type" : "string" - }, - "type" : "array" - } - } - }, - "PaymentMethodsRequest" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] - }, - "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", - "items" : { - "type" : "string" - }, - "type" : "array" - }, - "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", - "$ref" : "#/components/schemas/Amount" - }, - "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", - "items" : { - "type" : "string" - }, - "type" : "array" - }, - "channel" : { - "description" : "The platform where a payment transaction takes place. This field can be used for filtering out payment methods that are only available on specific platforms. Possible values:\n* iOS\n* Android\n* Web", - "enum" : [ - "iOS", - "Android", - "Web" - ], - "type" : "string" - }, - "countryCode" : { - "description" : "The shopper's country code.", - "type" : "string" - }, - "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", - "type" : "string" - }, - "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "reference" - ] - }, - "PaymentMethodsResponse" : { - "properties" : { - "groups" : { - "description" : "Groups of payment methods.", - "items" : { - "$ref" : "#/components/schemas/PaymentMethodsGroup" - }, - "type" : "array" - }, - "oneClickPaymentMethods" : { - "description" : "Detailed list of one-click payment methods.", - "items" : { - "$ref" : "#/components/schemas/RecurringDetail" - }, - "type" : "array" - }, - "paymentMethods" : { - "description" : "Detailed list of payment methods required to generate payment forms.", - "items" : { - "$ref" : "#/components/schemas/PaymentMethod" - }, - "type" : "array" - } - } - }, - "PaymentRequest" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] - }, - "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", - "$ref" : "#/components/schemas/Amount" - }, - "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", - "$ref" : "#/components/schemas/Address" - }, - "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", - "$ref" : "#/components/schemas/BrowserInfo" - }, - "captureDelayHours" : { - "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", - "format" : "int32", - "type" : "integer" - }, - "channel" : { - "description" : "The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the `sdkVersion` or `token`.\n\nPossible values:\n* iOS\n* Android\n* Web", - "enum" : [ - "iOS", - "Android", - "Web" - ], - "type" : "string" - }, - "company" : { - "description" : "Information regarding the company.", - "$ref" : "#/components/schemas/Company" - }, - "countryCode" : { - "description" : "The shopper country.\n\nFormat: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\nExample: NL or DE", - "type" : "string" - }, - "dateOfBirth" : { - "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", - "format" : "date-time", - "type" : "string" - }, - "dccQuote" : { - "description" : "The forex quote as returned in the response of the forex service.", - "$ref" : "#/components/schemas/ForexQuote" - }, - "deliveryAddress" : { - "description" : "The address where the purchased goods should be delivered.", - "$ref" : "#/components/schemas/Address" - }, - "deliveryDate" : { - "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", - "format" : "date-time", - "type" : "string" - }, - "deviceFingerprint" : { - "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", - "type" : "string" - }, - "enableOneClick" : { - "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", - "type" : "boolean" - }, - "enablePayOut" : { - "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", - "type" : "boolean" - }, - "enableRecurring" : { - "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", - "type" : "boolean" - }, - "entityType" : { - "description" : "The type of the entity the payment is processed for.", - "enum" : [ - "NaturalPerson", - "CompanyName" - ], - "type" : "string" - }, - "fraudOffset" : { - "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", - "format" : "int32", - "type" : "integer" - }, - "installments" : { - "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" - }, - "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, and RatePay.", - "items" : { - "$ref" : "#/components/schemas/LineItem" - }, - "type" : "array" - }, - "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.", - "type" : "string" - }, - "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", - "type" : "string" - }, - "merchantOrderReference" : { - "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", - "type" : "string" - }, - "metadata" : { - "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", - "type" : "object" - }, - "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", - "$ref" : "#/components/schemas/ThreeDSecureData" - }, - "orderReference" : { - "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", - "type" : "string" - }, - "paymentMethod" : { - "description" : "The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`).", - "type" : "object" - }, - "recurringExpiry" : { - "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", - "type" : "string" - }, - "recurringFrequency" : { - "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", - "type" : "string" - }, - "recurringProcessingModel" : { - "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", - "enum" : [ - "CardOnFile", - "Subscription", - "UnscheduledCardOnFile" - ], - "type" : "string" - }, - "redirectFromIssuerMethod" : { - "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", - "type" : "string" - }, - "redirectToIssuerMethod" : { - "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", - "type" : "string" - }, - "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", - "type" : "string" - }, - "returnUrl" : { - "description" : "The URL to return to.", - "type" : "string" - }, - "riskData" : { - "description" : "Contains risk data, such as client-side data, used to identify risk for a transaction.", - "$ref" : "#/components/schemas/RiskData" - }, - "sessionValidity" : { - "description" : "The maximum validity of the session.", - "type" : "string" - }, - "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", - "type" : "string" - }, - "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", - "enum" : [ - "Ecommerce", - "ContAuth", - "Moto", - "POS" - ], - "type" : "string" - }, - "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", - "type" : "string" - }, - "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", - "$ref" : "#/components/schemas/Name" - }, - "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", - "type" : "string" - }, - "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", - "type" : "string" - }, - "socialSecurityNumber" : { - "description" : "The shopper's social security number.", - "type" : "string" - }, - "telephoneNumber" : { - "description" : "The shopper's telephone number.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "reference", - "amount", - "returnUrl", - "paymentMethod" - ] - }, - "PaymentResponse" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] - }, - "details" : { - "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", - "items" : { - "$ref" : "#/components/schemas/InputDetail" - }, - "type" : "array" - }, - "fraudResult" : { - "description" : "The fraud result properties of the payment.", - "$ref" : "#/components/schemas/FraudResult" - }, - "outputDetails" : { - "description" : "Contains the details that will be presented to the shopper.", - "type" : "object" - }, - "paymentData" : { - "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", - "type" : "string" - }, - "pspReference" : { - "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", - "type" : "string" - }, - "redirect" : { - "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", - "$ref" : "#/components/schemas/Redirect" - }, - "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", - "type" : "string" - }, - "resultCode" : { - "description" : "The result of the payment. Possible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", - "enum" : [ - "AuthenticationFinished", - "Authorised", - "Cancelled", - "ChallengeShopper", - "Error", - "IdentifyShopper", - "Pending", - "PresentToShopper", - "Received", - "RedirectShopper", - "Refused" - ], - "type" : "string" - } - } - }, - "PaymentSetupRequest" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] - }, - "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", - "items" : { - "type" : "string" - }, - "type" : "array" - }, - "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", - "$ref" : "#/components/schemas/Amount" - }, - "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", - "$ref" : "#/components/schemas/Address" - }, - "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", - "items" : { - "type" : "string" - }, - "type" : "array" - }, - "captureDelayHours" : { - "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", - "format" : "int32", - "type" : "integer" - }, - "channel" : { - "description" : "The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the `sdkVersion` or `token`.\n\nPossible values:\n* iOS\n* Android\n* Web", - "enum" : [ - "iOS", - "Android", - "Web" - ], - "type" : "string" - }, - "company" : { - "description" : "Information regarding the company.", - "$ref" : "#/components/schemas/Company" - }, - "configuration" : { - "description" : "Specify configurations to enable additional features.", - "$ref" : "#/components/schemas/Configuration" - }, - "countryCode" : { - "description" : "The shopper country.\n\nFormat: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\nExample: NL or DE", - "type" : "string" - }, - "dateOfBirth" : { - "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", - "format" : "date-time", - "type" : "string" - }, - "dccQuote" : { - "description" : "The forex quote as returned in the response of the forex service.", - "$ref" : "#/components/schemas/ForexQuote" - }, - "deliveryAddress" : { - "description" : "The address where the purchased goods should be delivered.", - "$ref" : "#/components/schemas/Address" - }, - "deliveryDate" : { - "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", - "format" : "date-time", - "type" : "string" - }, - "enableOneClick" : { - "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", - "type" : "boolean" - }, - "enablePayOut" : { - "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", - "type" : "boolean" - }, - "enableRecurring" : { - "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", - "type" : "boolean" - }, - "entityType" : { - "description" : "The type of the entity the payment is processed for.", - "enum" : [ - "NaturalPerson", - "CompanyName" - ], - "type" : "string" - }, - "fraudOffset" : { - "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", - "format" : "int32", - "type" : "integer" - }, - "installments" : { - "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", - "$ref" : "#/components/schemas/Installments" - }, - "lineItems" : { - "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, and RatePay.", - "items" : { - "$ref" : "#/components/schemas/LineItem" - }, - "type" : "array" - }, - "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.", - "type" : "string" - }, - "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", - "type" : "string" - }, - "merchantOrderReference" : { - "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", - "type" : "string" - }, - "metadata" : { - "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", - "type" : "object" - }, - "orderReference" : { - "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", - "type" : "string" - }, - "origin" : { - "description" : "Required for the Web integration.\n\nSet this parameter to the origin URL of the page that you are loading the SDK from.", - "type" : "string" - }, - "recurringExpiry" : { - "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", - "type" : "string" - }, - "recurringFrequency" : { - "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", - "type" : "string" - }, - "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", - "type" : "string" - }, - "returnUrl" : { - "description" : "The URL to return to.", - "type" : "string" - }, - "riskData" : { - "description" : "Contains risk data, such as client-side data, used to identify risk for a transaction.", - "$ref" : "#/components/schemas/RiskData" - }, - "sdkVersion" : { - "description" : "The version of the SDK you are using (for Web SDK integrations only).", - "type" : "string" - }, - "sessionValidity" : { - "description" : "The maximum validity of the session.", - "type" : "string" - }, - "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", - "type" : "string" - }, - "shopperIP" : { - "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", - "enum" : [ - "Ecommerce", - "ContAuth", - "Moto", - "POS" - ], - "type" : "string" - }, - "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", - "type" : "string" - }, - "shopperName" : { - "description" : "The shopper's full name and gender (if specified).", - "$ref" : "#/components/schemas/Name" - }, - "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", - "type" : "string" - }, - "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", - "type" : "string" - }, - "socialSecurityNumber" : { - "description" : "The shopper's social security number.", - "type" : "string" - }, - "telephoneNumber" : { - "description" : "The shopper's telephone number.", - "type" : "string" - }, - "token" : { - "description" : "The token obtained when initializing the SDK.\n\n> This parameter is required for iOS and Android; not required for Web.", - "type" : "string" - } - }, - "required" : [ - "merchantAccount", - "reference", - "amount", - "returnUrl", - "countryCode" - ] - }, - "PaymentSetupResponse" : { - "properties" : { - "paymentSession" : { - "description" : "The encoded payment session that you need to pass to the SDK.", - "type" : "string" - }, - "recurringDetails" : { - "deprecated" : true, - "description" : "The detailed list of stored payment details required to generate payment forms. Will be empty if oneClick is set to false in the request.", - "items" : { - "$ref" : "#/components/schemas/RecurringDetail" - }, - "type" : "array" - } - } - }, - "PaymentVerificationRequest" : { - "properties" : { - "payload" : { - "description" : "Encrypted and signed payment result data. You should receive this value from the Checkout SDK after the shopper completes the payment.", - "type" : "string" - } - }, - "required" : [ - "payload" - ] - }, - "PaymentVerificationResponse" : { - "properties" : { - "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] - }, - "authResponse" : { - "description" : "The authorisation code representing the authentication result.\n\nPossible values:\n* Received\n* Authorised\n* Error\n* Refused\n* Cancelled\n* Unknown", - "type" : "string" - }, - "fraudResult" : { - "description" : "The fraud result properties of the payment.", - "$ref" : "#/components/schemas/FraudResult" - }, - "merchantReference" : { - "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", - "type" : "string" - }, - "paymentMethod" : { - "description" : "The payment method used in the transaction.", - "type" : "string" - }, - "pspReference" : { - "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", - "type" : "string" - }, - "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", - "type" : "string" - }, - "resultCode" : { - "description" : "The result of the payment. Possible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", - "enum" : [ - "AuthenticationFinished", - "Authorised", - "Cancelled", - "ChallengeShopper", - "Error", - "IdentifyShopper", - "Pending", - "PresentToShopper", - "Received", - "RedirectShopper", - "Refused" - ], - "type" : "string" - }, - "serviceError" : { - "description" : "The type of the error.", - "$ref" : "#/components/schemas/ServiceError" - }, - "shopperLocale" : { - "description" : "The shopperLocale value provided in the payment request.", - "type" : "string" - } - }, - "required" : [ - "authResponse", - "merchantReference", - "paymentMethod", - "shopperLocale" - ] - }, - "Recurring" : { - "properties" : { - "contract" : { - "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", - "enum" : [ - "ONECLICK", - "RECURRING", - "PAYOUT" - ], - "type" : "string" - }, - "recurringDetailName" : { - "description" : "A descriptive name for this detail.", - "type" : "string" - }, - "tokenService" : { - "description" : "The name of the token service.", - "enum" : [ - "VISATOKENSERVICE", - "MCTOKENSERVICE" - ], - "type" : "string" - } - } - }, - "RecurringDetail" : { - "properties" : { - "configuration" : { - "description" : "The configuration of the payment method.", - "type" : "object" - }, - "details" : { - "description" : "All input details to be provided to complete the payment with this payment method.", - "items" : { - "$ref" : "#/components/schemas/InputDetail" - }, - "type" : "array" - }, - "group" : { - "description" : "The group where this payment method belongs to.", - "$ref" : "#/components/schemas/PaymentMethodGroup" - }, - "inputDetails" : { - "deprecated" : true, - "description" : "All input details to be provided to complete the payment with this payment method.", - "items" : { - "$ref" : "#/components/schemas/InputDetail" - }, - "type" : "array" - }, - "name" : { - "description" : "The displayable name of this payment method.", - "type" : "string" - }, - "paymentMethodData" : { - "description" : "Echo data required to send in next calls.", - "type" : "string" - }, - "recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring detail.", - "type" : "string" - }, - "storedDetails" : { - "description" : "Contains information on previously stored payment details.", - "$ref" : "#/components/schemas/StoredDetails" - }, - "supportsRecurring" : { - "description" : "Indicates whether this payment method supports tokenization or not.", - "type" : "boolean" - }, - "type" : { - "description" : "The unique payment method code.", - "type" : "string" - } - } - }, - "Redirect" : { - "properties" : { - "data" : { - "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", - "type" : "object" - }, - "method" : { - "description" : "The web method that you must use to access the redirect URL.\n\nPossible values: GET, POST.", - "enum" : [ - "GET", - "POST" - ], - "type" : "string" - }, - "url" : { - "description" : "The URL, to which you must redirect a shopper to complete a payment.", - "type" : "string" - } - } - }, - "RiskData" : { - "properties" : { - "clientData" : { - "description" : "Contains client-side data, like the device fingerprint, cookies, and specific browser settings.", - "type" : "string" - } - } - }, - "ServiceError" : { - "properties" : { - "errorCode" : { - "type" : "string" - }, - "errorType" : { - "type" : "string" - }, - "message" : { - "type" : "string" - } - } - }, - "StoredDetails" : { - "properties" : { - "bank" : { - "description" : "The stored bank account.", - "$ref" : "#/components/schemas/BankAccount" - }, - "card" : { - "description" : "The stored card information.", - "$ref" : "#/components/schemas/Card" - }, - "emailAddress" : { - "description" : "The email associated with stored payment details.", - "type" : "string" - } - } - }, - "SubInputDetail" : { - "properties" : { - "configuration" : { - "description" : "Configuration parameters for the required input.", - "type" : "object" - }, - "items" : { - "description" : "In case of a select, the items to choose from.", - "items" : { - "$ref" : "#/components/schemas/Item" - }, - "type" : "array" - }, - "key" : { - "description" : "The value to provide in the result.", - "type" : "string" - }, - "optional" : { - "description" : "True if this input is optional to provide.", - "type" : "boolean" - }, - "type" : { - "description" : "The type of the required input.", - "type" : "string" - }, - "value" : { - "description" : "The value can be pre-filled, if available.", - "type" : "string" - } - } - }, - "ThreeDSecureData" : { - "properties" : { - "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", - "enum" : [ - "Y", - "N", - "U", - "A" - ], - "type" : "string" - }, - "cavv" : { - "description" : "The cardholder authentication value (base64 encoded, 20 bytes in a decoded form).", - "format" : "byte", - "type" : "string" - }, - "cavvAlgorithm" : { - "description" : "The CAVV algorithm used. Include this only for 3D Secure 1.", - "type" : "string" - }, - "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", - "enum" : [ - "A", - "C", - "D", - "I", - "N", - "R", - "U", - "Y" - ], - "type" : "string" - }, - "eci" : { - "description" : "The electronic commerce indicator.", - "type" : "string" - }, - "xid" : { - "description" : "Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).", - "format" : "byte", - "type" : "string" - } - } - } - } - } -} diff --git a/json/CheckoutService-v37.json b/json/CheckoutService-v37.json index 7bda3ce..294961a 100644 --- a/json/CheckoutService-v37.json +++ b/json/CheckoutService-v37.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://checkout-test.adyen.com/v37" @@ -8,7 +8,7 @@ "info" : { "version" : "37", "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v37/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v37/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Support", @@ -17,16 +17,155 @@ } }, "x-groups" : [ - "API Integration", - "SDK Integration" + "Payments", + "Payment links", + "Orders", + "Classic Checkout SDK", + "Utility" ], "paths" : { + "/orders" : { + "post" : { + "summary" : "Creates an order for the given amount.", + "description" : "Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods.", + "operationId" : "post-orders", + "x-groupName" : "Orders", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/orders/cancel" : { + "post" : { + "summary" : "Cancels the given order.", + "description" : "Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.", + "operationId" : "post-orders-cancel", + "x-groupName" : "Orders", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/originKeys" : { + "post" : { + "summary" : "Create originKey values for one or more merchant domains.", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "operationId" : "post-originKeys", + "x-groupName" : "Utility", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", - "x-groupName" : "API Integration", - "x-sortIndex" : 8, + "operationId" : "post-paymentLinks", + "x-groupName" : "Payment links", + "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { @@ -41,7 +180,111 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkResponse" + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "201" : { + "description" : "Created - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentLinks/{linkId}" : { + "get" : { + "summary" : "Retrieve a payment link.", + "description" : "Retrieves the payment link details using the payment link `id`.", + "operationId" : "get-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 2, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + }, + "patch" : { + "summary" : "Update the status of a payment link", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "operationId" : "patch-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" } } }, @@ -69,7 +312,8 @@ "post" : { "summary" : "Returns available payment methods.", "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", - "x-groupName" : "API Integration", + "operationId" : "post-paymentMethods", + "x-groupName" : "Payments", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -109,11 +353,57 @@ } } }, + "/paymentMethods/balance" : { + "post" : { + "summary" : "Returns the available balance on gift card.", + "description" : "Retrieves the balance remaining on a shopper's gift card. To check a gift card's balance, make a POST `/paymentMethods/balance` call and include the gift card's details inside a `paymentMethod` object.", + "operationId" : "post-paymentMethods-balance", + "x-groupName" : "Orders", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-paymentSession", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -156,8 +446,9 @@ "/payments" : { "post" : { "summary" : "Starts a transaction.", - "description" : "Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`).\n* For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", - "x-groupName" : "API Integration", + "description" : "Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**).\n* For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", + "operationId" : "post-payments", + "x-groupName" : "Payments", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -201,7 +492,8 @@ "post" : { "summary" : "Submits details for a payment.", "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", - "x-groupName" : "API Integration", + "operationId" : "post-payments-details", + "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { @@ -245,7 +537,8 @@ "post" : { "summary" : "Verifies payment result.", "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-payments-result", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -288,38 +581,43 @@ }, "components" : { "schemas" : { - "AdditionalDataCommon" : { + "AchDetails" : { "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.", + "bankAccountNumber" : { + "description" : "The bank account number (without separators).", "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).", + "bankLocationId" : { + "description" : "The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "encryptedBankAccountNumber" : { + "description" : "Encrypted bank account number. The bank account number (without separators).", "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.", + "encryptedBankLocationId" : { + "description" : "Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "ownerName" : { + "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, - "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" : { + "default" : "ach", + "description" : "**ach**", "type" : "string" } - } + }, + "required" : [ + "type", + "bankAccountNumber" + ] }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter.", + "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", "type" : "string" }, "executeThreeD" : { @@ -331,105 +629,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -438,16 +720,32 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", "type" : "string" } }, @@ -456,284 +754,340 @@ ] }, "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": { + "properties" : { + "carRental.checkOutDate" : { "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { + "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": { + "carRental.daysRented" : { "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": { + "carRental.fuelCharges" : { "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.insuranceCharges": { + "carRental.insuranceCharges" : { "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.noShowIndicator": { + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", "type" : "string" }, - "carRental.oneWayDropOffCharges": { + "carRental.oneWayDropOffCharges" : { "description" : "Charge associated with not returning a vehicle to the original rental location.", "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" + } + } + }, + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", + "type" : "string" + }, + "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" + }, + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", + "type" : "string" + }, + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", + "type" : "string" + }, + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", + "type" : "string" + }, + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", + "type" : "string" + }, + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", + "type" : "string" + }, + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", + "type" : "string" + }, + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", + "type" : "string" + }, + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", + "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" } @@ -743,26 +1097,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -772,593 +1118,245 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } } }, - "ResponseAdditionalDataCommon" : { - "properties" : { - "acquirerAccountCode" : { - "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n> Only relevant for PayPal transactions.", - "type" : "string" - }, - "acquirerCode" : { - "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", - "type" : "string" - }, - "acquirerReference" : { - "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", - "type" : "string" - }, - "alias" : { - "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", - "type" : "string" - }, - "aliasType" : { - "description" : "The type of the card alias.\n\nExample: Default", - "type" : "string" - }, - "authCode" : { - "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", - "type" : "string" - }, - "authorisedAmountCurrency" : { - "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "authorisedAmountValue" : { - "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "avsResult" : { - "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", - "type" : "string" - }, - "avsResultRaw" : { - "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", - "type" : "string" - }, - "bic" : { - "description" : "BIC of a bank account.\n\nExample: TESTNL01\n> Only relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "dsTransID" : { - "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", - "type" : "string" - }, - "eci" : { - "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", - "type" : "string" - }, - "expiryDate" : { - "description" : "The expiry date on the card.\n\nExample: 6/2016\n> Returned only in case of a card payment.", - "type" : "string" - }, - "extraCostsCurrency" : { - "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", - "type" : "string" - }, - "extraCostsValue" : { - "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", - "type" : "string" - }, - "fraudCheck-[itemNr]-[FraudCheckname]" : { - "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", - "type" : "string" - }, - "fundingSource" : { - "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", - "type" : "string" - }, - "fundsAvailability" : { - "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", - "type" : "string" - }, - "inferredRefusalReason" : { - "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n* Low Authrate Bin\n* Non-reloadable prepaid card", - "type" : "string" - }, - "issuerCountry" : { - "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", - "type" : "string" - }, - "mcBankNetReferenceNumber" : { - "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "networkTxReference" : { - "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", - "type" : "string" - }, - "ownerName" : { - "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "paymentAccountReference" : { - "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", - "type" : "string" - }, - "paymentMethodVariant" : { - "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", - "type" : "string" - }, - "payoutEligible" : { - "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", - "type" : "string" - }, - "realtimeAccountUpdaterStatus" : { - "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n* ContactCardAccountHolder", - "type" : "string" - }, - "receiptFreeText" : { - "description" : "Message to be displayed on the terminal.", - "type" : "string" - }, - "recurring.firstPspReference" : { - "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", - "type" : "string" - }, - "recurring.recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring transaction.", - "type" : "string" - }, - "referred" : { - "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", - "type" : "string" - }, - "refusalReasonRaw" : { - "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", - "type" : "string" - }, - "terminalId" : { - "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", - "type" : "string" - }, - "threeDAuthenticated" : { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", - "type" : "string" - }, - "threeDAuthenticatedResponse" : { - "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", - "type" : "string" - }, - "threeDOffered" : { - "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", - "type" : "string" - }, - "threeDOfferedResponse" : { - "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", - "type" : "string" - }, - "threeDSVersion" : { - "description" : "The 3D Secure 2 version.", - "type" : "string" - }, - "visaTransactionId" : { - "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "xid" : { - "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", - "type" : "string" - } - } - }, - "ResponseAdditionalDataBillingAddress" : { - "properties" : { - "billingAddress.city" : { - "description" : "The billing address city passed in the payment request.", - "type" : "string" - }, - "billingAddress.country" : { - "description" : "The billing address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "billingAddress.houseNumberOrName" : { - "description" : "The billing address house number or name passed in the payment request.", - "type" : "string" - }, - "billingAddress.postalCode" : { - "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "billingAddress.stateOrProvince" : { - "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "billingAddress.street" : { - "description" : "The billing address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataCard" : { - "properties" : { - "cardBin" : { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", - "type" : "string" - }, - "cardHolderName" : { - "description" : "The cardholder name passed in the payment request.", - "type" : "string" - }, - "cardIssuingBank" : { - "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", - "type" : "string" - }, - "cardIssuingCountry" : { - "description" : "The country where the card was issued.\n\nExample: US", - "type" : "string" - }, - "cardIssuingCurrency" : { - "description" : "The currency in which the card is issued, if this information is available.\n\nExample: USD", - "type" : "string" - }, - "cardPaymentMethod" : { - "description" : "The card payment method used for the transaction.\n\nExample: amex", - "type" : "string" - }, - "cardSummary" : { - "description" : "The last four digits of a card number.\n> Returned only in case of a card payment.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataDeliveryAddress" : { - "properties" : { - "deliveryAddress.city" : { - "description" : "The delivery address city passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.country" : { - "description" : "The delivery address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "deliveryAddress.houseNumberOrName" : { - "description" : "The delivery address house number or name passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.postalCode" : { - "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "deliveryAddress.stateOrProvince" : { - "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "deliveryAddress.street" : { - "description" : "The delivery address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataInstallments" : { - "properties" : { - "installments.value" : { - "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", - "type" : "string" - }, - "installmentPaymentData.installmentType" : { - "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", - "type" : "string" - }, - "installmentPaymentData.paymentOptions" : { - "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].numberOfInstallments" : { - "description" : "Total number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].interestRate" : { - "description" : "Interest rate for the installment period.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].installmentFee" : { - "description" : "Installment fee amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].annualPercentageRate" : { - "description" : "Annual interest rate.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { - "description" : "First Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { - "description" : "Subsequent Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { - "description" : "Minimum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { - "description" : "Maximum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].totalAmountDue" : { - "description" : "Total amount in minor units.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataPayPal" : { - "properties" : { - "paypalPayerStatus" : { - "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", - "type" : "string" - }, - "paypalPayerResidenceCountry" : { - "description" : "The buyer's country of residence.\n\nExample: NL", - "type" : "string" - }, - "paypalPayerId" : { - "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", - "type" : "string" - }, - "paypalEmail" : { - "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", - "type" : "string" - }, - "paypalProtectionEligibility" : { - "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", - "type" : "string" - } - } - }, - "ResponseAdditionalDataSepa" : { - "properties" : { - "sepadirectdebit.dateOfSignature" : { - "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", - "type" : "string" - }, - "sepadirectdebit.mandateId" : { - "description" : "Its value corresponds to the pspReference value of the transaction.", - "type" : "string" - }, - "sepadirectdebit.sequenceType" : { - "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", - "type" : "string" - } - } - }, "Address" : { "properties" : { "city" : { @@ -1394,6 +1392,24 @@ "country" ] }, + "AmazonPayDetails" : { + "properties" : { + "amazonPayToken" : { + "type" : "string" + }, + "checkoutSessionId" : { + "type" : "string" + }, + "type" : { + "default" : "amazonpay", + "description" : "**amazonpay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1413,6 +1429,74 @@ "currency" ] }, + "AndroidPayDetails" : { + "properties" : { + "androidPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "androidPayToken" + ] + }, + "ApplePayDetails" : { + "properties" : { + "applePayToken" : { + "description" : "", + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "applepay", + "description" : "**applepay**", + "type" : "string" + } + }, + "required" : [ + "type", + "applePayToken" + ] + }, + "ApplicationInfo" : { + "properties" : { + "adyenLibrary" : { + "description" : "Adyen-developed software, such as libraries and plugins, used to interact with the Adyen API. For example, Magento plugin, Java API library, etc.", + "$ref" : "#/components/schemas/CommonField" + }, + "adyenPaymentSource" : { + "description" : "Adyen-developed software to get payment details. For example, Checkout SDK, Secured Fields SDK, etc.", + "$ref" : "#/components/schemas/CommonField" + }, + "externalPlatform" : { + "description" : "Third-party developed platform used to initiate payment requests. For example, Magento, Zuora, etc.", + "$ref" : "#/components/schemas/ExternalPlatform" + }, + "merchantApplication" : { + "description" : "Merchant developed software, such as cashier application, used to interact with the Adyen API.", + "$ref" : "#/components/schemas/CommonField" + }, + "merchantDevice" : { + "description" : "Merchant device information.", + "$ref" : "#/components/schemas/MerchantDevice" + }, + "shopperInteractionDevice" : { + "description" : "Shopper interaction device, such as terminal, mobile device or web browser, to initiate payment requests.", + "$ref" : "#/components/schemas/ShopperInteractionDevice" + } + } + }, "Avs" : { "properties" : { "addressEditable" : { @@ -1470,6 +1554,55 @@ } } }, + "BillDeskOnlineDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_online", + "description" : "**billdesk_online**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BillDeskWalletDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_wallet", + "description" : "**billdesk_wallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BlikDetails" : { + "properties" : { + "blikCode" : { + "description" : "BLIK code consisting of 6 digits.", + "type" : "string" + }, + "type" : { + "description" : "**blik**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "BrowserInfo" : { "properties" : { "acceptHeader" : { @@ -1548,6 +1681,573 @@ "holderName" ] }, + "CardDetails" : { + "properties" : { + "cupsecureplus.smscode" : { + "deprecated" : true, + "type" : "string" + }, + "cvc" : { + "type" : "string" + }, + "encryptedCardNumber" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryMonth" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryYear" : { + "description" : "", + "type" : "string" + }, + "expiryMonth" : { + "type" : "string" + }, + "expiryYear" : { + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "holderName" : { + "type" : "string" + }, + "number" : { + "type" : "string" + }, + "type" : { + "default" : "scheme", + "description" : "**scheme**", + "type" : "string" + } + }, + "required" : [ + "type", + "encryptedCardNumber", + "encryptedExpiryMonth", + "encryptedExpiryYear" + ] + }, + "CheckoutBalanceCheckRequest" : { + "properties" : { + "additionalAmount" : { + "description" : "If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).\nRequired to be in the same currency as the `amount`. ", + "$ref" : "#/components/schemas/Amount" + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$ref" : "#/components/schemas/Amount" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "browserInfo" : { + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "$ref" : "#/components/schemas/BrowserInfo" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "deviceFingerprint" : { + "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", + "type" : "string" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "paymentMethod" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The collection that contains the type of the payment method and its specific information.", + "type" : "object" + }, + "recurring" : { + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).", + "$ref" : "#/components/schemas/Recurring" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "selectedBrand" : { + "description" : "Some payment methods require defining a value for this field to specify how to process the transaction.\n\nFor the Bancontact payment method, it can be set to:\n* `maestro` (default), to be processed like a Maestro card, or\n* `bcmc`, to be processed like a Bancontact card.", + "type" : "string" + }, + "selectedRecurringDetailReference" : { + "description" : "The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.", + "type" : "string" + }, + "sessionId" : { + "description" : "A session ID used to identify a payment session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "totalsGroup" : { + "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "paymentMethod" + ] + }, + "CheckoutBalanceCheckResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "balance" : { + "description" : "The balance for the payment method.", + "$ref" : "#/components/schemas/Amount" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "balance" + ] + }, + "CheckoutCancelOrderRequest" : { + "properties" : { + "merchantAccount" : { + "description" : "The merchant account identifier that orderData belongs to.", + "type" : "string" + }, + "order" : { + "description" : "The order request object that contains a pspReference that represents the order and the matching encrypted order data.", + "$ref" : "#/components/schemas/CheckoutOrder" + } + }, + "required" : [ + "order", + "merchantAccount" + ] + }, + "CheckoutCancelOrderResponse" : { + "properties" : { + "pspReference" : { + "description" : "A unique reference of the cancellation request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the cancellation request.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "resultCode" + ] + }, + "CheckoutCreateOrderRequest" : { + "properties" : { + "amount" : { + "description" : "The total amount of the order.", + "$ref" : "#/components/schemas/Amount" + }, + "expiresAt" : { + "description" : "The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the order.", + "type" : "string" + }, + "reference" : { + "description" : "A custom reference identifying the order.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "amount" + ] + }, + "CheckoutCreateOrderResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "expiresAt" : { + "description" : "The date that the order will expire.", + "type" : "string" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "orderData" : { + "description" : "The encrypted data that will be used by merchant for adding payments to the order.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The remaining amount in the order.", + "$ref" : "#/components/schemas/Amount" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "remainingAmount", + "expiresAt", + "orderData" + ] + }, + "CheckoutOrder" : { + "properties" : { + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "orderData" + ] + }, + "CheckoutOrderResponse" : { + "properties" : { + "expiresAt" : { + "description" : "The expiry date for the order.", + "type" : "string" + }, + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + }, + "reference" : { + "description" : "The merchant reference for the order.", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The updated remaining amount.", + "$ref" : "#/components/schemas/Amount" + } + }, + "required" : [ + "pspReference" + ] + }, + "CheckoutUtilityRequest" : { + "properties" : { + "originDomains" : { + "description" : "The list of origin domains, for which origin keys are requested.", + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "required" : [ + "originDomains" + ] + }, + "CheckoutUtilityResponse" : { + "properties" : { + "originKeys" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.", + "type" : "object" + } + } + }, + "CommonField" : { + "properties" : { + "name" : { + "description" : "Name of the field. For example, Name of External Platform.", + "type" : "string" + }, + "version" : { + "description" : "Version of the field. For example, Version of External Platform.", + "type" : "string" + } + } + }, "Company" : { "properties" : { "homepage" : { @@ -1611,11 +2311,15 @@ "type" : "array" }, "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The payment amount and currency.", "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "description" : "The address where to send the invoice.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { @@ -1626,7 +2330,7 @@ "type" : "array" }, "countryCode" : { - "description" : "The shopper's country code.", + "description" : "The shopper's two-letter country code.", "type" : "string" }, "deliveryAddress" : { @@ -1634,73 +2338,97 @@ "$ref" : "#/components/schemas/Address" }, "description" : { - "description" : "A short description visible on the Pay By Link page.\nMaximum length: 280 characters.", + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", "type" : "string" }, "expiresAt" : { - "description" : "The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations:\n* Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\"\n* Maximum 20 characters per key. When exceeding, the \"178\" error occurs: \"Metadata key size exceeds limit\"\n* A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id", + "type" : "object" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], "type" : "string" }, "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", "type" : "string" }, "returnUrl" : { - "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL.", + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", "type" : "string" }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address.", "type" : "string" }, "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", "type" : "string" }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", "type" : "string" } }, "required" : [ - "merchantAccount", - "reference", "amount", - "countryCode" - ] - }, - "CreatePaymentLinkResponse" : { - "properties" : { - "amount" : { - "description" : "The amount for which the Pay By Link URL was created.", - "$ref" : "#/components/schemas/Amount" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.", - "type" : "string" - }, - "reference" : { - "description" : "The reference that was specified when the Pay By Link URL was created.", - "type" : "string" - }, - "url" : { - "description" : "The URL at which the shopper can complete the payment.", - "type" : "string" - } - }, - "required" : [ "reference", - "expiresAt", - "url" + "merchantAccount" ] }, "DetailsRequest" : { "properties" : { "details" : { + "additionalProperties" : { + "type" : "string" + }, + "deprecated" : true, "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", "type" : "object" }, @@ -1713,6 +2441,154 @@ "details" ] }, + "DokuDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "infix" : { + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "ovoId" : { + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "type" : { + "description" : "**doku**", + "enum" : [ + "doku_mandiri_va", + "doku_cimb_va", + "doku_danamon_va", + "doku_bni_va", + "doku_permata_lite_atm", + "doku_bri_va", + "doku_bca_va", + "doku_alfamart", + "doku_indomaret" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail" + ] + }, + "DotpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "dotpay", + "description" : "**dotpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "DragonpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper’s email address.", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "EcontextVoucherDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's contact number.", + "type" : "string" + }, + "type" : { + "description" : "**econtextvoucher**", + "enum" : [ + "econtext_seveneleven", + "econtext_stores" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail", + "telephoneNumber" + ] + }, + "EntercashDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "entercash", + "description" : "**entercash**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "ExternalPlatform" : { + "properties" : { + "integrator" : { + "description" : "External platform integrator.", + "type" : "string" + }, + "name" : { + "description" : "Name of the field. For example, Name of External Platform.", + "type" : "string" + }, + "version" : { + "description" : "Version of the field. For example, Version of External Platform.", + "type" : "string" + } + } + }, "ForexQuote" : { "properties" : { "account" : { @@ -1813,9 +2689,70 @@ "accountScore" ] }, + "GiropayDetails" : { + "properties" : { + "type" : { + "default" : "giropay", + "description" : "**giropay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "GooglePayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "googlePayCardNetwork" : { + "description" : "", + "type" : "string" + }, + "googlePayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "paywithgoogle", + "description" : "**paywithgoogle**", + "type" : "string" + } + }, + "required" : [ + "type", + "googlePayToken", + "googlePayCardNetwork" + ] + }, + "IdealDetails" : { + "properties" : { + "issuer" : { + "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "ideal", + "description" : "**ideal**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "InputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -1887,6 +2824,54 @@ } } }, + "KlarnaDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "token" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "LianLianPayDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "LineItem" : { "properties" : { "amountExcludingTax" : { @@ -1934,6 +2919,95 @@ } } }, + "MasterpassDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "masterpassTransactionId" : { + "description" : "The Masterpass transaction ID.", + "type" : "string" + }, + "type" : { + "default" : "masterpass", + "description" : "**masterpass**", + "type" : "string" + } + }, + "required" : [ + "type", + "masterpassTransactionId" + ] + }, + "MbwayDetails" : { + "properties" : { + "shopperEmail" : { + "description" : "", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber", + "shopperEmail" + ] + }, + "MerchantDevice" : { + "properties" : { + "os" : { + "description" : "Operating system running on the merchant device.", + "type" : "string" + }, + "osVersion" : { + "description" : "Version of the operating system on the merchant device.", + "type" : "string" + }, + "reference" : { + "description" : "Merchant device reference.", + "type" : "string" + } + } + }, + "MobilePayDetails" : { + "properties" : { + "type" : { + "default" : "mobilepay", + "description" : "**mobilepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "MolPayDetails" : { + "properties" : { + "issuer" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "Name" : { "properties" : { "firstName" : { @@ -1966,9 +3040,228 @@ "gender" ] }, + "NexoRouterDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + }, + "uniqueTerminalId" : { + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "OpenInvoiceDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PayPalDetails" : { + "properties" : { + "orderID" : { + "type" : "string" + }, + "payerID" : { + "type" : "string" + }, + "subtype" : { + "description" : "The type of flow to initiate.", + "enum" : [ + "redirect", + "sdk" + ], + "type" : "string" + }, + "type" : { + "default" : "paypal", + "description" : "**paypal**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentLinkResource" : { + "properties" : { + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The payment amount and currency.", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "countryCode" : { + "description" : "The shopper's two-letter country code.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "description" : { + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "type" : "string" + }, + "id" : { + "description" : "A unique identifier of the payment link.", + "readOnly" : true, + "type" : "string" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "merchantAccount" : { + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", + "type" : "string" + }, + "returnUrl" : { + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", + "type" : "string" + }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, + "shopperEmail" : { + "description" : "The shopper's email address.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "status" : { + "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "enum" : [ + "active", + "expired", + "paid" + ], + "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "type" : "string" + }, + "url" : { + "description" : "The URL at which the shopper can complete the payment.", + "readOnly" : true, + "type" : "string" + } + }, + "required" : [ + "amount", + "reference", + "merchantAccount", + "id", + "url", + "status" + ] + }, "PaymentMethod" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -2047,21 +3340,48 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", @@ -2105,6 +3425,12 @@ "shopperReference" : { "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" } }, "required" : [ @@ -2140,21 +3466,48 @@ "PaymentRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -2165,7 +3518,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -2261,20 +3614,127 @@ "type" : "string" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, + "order" : { + "description" : "Contains the order information which is required for partial payments.", + "$ref" : "#/components/schemas/CheckoutOrder" + }, "orderReference" : { "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", "type" : "string" }, "paymentMethod" : { - "description" : "The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`).", - "type" : "object" + "description" : "The type and required details of a payment method to use.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/AndroidPayDetails" + }, + { + "$ref" : "#/components/schemas/VisaCheckoutDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" + }, + { + "$ref" : "#/components/schemas/AmazonPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" + }, + { + "$ref" : "#/components/schemas/CardDetails" + }, + { + "$ref" : "#/components/schemas/AchDetails" + }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/IdealDetails" + }, + { + "$ref" : "#/components/schemas/PayPalDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/QiwiWalletDetails" + }, + { + "$ref" : "#/components/schemas/VippsDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskOnlineDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskWalletDetails" + }, + { + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, + { + "$ref" : "#/components/schemas/DokuDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/NexoRouterDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + } + ] }, "recurringExpiry" : { "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", @@ -2285,7 +3745,7 @@ "type" : "string" }, "recurringProcessingModel" : { - "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", "Subscription", @@ -2306,7 +3766,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -2348,7 +3808,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -2356,12 +3816,18 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "telephoneNumber" : { "description" : "The shopper's telephone number.", "type" : "string" @@ -2382,16 +3848,33 @@ "PaymentResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "details" : { "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", @@ -2404,7 +3887,14 @@ "description" : "The fraud result properties of the payment.", "$ref" : "#/components/schemas/FraudResult" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains the details that will be presented to the shopper.", "type" : "object" }, @@ -2421,7 +3911,7 @@ "$ref" : "#/components/schemas/Redirect" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -2429,7 +3919,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2450,24 +3940,51 @@ "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2482,7 +3999,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2581,6 +4098,9 @@ "type" : "string" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, @@ -2605,7 +4125,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -2651,7 +4171,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -2659,7 +4179,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -2716,16 +4236,33 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "authResponse" : { "description" : "The authorisation code representing the authentication result.\n\nPossible values:\n* Received\n* Authorised\n* Error\n* Refused\n* Cancelled\n* Unknown", @@ -2739,6 +4276,10 @@ "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "paymentMethod" : { "description" : "The payment method used in the transaction.", "type" : "string" @@ -2748,7 +4289,7 @@ "type" : "string" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -2756,7 +4297,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2788,6 +4329,23 @@ "shopperLocale" ] }, + "QiwiWalletDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "qiwiwallet", + "description" : "**qiwiwallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "Recurring" : { "properties" : { "contract" : { @@ -2816,6 +4374,9 @@ "RecurringDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -2867,6 +4428,9 @@ "Redirect" : { "properties" : { "data" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", "type" : "object" }, @@ -2884,6 +4448,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "authCode" : { + "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "RiskData" : { "properties" : { "clientData" : { @@ -2892,6 +4828,52 @@ } } }, + "SamsungPayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "samsungPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "samsungpay", + "description" : "**samsungpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "samsungPayToken" + ] + }, + "SepaDirectDebitDetails" : { + "properties" : { + "iban" : { + "description" : "The International Bank Account Number (IBAN).", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.", + "type" : "string" + }, + "type" : { + "default" : "sepadirectdebit", + "description" : "**sepadirectdebit**", + "type" : "string" + } + }, + "required" : [ + "type", + "iban", + "ownerName" + ] + }, "ServiceError" : { "properties" : { "errorCode" : { @@ -2936,6 +4918,22 @@ } } }, + "ShopperInteractionDevice" : { + "properties" : { + "locale" : { + "description" : "Locale on the shopper interaction device.", + "type" : "string" + }, + "os" : { + "description" : "Operating system running on the shopper interaction device.", + "type" : "string" + }, + "osVersion" : { + "description" : "Version of the operating system on the shopper interaction device.", + "type" : "string" + } + } + }, "Split" : { "properties" : { "account" : { @@ -3010,6 +5008,9 @@ "SubInputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -3041,7 +5042,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -3060,7 +5061,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -3083,7 +5084,107 @@ "type" : "string" } } + }, + "UpdatePaymentLinkRequest" : { + "properties" : { + "status" : { + "description" : "Status of the payment link. Possible values:\n* **expired**", + "enum" : [ + "expired" + ], + "type" : "string" + } + }, + "required" : [ + "status" + ] + }, + "VippsDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "vipps", + "description" : "**vipps**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "VisaCheckoutDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "visacheckout", + "description" : "**visacheckout**", + "type" : "string" + }, + "visaCheckoutCallId" : { + "description" : "", + "type" : "string" + } + }, + "required" : [ + "type", + "visaCheckoutCallId" + ] + }, + "WeChatPayDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "WeChatPayMiniProgramDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" } } } -} +} \ No newline at end of file diff --git a/json/CheckoutService-v40.json b/json/CheckoutService-v40.json index 6081da4..155e674 100644 --- a/json/CheckoutService-v40.json +++ b/json/CheckoutService-v40.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://checkout-test.adyen.com/v40" @@ -8,7 +8,7 @@ "info" : { "version" : "40", "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v40/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v40/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Support", @@ -17,16 +17,155 @@ } }, "x-groups" : [ - "API Integration", - "SDK Integration" + "Payments", + "Payment links", + "Orders", + "Classic Checkout SDK", + "Utility" ], "paths" : { + "/orders" : { + "post" : { + "summary" : "Creates an order for the given amount.", + "description" : "Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods.", + "operationId" : "post-orders", + "x-groupName" : "Orders", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/orders/cancel" : { + "post" : { + "summary" : "Cancels the given order.", + "description" : "Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.", + "operationId" : "post-orders-cancel", + "x-groupName" : "Orders", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/originKeys" : { + "post" : { + "summary" : "Create originKey values for one or more merchant domains.", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "operationId" : "post-originKeys", + "x-groupName" : "Utility", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", - "x-groupName" : "API Integration", - "x-sortIndex" : 8, + "operationId" : "post-paymentLinks", + "x-groupName" : "Payment links", + "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { @@ -41,7 +180,111 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkResponse" + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "201" : { + "description" : "Created - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentLinks/{linkId}" : { + "get" : { + "summary" : "Retrieve a payment link.", + "description" : "Retrieves the payment link details using the payment link `id`.", + "operationId" : "get-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 2, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + }, + "patch" : { + "summary" : "Update the status of a payment link", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "operationId" : "patch-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" } } }, @@ -69,7 +312,8 @@ "post" : { "summary" : "Returns available payment methods.", "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", - "x-groupName" : "API Integration", + "operationId" : "post-paymentMethods", + "x-groupName" : "Payments", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -109,11 +353,57 @@ } } }, + "/paymentMethods/balance" : { + "post" : { + "summary" : "Returns the available balance on gift card.", + "description" : "Retrieves the balance remaining on a shopper's gift card. To check a gift card's balance, make a POST `/paymentMethods/balance` call and include the gift card's details inside a `paymentMethod` object.", + "operationId" : "post-paymentMethods-balance", + "x-groupName" : "Orders", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-paymentSession", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -156,8 +446,9 @@ "/payments" : { "post" : { "summary" : "Starts a transaction.", - "description" : "Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`).\n* For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", - "x-groupName" : "API Integration", + "description" : "Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**).\n* For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", + "operationId" : "post-payments", + "x-groupName" : "Payments", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -201,7 +492,8 @@ "post" : { "summary" : "Submits details for a payment.", "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", - "x-groupName" : "API Integration", + "operationId" : "post-payments-details", + "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { @@ -245,7 +537,8 @@ "post" : { "summary" : "Verifies payment result.", "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-payments-result", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -406,38 +699,43 @@ } } }, - "AdditionalDataCommon" : { + "AchDetails" : { "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.", + "bankAccountNumber" : { + "description" : "The bank account number (without separators).", "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).", + "bankLocationId" : { + "description" : "The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "encryptedBankAccountNumber" : { + "description" : "Encrypted bank account number. The bank account number (without separators).", "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.", + "encryptedBankLocationId" : { + "description" : "Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "ownerName" : { + "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, - "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" : { + "default" : "ach", + "description" : "**ach**", "type" : "string" } - } + }, + "required" : [ + "type", + "bankAccountNumber" + ] }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter.", + "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", "type" : "string" }, "executeThreeD" : { @@ -449,105 +747,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -556,16 +838,32 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", "type" : "string" } }, @@ -574,284 +872,340 @@ ] }, "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": { + "properties" : { + "carRental.checkOutDate" : { "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { + "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": { + "carRental.daysRented" : { "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": { + "carRental.fuelCharges" : { "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.insuranceCharges": { + "carRental.insuranceCharges" : { "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.noShowIndicator": { + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", "type" : "string" }, - "carRental.oneWayDropOffCharges": { + "carRental.oneWayDropOffCharges" : { "description" : "Charge associated with not returning a vehicle to the original rental location.", "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" + } + } + }, + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", + "type" : "string" + }, + "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" + }, + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", + "type" : "string" + }, + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", + "type" : "string" + }, + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", + "type" : "string" + }, + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", + "type" : "string" + }, + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", + "type" : "string" + }, + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", + "type" : "string" + }, + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", + "type" : "string" + }, + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", + "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" } @@ -861,26 +1215,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -890,593 +1236,245 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } } }, - "ResponseAdditionalDataCommon" : { - "properties" : { - "acquirerAccountCode" : { - "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n> Only relevant for PayPal transactions.", - "type" : "string" - }, - "acquirerCode" : { - "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", - "type" : "string" - }, - "acquirerReference" : { - "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", - "type" : "string" - }, - "alias" : { - "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", - "type" : "string" - }, - "aliasType" : { - "description" : "The type of the card alias.\n\nExample: Default", - "type" : "string" - }, - "authCode" : { - "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", - "type" : "string" - }, - "authorisedAmountCurrency" : { - "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "authorisedAmountValue" : { - "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "avsResult" : { - "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", - "type" : "string" - }, - "avsResultRaw" : { - "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", - "type" : "string" - }, - "bic" : { - "description" : "BIC of a bank account.\n\nExample: TESTNL01\n> Only relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "dsTransID" : { - "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", - "type" : "string" - }, - "eci" : { - "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", - "type" : "string" - }, - "expiryDate" : { - "description" : "The expiry date on the card.\n\nExample: 6/2016\n> Returned only in case of a card payment.", - "type" : "string" - }, - "extraCostsCurrency" : { - "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", - "type" : "string" - }, - "extraCostsValue" : { - "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", - "type" : "string" - }, - "fraudCheck-[itemNr]-[FraudCheckname]" : { - "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", - "type" : "string" - }, - "fundingSource" : { - "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", - "type" : "string" - }, - "fundsAvailability" : { - "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", - "type" : "string" - }, - "inferredRefusalReason" : { - "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n* Low Authrate Bin\n* Non-reloadable prepaid card", - "type" : "string" - }, - "issuerCountry" : { - "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", - "type" : "string" - }, - "mcBankNetReferenceNumber" : { - "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "networkTxReference" : { - "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", - "type" : "string" - }, - "ownerName" : { - "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "paymentAccountReference" : { - "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", - "type" : "string" - }, - "paymentMethodVariant" : { - "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", - "type" : "string" - }, - "payoutEligible" : { - "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", - "type" : "string" - }, - "realtimeAccountUpdaterStatus" : { - "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n* ContactCardAccountHolder", - "type" : "string" - }, - "receiptFreeText" : { - "description" : "Message to be displayed on the terminal.", - "type" : "string" - }, - "recurring.firstPspReference" : { - "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", - "type" : "string" - }, - "recurring.recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring transaction.", - "type" : "string" - }, - "referred" : { - "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", - "type" : "string" - }, - "refusalReasonRaw" : { - "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", - "type" : "string" - }, - "terminalId" : { - "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", - "type" : "string" - }, - "threeDAuthenticated" : { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", - "type" : "string" - }, - "threeDAuthenticatedResponse" : { - "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", - "type" : "string" - }, - "threeDOffered" : { - "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", - "type" : "string" - }, - "threeDOfferedResponse" : { - "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", - "type" : "string" - }, - "threeDSVersion" : { - "description" : "The 3D Secure 2 version.", - "type" : "string" - }, - "visaTransactionId" : { - "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "xid" : { - "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", - "type" : "string" - } - } - }, - "ResponseAdditionalDataBillingAddress" : { - "properties" : { - "billingAddress.city" : { - "description" : "The billing address city passed in the payment request.", - "type" : "string" - }, - "billingAddress.country" : { - "description" : "The billing address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "billingAddress.houseNumberOrName" : { - "description" : "The billing address house number or name passed in the payment request.", - "type" : "string" - }, - "billingAddress.postalCode" : { - "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "billingAddress.stateOrProvince" : { - "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "billingAddress.street" : { - "description" : "The billing address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataCard" : { - "properties" : { - "cardBin" : { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", - "type" : "string" - }, - "cardHolderName" : { - "description" : "The cardholder name passed in the payment request.", - "type" : "string" - }, - "cardIssuingBank" : { - "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", - "type" : "string" - }, - "cardIssuingCountry" : { - "description" : "The country where the card was issued.\n\nExample: US", - "type" : "string" - }, - "cardIssuingCurrency" : { - "description" : "The currency in which the card is issued, if this information is available.\n\nExample: USD", - "type" : "string" - }, - "cardPaymentMethod" : { - "description" : "The card payment method used for the transaction.\n\nExample: amex", - "type" : "string" - }, - "cardSummary" : { - "description" : "The last four digits of a card number.\n> Returned only in case of a card payment.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataDeliveryAddress" : { - "properties" : { - "deliveryAddress.city" : { - "description" : "The delivery address city passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.country" : { - "description" : "The delivery address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "deliveryAddress.houseNumberOrName" : { - "description" : "The delivery address house number or name passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.postalCode" : { - "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "deliveryAddress.stateOrProvince" : { - "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "deliveryAddress.street" : { - "description" : "The delivery address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataInstallments" : { - "properties" : { - "installments.value" : { - "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", - "type" : "string" - }, - "installmentPaymentData.installmentType" : { - "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", - "type" : "string" - }, - "installmentPaymentData.paymentOptions" : { - "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].numberOfInstallments" : { - "description" : "Total number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].interestRate" : { - "description" : "Interest rate for the installment period.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].installmentFee" : { - "description" : "Installment fee amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].annualPercentageRate" : { - "description" : "Annual interest rate.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { - "description" : "First Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { - "description" : "Subsequent Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { - "description" : "Minimum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { - "description" : "Maximum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].totalAmountDue" : { - "description" : "Total amount in minor units.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataPayPal" : { - "properties" : { - "paypalPayerStatus" : { - "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", - "type" : "string" - }, - "paypalPayerResidenceCountry" : { - "description" : "The buyer's country of residence.\n\nExample: NL", - "type" : "string" - }, - "paypalPayerId" : { - "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", - "type" : "string" - }, - "paypalEmail" : { - "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", - "type" : "string" - }, - "paypalProtectionEligibility" : { - "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", - "type" : "string" - } - } - }, - "ResponseAdditionalDataSepa" : { - "properties" : { - "sepadirectdebit.dateOfSignature" : { - "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", - "type" : "string" - }, - "sepadirectdebit.mandateId" : { - "description" : "Its value corresponds to the pspReference value of the transaction.", - "type" : "string" - }, - "sepadirectdebit.sequenceType" : { - "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", - "type" : "string" - } - } - }, "Address" : { "properties" : { "city" : { @@ -1512,6 +1510,24 @@ "country" ] }, + "AmazonPayDetails" : { + "properties" : { + "amazonPayToken" : { + "type" : "string" + }, + "checkoutSessionId" : { + "type" : "string" + }, + "type" : { + "default" : "amazonpay", + "description" : "**amazonpay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1531,6 +1547,46 @@ "currency" ] }, + "AndroidPayDetails" : { + "properties" : { + "androidPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "androidPayToken" + ] + }, + "ApplePayDetails" : { + "properties" : { + "applePayToken" : { + "description" : "", + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "applepay", + "description" : "**applepay**", + "type" : "string" + } + }, + "required" : [ + "type", + "applePayToken" + ] + }, "ApplicationInfo" : { "properties" : { "adyenLibrary" : { @@ -1616,6 +1672,55 @@ } } }, + "BillDeskOnlineDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_online", + "description" : "**billdesk_online**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BillDeskWalletDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_wallet", + "description" : "**billdesk_wallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BlikDetails" : { + "properties" : { + "blikCode" : { + "description" : "BLIK code consisting of 6 digits.", + "type" : "string" + }, + "type" : { + "description" : "**blik**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "BrowserInfo" : { "properties" : { "acceptHeader" : { @@ -1625,7 +1730,7 @@ "type" : "string" }, "colorDepth" : { - "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.", + "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, @@ -1634,6 +1739,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "default" : "true", "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, @@ -1732,6 +1838,577 @@ "holderName" ] }, + "CardDetails" : { + "properties" : { + "cupsecureplus.smscode" : { + "deprecated" : true, + "type" : "string" + }, + "cvc" : { + "type" : "string" + }, + "encryptedCardNumber" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryMonth" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryYear" : { + "description" : "", + "type" : "string" + }, + "expiryMonth" : { + "type" : "string" + }, + "expiryYear" : { + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "holderName" : { + "type" : "string" + }, + "number" : { + "type" : "string" + }, + "type" : { + "default" : "scheme", + "description" : "**scheme**", + "type" : "string" + } + }, + "required" : [ + "type", + "encryptedCardNumber", + "encryptedExpiryMonth", + "encryptedExpiryYear" + ] + }, + "CheckoutBalanceCheckRequest" : { + "properties" : { + "accountInfo" : { + "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/AccountInfo" + }, + "additionalAmount" : { + "description" : "If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).\nRequired to be in the same currency as the `amount`. ", + "$ref" : "#/components/schemas/Amount" + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "browserInfo" : { + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "$ref" : "#/components/schemas/BrowserInfo" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "deviceFingerprint" : { + "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", + "type" : "string" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "merchantRiskIndicator" : { + "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/MerchantRiskIndicator" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "paymentMethod" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The collection that contains the type of the payment method and its specific information.", + "type" : "object" + }, + "recurring" : { + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).", + "$ref" : "#/components/schemas/Recurring" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "selectedBrand" : { + "description" : "Some payment methods require defining a value for this field to specify how to process the transaction.\n\nFor the Bancontact payment method, it can be set to:\n* `maestro` (default), to be processed like a Maestro card, or\n* `bcmc`, to be processed like a Bancontact card.", + "type" : "string" + }, + "selectedRecurringDetailReference" : { + "description" : "The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.", + "type" : "string" + }, + "sessionId" : { + "description" : "A session ID used to identify a payment session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "threeDS2RequestData" : { + "description" : "Request fields for 3D Secure 2.", + "$ref" : "#/components/schemas/ThreeDS2RequestData" + }, + "totalsGroup" : { + "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "paymentMethod" + ] + }, + "CheckoutBalanceCheckResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "balance" : { + "description" : "The balance for the payment method.", + "$ref" : "#/components/schemas/Amount" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "balance" + ] + }, + "CheckoutCancelOrderRequest" : { + "properties" : { + "merchantAccount" : { + "description" : "The merchant account identifier that orderData belongs to.", + "type" : "string" + }, + "order" : { + "description" : "The order request object that contains a pspReference that represents the order and the matching encrypted order data.", + "$ref" : "#/components/schemas/CheckoutOrder" + } + }, + "required" : [ + "order", + "merchantAccount" + ] + }, + "CheckoutCancelOrderResponse" : { + "properties" : { + "pspReference" : { + "description" : "A unique reference of the cancellation request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the cancellation request.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "resultCode" + ] + }, + "CheckoutCreateOrderRequest" : { + "properties" : { + "amount" : { + "description" : "The total amount of the order.", + "$ref" : "#/components/schemas/Amount" + }, + "expiresAt" : { + "description" : "The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the order.", + "type" : "string" + }, + "reference" : { + "description" : "A custom reference identifying the order.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "amount" + ] + }, + "CheckoutCreateOrderResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "expiresAt" : { + "description" : "The date that the order will expire.", + "type" : "string" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "orderData" : { + "description" : "The encrypted data that will be used by merchant for adding payments to the order.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The remaining amount in the order.", + "$ref" : "#/components/schemas/Amount" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "remainingAmount", + "expiresAt", + "orderData" + ] + }, + "CheckoutOrder" : { + "properties" : { + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "orderData" + ] + }, + "CheckoutOrderResponse" : { + "properties" : { + "expiresAt" : { + "description" : "The expiry date for the order.", + "type" : "string" + }, + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + }, + "reference" : { + "description" : "The merchant reference for the order.", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The updated remaining amount.", + "$ref" : "#/components/schemas/Amount" + } + }, + "required" : [ + "pspReference" + ] + }, + "CheckoutUtilityRequest" : { + "properties" : { + "originDomains" : { + "description" : "The list of origin domains, for which origin keys are requested.", + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "required" : [ + "originDomains" + ] + }, + "CheckoutUtilityResponse" : { + "properties" : { + "originKeys" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.", + "type" : "object" + } + } + }, "CommonField" : { "properties" : { "name" : { @@ -1807,11 +2484,15 @@ "type" : "array" }, "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The payment amount and currency.", "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "description" : "The address where to send the invoice.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { @@ -1822,7 +2503,7 @@ "type" : "array" }, "countryCode" : { - "description" : "The shopper's country code.", + "description" : "The shopper's two-letter country code.", "type" : "string" }, "deliveryAddress" : { @@ -1830,73 +2511,97 @@ "$ref" : "#/components/schemas/Address" }, "description" : { - "description" : "A short description visible on the Pay By Link page.\nMaximum length: 280 characters.", + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", "type" : "string" }, "expiresAt" : { - "description" : "The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations:\n* Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\"\n* Maximum 20 characters per key. When exceeding, the \"178\" error occurs: \"Metadata key size exceeds limit\"\n* A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id", + "type" : "object" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], "type" : "string" }, "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", "type" : "string" }, "returnUrl" : { - "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL.", + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", "type" : "string" }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address.", "type" : "string" }, "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", "type" : "string" }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", "type" : "string" } }, "required" : [ - "merchantAccount", - "reference", "amount", - "countryCode" - ] - }, - "CreatePaymentLinkResponse" : { - "properties" : { - "amount" : { - "description" : "The amount for which the Pay By Link URL was created.", - "$ref" : "#/components/schemas/Amount" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.", - "type" : "string" - }, - "reference" : { - "description" : "The reference that was specified when the Pay By Link URL was created.", - "type" : "string" - }, - "url" : { - "description" : "The URL at which the shopper can complete the payment.", - "type" : "string" - } - }, - "required" : [ "reference", - "expiresAt", - "url" + "merchantAccount" ] }, "DetailsRequest" : { "properties" : { "details" : { + "additionalProperties" : { + "type" : "string" + }, + "deprecated" : true, "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", "type" : "object" }, @@ -1916,15 +2621,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1940,6 +2647,138 @@ } } }, + "DokuDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "infix" : { + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "ovoId" : { + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "type" : { + "description" : "**doku**", + "enum" : [ + "doku_mandiri_va", + "doku_cimb_va", + "doku_danamon_va", + "doku_bni_va", + "doku_permata_lite_atm", + "doku_bri_va", + "doku_bca_va", + "doku_alfamart", + "doku_indomaret" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail" + ] + }, + "DotpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "dotpay", + "description" : "**dotpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "DragonpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper’s email address.", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "EcontextVoucherDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's contact number.", + "type" : "string" + }, + "type" : { + "description" : "**econtextvoucher**", + "enum" : [ + "econtext_seveneleven", + "econtext_stores" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail", + "telephoneNumber" + ] + }, + "EntercashDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "entercash", + "description" : "**entercash**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "ExternalPlatform" : { "properties" : { "integrator" : { @@ -2056,9 +2895,70 @@ "accountScore" ] }, + "GiropayDetails" : { + "properties" : { + "type" : { + "default" : "giropay", + "description" : "**giropay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "GooglePayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "googlePayCardNetwork" : { + "description" : "", + "type" : "string" + }, + "googlePayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "paywithgoogle", + "description" : "**paywithgoogle**", + "type" : "string" + } + }, + "required" : [ + "type", + "googlePayToken", + "googlePayCardNetwork" + ] + }, + "IdealDetails" : { + "properties" : { + "issuer" : { + "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "ideal", + "description" : "**ideal**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "InputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -2130,6 +3030,54 @@ } } }, + "KlarnaDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "token" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "LianLianPayDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "LineItem" : { "properties" : { "amountExcludingTax" : { @@ -2177,6 +3125,51 @@ } } }, + "MasterpassDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "masterpassTransactionId" : { + "description" : "The Masterpass transaction ID.", + "type" : "string" + }, + "type" : { + "default" : "masterpass", + "description" : "**masterpass**", + "type" : "string" + } + }, + "required" : [ + "type", + "masterpassTransactionId" + ] + }, + "MbwayDetails" : { + "properties" : { + "shopperEmail" : { + "description" : "", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber", + "shopperEmail" + ] + }, "MerchantDevice" : { "properties" : { "os" : { @@ -2250,6 +3243,34 @@ } } }, + "MobilePayDetails" : { + "properties" : { + "type" : { + "default" : "mobilepay", + "description" : "**mobilepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "MolPayDetails" : { + "properties" : { + "issuer" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "Name" : { "properties" : { "firstName" : { @@ -2282,9 +3303,228 @@ "gender" ] }, + "NexoRouterDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + }, + "uniqueTerminalId" : { + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "OpenInvoiceDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PayPalDetails" : { + "properties" : { + "orderID" : { + "type" : "string" + }, + "payerID" : { + "type" : "string" + }, + "subtype" : { + "description" : "The type of flow to initiate.", + "enum" : [ + "redirect", + "sdk" + ], + "type" : "string" + }, + "type" : { + "default" : "paypal", + "description" : "**paypal**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentLinkResource" : { + "properties" : { + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The payment amount and currency.", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "countryCode" : { + "description" : "The shopper's two-letter country code.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "description" : { + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "type" : "string" + }, + "id" : { + "description" : "A unique identifier of the payment link.", + "readOnly" : true, + "type" : "string" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "merchantAccount" : { + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", + "type" : "string" + }, + "returnUrl" : { + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", + "type" : "string" + }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, + "shopperEmail" : { + "description" : "The shopper's email address.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "status" : { + "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "enum" : [ + "active", + "expired", + "paid" + ], + "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "type" : "string" + }, + "url" : { + "description" : "The URL at which the shopper can complete the payment.", + "readOnly" : true, + "type" : "string" + } + }, + "required" : [ + "amount", + "reference", + "merchantAccount", + "id", + "url", + "status" + ] + }, "PaymentMethod" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -2363,21 +3603,48 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", @@ -2421,6 +3688,12 @@ "shopperReference" : { "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" } }, "required" : [ @@ -2460,21 +3733,48 @@ "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -2489,7 +3789,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -2589,13 +3889,20 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, + "order" : { + "description" : "Contains the order information which is required for partial payments.", + "$ref" : "#/components/schemas/CheckoutOrder" + }, "orderReference" : { "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", "type" : "string" @@ -2605,8 +3912,108 @@ "type" : "string" }, "paymentMethod" : { - "description" : "The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`).", - "type" : "object" + "description" : "The type and required details of a payment method to use.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/AndroidPayDetails" + }, + { + "$ref" : "#/components/schemas/VisaCheckoutDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" + }, + { + "$ref" : "#/components/schemas/AmazonPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" + }, + { + "$ref" : "#/components/schemas/CardDetails" + }, + { + "$ref" : "#/components/schemas/AchDetails" + }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/IdealDetails" + }, + { + "$ref" : "#/components/schemas/PayPalDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/QiwiWalletDetails" + }, + { + "$ref" : "#/components/schemas/VippsDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskOnlineDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskWalletDetails" + }, + { + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, + { + "$ref" : "#/components/schemas/DokuDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/NexoRouterDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + } + ] }, "recurringExpiry" : { "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", @@ -2617,7 +4024,7 @@ "type" : "string" }, "recurringProcessingModel" : { - "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", "Subscription", @@ -2638,7 +4045,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -2680,7 +4087,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -2688,12 +4095,18 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "telephoneNumber" : { "description" : "The shopper's telephone number.", "type" : "string" @@ -2718,18 +4131,38 @@ "PaymentResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "authentication" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", "type" : "object" }, @@ -2744,7 +4177,14 @@ "description" : "The fraud result properties of the payment.", "$ref" : "#/components/schemas/FraudResult" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains the details that will be presented to the shopper.", "type" : "object" }, @@ -2761,7 +4201,7 @@ "$ref" : "#/components/schemas/Redirect" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -2769,7 +4209,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2790,24 +4230,51 @@ "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2826,7 +4293,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2925,6 +4392,9 @@ "type" : "string" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, @@ -2949,7 +4419,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -2995,7 +4465,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -3003,7 +4473,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -3060,16 +4530,33 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -3079,6 +4566,10 @@ "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "paymentMethod" : { "description" : "The payment method used in the transaction.", "type" : "string" @@ -3088,7 +4579,7 @@ "type" : "string" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -3096,7 +4587,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3127,6 +4618,23 @@ "shopperLocale" ] }, + "QiwiWalletDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "qiwiwallet", + "description" : "**qiwiwallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "Recurring" : { "properties" : { "contract" : { @@ -3164,6 +4672,9 @@ "RecurringDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -3215,6 +4726,9 @@ "Redirect" : { "properties" : { "data" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", "type" : "object" }, @@ -3232,6 +4746,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "authCode" : { + "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "RiskData" : { "properties" : { "clientData" : { @@ -3260,6 +5146,52 @@ } } }, + "SamsungPayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "samsungPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "samsungpay", + "description" : "**samsungpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "samsungPayToken" + ] + }, + "SepaDirectDebitDetails" : { + "properties" : { + "iban" : { + "description" : "The International Bank Account Number (IBAN).", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.", + "type" : "string" + }, + "type" : { + "default" : "sepadirectdebit", + "description" : "**sepadirectdebit**", + "type" : "string" + } + }, + "required" : [ + "type", + "iban", + "ownerName" + ] + }, "ServiceError" : { "properties" : { "errorCode" : { @@ -3394,6 +5326,9 @@ "SubInputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -3425,6 +5360,7 @@ "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -3447,6 +5383,7 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -3467,6 +5404,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "default" : "60", "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3503,7 +5441,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -3522,7 +5460,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -3549,7 +5487,107 @@ "type" : "string" } } + }, + "UpdatePaymentLinkRequest" : { + "properties" : { + "status" : { + "description" : "Status of the payment link. Possible values:\n* **expired**", + "enum" : [ + "expired" + ], + "type" : "string" + } + }, + "required" : [ + "status" + ] + }, + "VippsDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "vipps", + "description" : "**vipps**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "VisaCheckoutDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "visacheckout", + "description" : "**visacheckout**", + "type" : "string" + }, + "visaCheckoutCallId" : { + "description" : "", + "type" : "string" + } + }, + "required" : [ + "type", + "visaCheckoutCallId" + ] + }, + "WeChatPayDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "WeChatPayMiniProgramDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" } } } -} +} \ No newline at end of file diff --git a/json/CheckoutService-v41.json b/json/CheckoutService-v41.json index e658300..e1f2e38 100644 --- a/json/CheckoutService-v41.json +++ b/json/CheckoutService-v41.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://checkout-test.adyen.com/v41" @@ -8,7 +8,7 @@ "info" : { "version" : "41", "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v41/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v41/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Support", @@ -17,16 +17,155 @@ } }, "x-groups" : [ - "API Integration", - "SDK Integration" + "Payments", + "Payment links", + "Orders", + "Classic Checkout SDK", + "Utility" ], "paths" : { + "/orders" : { + "post" : { + "summary" : "Creates an order for the given amount.", + "description" : "Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods.", + "operationId" : "post-orders", + "x-groupName" : "Orders", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/orders/cancel" : { + "post" : { + "summary" : "Cancels the given order.", + "description" : "Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.", + "operationId" : "post-orders-cancel", + "x-groupName" : "Orders", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/originKeys" : { + "post" : { + "summary" : "Create originKey values for one or more merchant domains.", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "operationId" : "post-originKeys", + "x-groupName" : "Utility", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", - "x-groupName" : "API Integration", - "x-sortIndex" : 8, + "operationId" : "post-paymentLinks", + "x-groupName" : "Payment links", + "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { @@ -41,7 +180,111 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkResponse" + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "201" : { + "description" : "Created - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentLinks/{linkId}" : { + "get" : { + "summary" : "Retrieve a payment link.", + "description" : "Retrieves the payment link details using the payment link `id`.", + "operationId" : "get-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 2, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + }, + "patch" : { + "summary" : "Update the status of a payment link", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "operationId" : "patch-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" } } }, @@ -69,7 +312,8 @@ "post" : { "summary" : "Returns available payment methods.", "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", - "x-groupName" : "API Integration", + "operationId" : "post-paymentMethods", + "x-groupName" : "Payments", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -109,11 +353,57 @@ } } }, + "/paymentMethods/balance" : { + "post" : { + "summary" : "Returns the available balance on gift card.", + "description" : "Retrieves the balance remaining on a shopper's gift card. To check a gift card's balance, make a POST `/paymentMethods/balance` call and include the gift card's details inside a `paymentMethod` object.", + "operationId" : "post-paymentMethods-balance", + "x-groupName" : "Orders", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-paymentSession", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -156,8 +446,9 @@ "/payments" : { "post" : { "summary" : "Starts a transaction.", - "description" : "Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`).\n* For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", - "x-groupName" : "API Integration", + "description" : "Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**).\n* For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", + "operationId" : "post-payments", + "x-groupName" : "Payments", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -201,7 +492,8 @@ "post" : { "summary" : "Submits details for a payment.", "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", - "x-groupName" : "API Integration", + "operationId" : "post-payments-details", + "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { @@ -245,7 +537,8 @@ "post" : { "summary" : "Verifies payment result.", "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-payments-result", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -406,38 +699,43 @@ } } }, - "AdditionalDataCommon" : { + "AchDetails" : { "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.", + "bankAccountNumber" : { + "description" : "The bank account number (without separators).", "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).", + "bankLocationId" : { + "description" : "The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "encryptedBankAccountNumber" : { + "description" : "Encrypted bank account number. The bank account number (without separators).", "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.", + "encryptedBankLocationId" : { + "description" : "Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "ownerName" : { + "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, - "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" : { + "default" : "ach", + "description" : "**ach**", "type" : "string" } - } + }, + "required" : [ + "type", + "bankAccountNumber" + ] }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter.", + "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", "type" : "string" }, "executeThreeD" : { @@ -449,105 +747,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -556,16 +838,32 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", "type" : "string" } }, @@ -574,284 +872,340 @@ ] }, "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": { + "properties" : { + "carRental.checkOutDate" : { "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { + "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": { + "carRental.daysRented" : { "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": { + "carRental.fuelCharges" : { "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.insuranceCharges": { + "carRental.insuranceCharges" : { "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.noShowIndicator": { + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", "type" : "string" }, - "carRental.oneWayDropOffCharges": { + "carRental.oneWayDropOffCharges" : { "description" : "Charge associated with not returning a vehicle to the original rental location.", "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" + } + } + }, + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", + "type" : "string" + }, + "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" + }, + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", + "type" : "string" + }, + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", + "type" : "string" + }, + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", + "type" : "string" + }, + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", + "type" : "string" + }, + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", + "type" : "string" + }, + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", + "type" : "string" + }, + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", + "type" : "string" + }, + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", + "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" } @@ -861,26 +1215,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -890,593 +1236,245 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } } }, - "ResponseAdditionalDataCommon" : { - "properties" : { - "acquirerAccountCode" : { - "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n> Only relevant for PayPal transactions.", - "type" : "string" - }, - "acquirerCode" : { - "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", - "type" : "string" - }, - "acquirerReference" : { - "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", - "type" : "string" - }, - "alias" : { - "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", - "type" : "string" - }, - "aliasType" : { - "description" : "The type of the card alias.\n\nExample: Default", - "type" : "string" - }, - "authCode" : { - "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", - "type" : "string" - }, - "authorisedAmountCurrency" : { - "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "authorisedAmountValue" : { - "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "avsResult" : { - "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", - "type" : "string" - }, - "avsResultRaw" : { - "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", - "type" : "string" - }, - "bic" : { - "description" : "BIC of a bank account.\n\nExample: TESTNL01\n> Only relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "dsTransID" : { - "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", - "type" : "string" - }, - "eci" : { - "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", - "type" : "string" - }, - "expiryDate" : { - "description" : "The expiry date on the card.\n\nExample: 6/2016\n> Returned only in case of a card payment.", - "type" : "string" - }, - "extraCostsCurrency" : { - "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", - "type" : "string" - }, - "extraCostsValue" : { - "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", - "type" : "string" - }, - "fraudCheck-[itemNr]-[FraudCheckname]" : { - "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", - "type" : "string" - }, - "fundingSource" : { - "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", - "type" : "string" - }, - "fundsAvailability" : { - "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", - "type" : "string" - }, - "inferredRefusalReason" : { - "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n* Low Authrate Bin\n* Non-reloadable prepaid card", - "type" : "string" - }, - "issuerCountry" : { - "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", - "type" : "string" - }, - "mcBankNetReferenceNumber" : { - "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "networkTxReference" : { - "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", - "type" : "string" - }, - "ownerName" : { - "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "paymentAccountReference" : { - "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", - "type" : "string" - }, - "paymentMethodVariant" : { - "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", - "type" : "string" - }, - "payoutEligible" : { - "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", - "type" : "string" - }, - "realtimeAccountUpdaterStatus" : { - "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n* ContactCardAccountHolder", - "type" : "string" - }, - "receiptFreeText" : { - "description" : "Message to be displayed on the terminal.", - "type" : "string" - }, - "recurring.firstPspReference" : { - "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", - "type" : "string" - }, - "recurring.recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring transaction.", - "type" : "string" - }, - "referred" : { - "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", - "type" : "string" - }, - "refusalReasonRaw" : { - "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", - "type" : "string" - }, - "terminalId" : { - "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", - "type" : "string" - }, - "threeDAuthenticated" : { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", - "type" : "string" - }, - "threeDAuthenticatedResponse" : { - "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", - "type" : "string" - }, - "threeDOffered" : { - "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", - "type" : "string" - }, - "threeDOfferedResponse" : { - "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", - "type" : "string" - }, - "threeDSVersion" : { - "description" : "The 3D Secure 2 version.", - "type" : "string" - }, - "visaTransactionId" : { - "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "xid" : { - "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", - "type" : "string" - } - } - }, - "ResponseAdditionalDataBillingAddress" : { - "properties" : { - "billingAddress.city" : { - "description" : "The billing address city passed in the payment request.", - "type" : "string" - }, - "billingAddress.country" : { - "description" : "The billing address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "billingAddress.houseNumberOrName" : { - "description" : "The billing address house number or name passed in the payment request.", - "type" : "string" - }, - "billingAddress.postalCode" : { - "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "billingAddress.stateOrProvince" : { - "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "billingAddress.street" : { - "description" : "The billing address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataCard" : { - "properties" : { - "cardBin" : { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", - "type" : "string" - }, - "cardHolderName" : { - "description" : "The cardholder name passed in the payment request.", - "type" : "string" - }, - "cardIssuingBank" : { - "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", - "type" : "string" - }, - "cardIssuingCountry" : { - "description" : "The country where the card was issued.\n\nExample: US", - "type" : "string" - }, - "cardIssuingCurrency" : { - "description" : "The currency in which the card is issued, if this information is available.\n\nExample: USD", - "type" : "string" - }, - "cardPaymentMethod" : { - "description" : "The card payment method used for the transaction.\n\nExample: amex", - "type" : "string" - }, - "cardSummary" : { - "description" : "The last four digits of a card number.\n> Returned only in case of a card payment.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataDeliveryAddress" : { - "properties" : { - "deliveryAddress.city" : { - "description" : "The delivery address city passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.country" : { - "description" : "The delivery address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "deliveryAddress.houseNumberOrName" : { - "description" : "The delivery address house number or name passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.postalCode" : { - "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "deliveryAddress.stateOrProvince" : { - "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "deliveryAddress.street" : { - "description" : "The delivery address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataInstallments" : { - "properties" : { - "installments.value" : { - "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", - "type" : "string" - }, - "installmentPaymentData.installmentType" : { - "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", - "type" : "string" - }, - "installmentPaymentData.paymentOptions" : { - "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].numberOfInstallments" : { - "description" : "Total number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].interestRate" : { - "description" : "Interest rate for the installment period.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].installmentFee" : { - "description" : "Installment fee amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].annualPercentageRate" : { - "description" : "Annual interest rate.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { - "description" : "First Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { - "description" : "Subsequent Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { - "description" : "Minimum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { - "description" : "Maximum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].totalAmountDue" : { - "description" : "Total amount in minor units.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataPayPal" : { - "properties" : { - "paypalPayerStatus" : { - "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", - "type" : "string" - }, - "paypalPayerResidenceCountry" : { - "description" : "The buyer's country of residence.\n\nExample: NL", - "type" : "string" - }, - "paypalPayerId" : { - "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", - "type" : "string" - }, - "paypalEmail" : { - "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", - "type" : "string" - }, - "paypalProtectionEligibility" : { - "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", - "type" : "string" - } - } - }, - "ResponseAdditionalDataSepa" : { - "properties" : { - "sepadirectdebit.dateOfSignature" : { - "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", - "type" : "string" - }, - "sepadirectdebit.mandateId" : { - "description" : "Its value corresponds to the pspReference value of the transaction.", - "type" : "string" - }, - "sepadirectdebit.sequenceType" : { - "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", - "type" : "string" - } - } - }, "Address" : { "properties" : { "city" : { @@ -1512,6 +1510,24 @@ "country" ] }, + "AmazonPayDetails" : { + "properties" : { + "amazonPayToken" : { + "type" : "string" + }, + "checkoutSessionId" : { + "type" : "string" + }, + "type" : { + "default" : "amazonpay", + "description" : "**amazonpay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1531,6 +1547,46 @@ "currency" ] }, + "AndroidPayDetails" : { + "properties" : { + "androidPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "androidPayToken" + ] + }, + "ApplePayDetails" : { + "properties" : { + "applePayToken" : { + "description" : "", + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "applepay", + "description" : "**applepay**", + "type" : "string" + } + }, + "required" : [ + "type", + "applePayToken" + ] + }, "ApplicationInfo" : { "properties" : { "adyenLibrary" : { @@ -1616,6 +1672,55 @@ } } }, + "BillDeskOnlineDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_online", + "description" : "**billdesk_online**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BillDeskWalletDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_wallet", + "description" : "**billdesk_wallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BlikDetails" : { + "properties" : { + "blikCode" : { + "description" : "BLIK code consisting of 6 digits.", + "type" : "string" + }, + "type" : { + "description" : "**blik**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "BrowserInfo" : { "properties" : { "acceptHeader" : { @@ -1625,7 +1730,7 @@ "type" : "string" }, "colorDepth" : { - "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.", + "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, @@ -1634,6 +1739,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "default" : "true", "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, @@ -1732,6 +1838,577 @@ "holderName" ] }, + "CardDetails" : { + "properties" : { + "cupsecureplus.smscode" : { + "deprecated" : true, + "type" : "string" + }, + "cvc" : { + "type" : "string" + }, + "encryptedCardNumber" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryMonth" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryYear" : { + "description" : "", + "type" : "string" + }, + "expiryMonth" : { + "type" : "string" + }, + "expiryYear" : { + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "holderName" : { + "type" : "string" + }, + "number" : { + "type" : "string" + }, + "type" : { + "default" : "scheme", + "description" : "**scheme**", + "type" : "string" + } + }, + "required" : [ + "type", + "encryptedCardNumber", + "encryptedExpiryMonth", + "encryptedExpiryYear" + ] + }, + "CheckoutBalanceCheckRequest" : { + "properties" : { + "accountInfo" : { + "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/AccountInfo" + }, + "additionalAmount" : { + "description" : "If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).\nRequired to be in the same currency as the `amount`. ", + "$ref" : "#/components/schemas/Amount" + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "browserInfo" : { + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "$ref" : "#/components/schemas/BrowserInfo" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "deviceFingerprint" : { + "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", + "type" : "string" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "merchantRiskIndicator" : { + "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/MerchantRiskIndicator" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "paymentMethod" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The collection that contains the type of the payment method and its specific information.", + "type" : "object" + }, + "recurring" : { + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).", + "$ref" : "#/components/schemas/Recurring" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "selectedBrand" : { + "description" : "Some payment methods require defining a value for this field to specify how to process the transaction.\n\nFor the Bancontact payment method, it can be set to:\n* `maestro` (default), to be processed like a Maestro card, or\n* `bcmc`, to be processed like a Bancontact card.", + "type" : "string" + }, + "selectedRecurringDetailReference" : { + "description" : "The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.", + "type" : "string" + }, + "sessionId" : { + "description" : "A session ID used to identify a payment session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "threeDS2RequestData" : { + "description" : "Request fields for 3D Secure 2.", + "$ref" : "#/components/schemas/ThreeDS2RequestData" + }, + "totalsGroup" : { + "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "paymentMethod" + ] + }, + "CheckoutBalanceCheckResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "balance" : { + "description" : "The balance for the payment method.", + "$ref" : "#/components/schemas/Amount" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "balance" + ] + }, + "CheckoutCancelOrderRequest" : { + "properties" : { + "merchantAccount" : { + "description" : "The merchant account identifier that orderData belongs to.", + "type" : "string" + }, + "order" : { + "description" : "The order request object that contains a pspReference that represents the order and the matching encrypted order data.", + "$ref" : "#/components/schemas/CheckoutOrder" + } + }, + "required" : [ + "order", + "merchantAccount" + ] + }, + "CheckoutCancelOrderResponse" : { + "properties" : { + "pspReference" : { + "description" : "A unique reference of the cancellation request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the cancellation request.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "resultCode" + ] + }, + "CheckoutCreateOrderRequest" : { + "properties" : { + "amount" : { + "description" : "The total amount of the order.", + "$ref" : "#/components/schemas/Amount" + }, + "expiresAt" : { + "description" : "The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the order.", + "type" : "string" + }, + "reference" : { + "description" : "A custom reference identifying the order.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "amount" + ] + }, + "CheckoutCreateOrderResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "expiresAt" : { + "description" : "The date that the order will expire.", + "type" : "string" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "orderData" : { + "description" : "The encrypted data that will be used by merchant for adding payments to the order.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The remaining amount in the order.", + "$ref" : "#/components/schemas/Amount" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "remainingAmount", + "expiresAt", + "orderData" + ] + }, + "CheckoutOrder" : { + "properties" : { + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "orderData" + ] + }, + "CheckoutOrderResponse" : { + "properties" : { + "expiresAt" : { + "description" : "The expiry date for the order.", + "type" : "string" + }, + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + }, + "reference" : { + "description" : "The merchant reference for the order.", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The updated remaining amount.", + "$ref" : "#/components/schemas/Amount" + } + }, + "required" : [ + "pspReference" + ] + }, + "CheckoutUtilityRequest" : { + "properties" : { + "originDomains" : { + "description" : "The list of origin domains, for which origin keys are requested.", + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "required" : [ + "originDomains" + ] + }, + "CheckoutUtilityResponse" : { + "properties" : { + "originKeys" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.", + "type" : "object" + } + } + }, "CommonField" : { "properties" : { "name" : { @@ -1807,11 +2484,15 @@ "type" : "array" }, "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The payment amount and currency.", "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "description" : "The address where to send the invoice.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { @@ -1822,7 +2503,7 @@ "type" : "array" }, "countryCode" : { - "description" : "The shopper's country code.", + "description" : "The shopper's two-letter country code.", "type" : "string" }, "deliveryAddress" : { @@ -1830,73 +2511,97 @@ "$ref" : "#/components/schemas/Address" }, "description" : { - "description" : "A short description visible on the Pay By Link page.\nMaximum length: 280 characters.", + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", "type" : "string" }, "expiresAt" : { - "description" : "The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations:\n* Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\"\n* Maximum 20 characters per key. When exceeding, the \"178\" error occurs: \"Metadata key size exceeds limit\"\n* A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id", + "type" : "object" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], "type" : "string" }, "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", "type" : "string" }, "returnUrl" : { - "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL.", + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", "type" : "string" }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address.", "type" : "string" }, "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", "type" : "string" }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", "type" : "string" } }, "required" : [ - "merchantAccount", - "reference", "amount", - "countryCode" - ] - }, - "CreatePaymentLinkResponse" : { - "properties" : { - "amount" : { - "description" : "The amount for which the Pay By Link URL was created.", - "$ref" : "#/components/schemas/Amount" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.", - "type" : "string" - }, - "reference" : { - "description" : "The reference that was specified when the Pay By Link URL was created.", - "type" : "string" - }, - "url" : { - "description" : "The URL at which the shopper can complete the payment.", - "type" : "string" - } - }, - "required" : [ "reference", - "expiresAt", - "url" + "merchantAccount" ] }, "DetailsRequest" : { "properties" : { "details" : { + "additionalProperties" : { + "type" : "string" + }, + "deprecated" : true, "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", "type" : "object" }, @@ -1916,15 +2621,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1940,6 +2647,138 @@ } } }, + "DokuDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "infix" : { + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "ovoId" : { + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "type" : { + "description" : "**doku**", + "enum" : [ + "doku_mandiri_va", + "doku_cimb_va", + "doku_danamon_va", + "doku_bni_va", + "doku_permata_lite_atm", + "doku_bri_va", + "doku_bca_va", + "doku_alfamart", + "doku_indomaret" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail" + ] + }, + "DotpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "dotpay", + "description" : "**dotpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "DragonpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper’s email address.", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "EcontextVoucherDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's contact number.", + "type" : "string" + }, + "type" : { + "description" : "**econtextvoucher**", + "enum" : [ + "econtext_seveneleven", + "econtext_stores" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail", + "telephoneNumber" + ] + }, + "EntercashDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "entercash", + "description" : "**entercash**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "ExternalPlatform" : { "properties" : { "integrator" : { @@ -2056,9 +2895,70 @@ "accountScore" ] }, + "GiropayDetails" : { + "properties" : { + "type" : { + "default" : "giropay", + "description" : "**giropay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "GooglePayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "googlePayCardNetwork" : { + "description" : "", + "type" : "string" + }, + "googlePayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "paywithgoogle", + "description" : "**paywithgoogle**", + "type" : "string" + } + }, + "required" : [ + "type", + "googlePayToken", + "googlePayCardNetwork" + ] + }, + "IdealDetails" : { + "properties" : { + "issuer" : { + "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "ideal", + "description" : "**ideal**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "InputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -2130,6 +3030,54 @@ } } }, + "KlarnaDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "token" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "LianLianPayDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "LineItem" : { "properties" : { "amountExcludingTax" : { @@ -2177,6 +3125,51 @@ } } }, + "MasterpassDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "masterpassTransactionId" : { + "description" : "The Masterpass transaction ID.", + "type" : "string" + }, + "type" : { + "default" : "masterpass", + "description" : "**masterpass**", + "type" : "string" + } + }, + "required" : [ + "type", + "masterpassTransactionId" + ] + }, + "MbwayDetails" : { + "properties" : { + "shopperEmail" : { + "description" : "", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber", + "shopperEmail" + ] + }, "MerchantDevice" : { "properties" : { "os" : { @@ -2250,6 +3243,34 @@ } } }, + "MobilePayDetails" : { + "properties" : { + "type" : { + "default" : "mobilepay", + "description" : "**mobilepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "MolPayDetails" : { + "properties" : { + "issuer" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "Name" : { "properties" : { "firstName" : { @@ -2282,9 +3303,228 @@ "gender" ] }, + "NexoRouterDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + }, + "uniqueTerminalId" : { + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "OpenInvoiceDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PayPalDetails" : { + "properties" : { + "orderID" : { + "type" : "string" + }, + "payerID" : { + "type" : "string" + }, + "subtype" : { + "description" : "The type of flow to initiate.", + "enum" : [ + "redirect", + "sdk" + ], + "type" : "string" + }, + "type" : { + "default" : "paypal", + "description" : "**paypal**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentLinkResource" : { + "properties" : { + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The payment amount and currency.", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "countryCode" : { + "description" : "The shopper's two-letter country code.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "description" : { + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "type" : "string" + }, + "id" : { + "description" : "A unique identifier of the payment link.", + "readOnly" : true, + "type" : "string" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "merchantAccount" : { + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", + "type" : "string" + }, + "returnUrl" : { + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", + "type" : "string" + }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, + "shopperEmail" : { + "description" : "The shopper's email address.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "status" : { + "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "enum" : [ + "active", + "expired", + "paid" + ], + "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "type" : "string" + }, + "url" : { + "description" : "The URL at which the shopper can complete the payment.", + "readOnly" : true, + "type" : "string" + } + }, + "required" : [ + "amount", + "reference", + "merchantAccount", + "id", + "url", + "status" + ] + }, "PaymentMethod" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -2363,21 +3603,48 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", @@ -2421,6 +3688,12 @@ "shopperReference" : { "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" } }, "required" : [ @@ -2460,21 +3733,48 @@ "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -2489,7 +3789,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -2589,13 +3889,20 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, + "order" : { + "description" : "Contains the order information which is required for partial payments.", + "$ref" : "#/components/schemas/CheckoutOrder" + }, "orderReference" : { "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", "type" : "string" @@ -2605,8 +3912,108 @@ "type" : "string" }, "paymentMethod" : { - "description" : "The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`).", - "type" : "object" + "description" : "The type and required details of a payment method to use.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/AndroidPayDetails" + }, + { + "$ref" : "#/components/schemas/VisaCheckoutDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" + }, + { + "$ref" : "#/components/schemas/AmazonPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" + }, + { + "$ref" : "#/components/schemas/CardDetails" + }, + { + "$ref" : "#/components/schemas/AchDetails" + }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/IdealDetails" + }, + { + "$ref" : "#/components/schemas/PayPalDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/QiwiWalletDetails" + }, + { + "$ref" : "#/components/schemas/VippsDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskOnlineDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskWalletDetails" + }, + { + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, + { + "$ref" : "#/components/schemas/DokuDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/NexoRouterDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + } + ] }, "recurringExpiry" : { "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", @@ -2617,7 +4024,7 @@ "type" : "string" }, "recurringProcessingModel" : { - "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", "Subscription", @@ -2638,7 +4045,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -2680,7 +4087,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -2688,12 +4095,18 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "telephoneNumber" : { "description" : "The shopper's telephone number.", "type" : "string" @@ -2718,18 +4131,38 @@ "PaymentResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "authentication" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", "type" : "object" }, @@ -2744,7 +4177,14 @@ "description" : "The fraud result properties of the payment.", "$ref" : "#/components/schemas/FraudResult" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains the details that will be presented to the shopper.", "type" : "object" }, @@ -2761,7 +4201,7 @@ "$ref" : "#/components/schemas/Redirect" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -2769,7 +4209,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2790,24 +4230,51 @@ "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2826,7 +4293,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2925,6 +4392,9 @@ "type" : "string" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, @@ -2949,7 +4419,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -2995,7 +4465,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -3003,7 +4473,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -3060,16 +4530,33 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -3079,6 +4566,10 @@ "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "paymentMethod" : { "description" : "The payment method used in the transaction.", "type" : "string" @@ -3088,7 +4579,7 @@ "type" : "string" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -3096,7 +4587,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3127,6 +4618,23 @@ "shopperLocale" ] }, + "QiwiWalletDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "qiwiwallet", + "description" : "**qiwiwallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "Recurring" : { "properties" : { "contract" : { @@ -3164,6 +4672,9 @@ "RecurringDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -3215,6 +4726,9 @@ "Redirect" : { "properties" : { "data" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", "type" : "object" }, @@ -3232,6 +4746,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "authCode" : { + "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "RiskData" : { "properties" : { "clientData" : { @@ -3260,6 +5146,52 @@ } } }, + "SamsungPayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "samsungPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "samsungpay", + "description" : "**samsungpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "samsungPayToken" + ] + }, + "SepaDirectDebitDetails" : { + "properties" : { + "iban" : { + "description" : "The International Bank Account Number (IBAN).", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.", + "type" : "string" + }, + "type" : { + "default" : "sepadirectdebit", + "description" : "**sepadirectdebit**", + "type" : "string" + } + }, + "required" : [ + "type", + "iban", + "ownerName" + ] + }, "ServiceError" : { "properties" : { "errorCode" : { @@ -3394,6 +5326,9 @@ "SubInputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -3425,6 +5360,7 @@ "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -3447,6 +5383,7 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -3467,6 +5404,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "default" : "60", "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3503,7 +5441,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -3522,7 +5460,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -3549,7 +5487,107 @@ "type" : "string" } } + }, + "UpdatePaymentLinkRequest" : { + "properties" : { + "status" : { + "description" : "Status of the payment link. Possible values:\n* **expired**", + "enum" : [ + "expired" + ], + "type" : "string" + } + }, + "required" : [ + "status" + ] + }, + "VippsDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "vipps", + "description" : "**vipps**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "VisaCheckoutDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "visacheckout", + "description" : "**visacheckout**", + "type" : "string" + }, + "visaCheckoutCallId" : { + "description" : "", + "type" : "string" + } + }, + "required" : [ + "type", + "visaCheckoutCallId" + ] + }, + "WeChatPayDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "WeChatPayMiniProgramDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" } } } -} +} \ No newline at end of file diff --git a/json/CheckoutService-v46.json b/json/CheckoutService-v46.json index 932d5fe..916764d 100644 --- a/json/CheckoutService-v46.json +++ b/json/CheckoutService-v46.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://checkout-test.adyen.com/v46" @@ -8,7 +8,7 @@ "info" : { "version" : "46", "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v46/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v46/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Support", @@ -17,16 +17,155 @@ } }, "x-groups" : [ - "API Integration", - "SDK Integration" + "Payments", + "Payment links", + "Orders", + "Classic Checkout SDK", + "Utility" ], "paths" : { + "/orders" : { + "post" : { + "summary" : "Creates an order for the given amount.", + "description" : "Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods.", + "operationId" : "post-orders", + "x-groupName" : "Orders", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/orders/cancel" : { + "post" : { + "summary" : "Cancels the given order.", + "description" : "Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.", + "operationId" : "post-orders-cancel", + "x-groupName" : "Orders", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/originKeys" : { + "post" : { + "summary" : "Create originKey values for one or more merchant domains.", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "operationId" : "post-originKeys", + "x-groupName" : "Utility", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", - "x-groupName" : "API Integration", - "x-sortIndex" : 8, + "operationId" : "post-paymentLinks", + "x-groupName" : "Payment links", + "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { @@ -41,7 +180,111 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkResponse" + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "201" : { + "description" : "Created - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentLinks/{linkId}" : { + "get" : { + "summary" : "Retrieve a payment link.", + "description" : "Retrieves the payment link details using the payment link `id`.", + "operationId" : "get-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 2, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + }, + "patch" : { + "summary" : "Update the status of a payment link", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "operationId" : "patch-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" } } }, @@ -69,7 +312,8 @@ "post" : { "summary" : "Returns available payment methods.", "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", - "x-groupName" : "API Integration", + "operationId" : "post-paymentMethods", + "x-groupName" : "Payments", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -109,11 +353,57 @@ } } }, + "/paymentMethods/balance" : { + "post" : { + "summary" : "Returns the available balance on gift card.", + "description" : "Retrieves the balance remaining on a shopper's gift card. To check a gift card's balance, make a POST `/paymentMethods/balance` call and include the gift card's details inside a `paymentMethod` object.", + "operationId" : "post-paymentMethods-balance", + "x-groupName" : "Orders", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-paymentSession", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -156,8 +446,9 @@ "/payments" : { "post" : { "summary" : "Starts a transaction.", - "description" : "Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`).\n* For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", - "x-groupName" : "API Integration", + "description" : "Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**).\n* For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", + "operationId" : "post-payments", + "x-groupName" : "Payments", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -201,7 +492,8 @@ "post" : { "summary" : "Submits details for a payment.", "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", - "x-groupName" : "API Integration", + "operationId" : "post-payments-details", + "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { @@ -245,7 +537,8 @@ "post" : { "summary" : "Verifies payment result.", "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-payments-result", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -406,38 +699,43 @@ } } }, - "AdditionalDataCommon" : { + "AchDetails" : { "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.", + "bankAccountNumber" : { + "description" : "The bank account number (without separators).", "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).", + "bankLocationId" : { + "description" : "The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "encryptedBankAccountNumber" : { + "description" : "Encrypted bank account number. The bank account number (without separators).", "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.", + "encryptedBankLocationId" : { + "description" : "Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "ownerName" : { + "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, - "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" : { + "default" : "ach", + "description" : "**ach**", "type" : "string" } - } + }, + "required" : [ + "type", + "bankAccountNumber" + ] }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter.", + "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", "type" : "string" }, "executeThreeD" : { @@ -449,105 +747,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -556,16 +838,32 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", "type" : "string" } }, @@ -574,284 +872,340 @@ ] }, "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": { + "properties" : { + "carRental.checkOutDate" : { "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { + "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": { + "carRental.daysRented" : { "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": { + "carRental.fuelCharges" : { "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.insuranceCharges": { + "carRental.insuranceCharges" : { "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.noShowIndicator": { + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", "type" : "string" }, - "carRental.oneWayDropOffCharges": { + "carRental.oneWayDropOffCharges" : { "description" : "Charge associated with not returning a vehicle to the original rental location.", "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" + } + } + }, + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", + "type" : "string" + }, + "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" + }, + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", + "type" : "string" + }, + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", + "type" : "string" + }, + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", + "type" : "string" + }, + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", + "type" : "string" + }, + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", + "type" : "string" + }, + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", + "type" : "string" + }, + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", + "type" : "string" + }, + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", + "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" } @@ -861,26 +1215,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -890,593 +1236,245 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } } }, - "ResponseAdditionalDataCommon" : { - "properties" : { - "acquirerAccountCode" : { - "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n> Only relevant for PayPal transactions.", - "type" : "string" - }, - "acquirerCode" : { - "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", - "type" : "string" - }, - "acquirerReference" : { - "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", - "type" : "string" - }, - "alias" : { - "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", - "type" : "string" - }, - "aliasType" : { - "description" : "The type of the card alias.\n\nExample: Default", - "type" : "string" - }, - "authCode" : { - "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", - "type" : "string" - }, - "authorisedAmountCurrency" : { - "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "authorisedAmountValue" : { - "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "avsResult" : { - "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", - "type" : "string" - }, - "avsResultRaw" : { - "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", - "type" : "string" - }, - "bic" : { - "description" : "BIC of a bank account.\n\nExample: TESTNL01\n> Only relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "dsTransID" : { - "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", - "type" : "string" - }, - "eci" : { - "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", - "type" : "string" - }, - "expiryDate" : { - "description" : "The expiry date on the card.\n\nExample: 6/2016\n> Returned only in case of a card payment.", - "type" : "string" - }, - "extraCostsCurrency" : { - "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", - "type" : "string" - }, - "extraCostsValue" : { - "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", - "type" : "string" - }, - "fraudCheck-[itemNr]-[FraudCheckname]" : { - "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", - "type" : "string" - }, - "fundingSource" : { - "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", - "type" : "string" - }, - "fundsAvailability" : { - "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", - "type" : "string" - }, - "inferredRefusalReason" : { - "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n* Low Authrate Bin\n* Non-reloadable prepaid card", - "type" : "string" - }, - "issuerCountry" : { - "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", - "type" : "string" - }, - "mcBankNetReferenceNumber" : { - "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "networkTxReference" : { - "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", - "type" : "string" - }, - "ownerName" : { - "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "paymentAccountReference" : { - "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", - "type" : "string" - }, - "paymentMethodVariant" : { - "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", - "type" : "string" - }, - "payoutEligible" : { - "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", - "type" : "string" - }, - "realtimeAccountUpdaterStatus" : { - "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n* ContactCardAccountHolder", - "type" : "string" - }, - "receiptFreeText" : { - "description" : "Message to be displayed on the terminal.", - "type" : "string" - }, - "recurring.firstPspReference" : { - "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", - "type" : "string" - }, - "recurring.recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring transaction.", - "type" : "string" - }, - "referred" : { - "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", - "type" : "string" - }, - "refusalReasonRaw" : { - "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", - "type" : "string" - }, - "terminalId" : { - "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", - "type" : "string" - }, - "threeDAuthenticated" : { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", - "type" : "string" - }, - "threeDAuthenticatedResponse" : { - "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", - "type" : "string" - }, - "threeDOffered" : { - "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", - "type" : "string" - }, - "threeDOfferedResponse" : { - "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", - "type" : "string" - }, - "threeDSVersion" : { - "description" : "The 3D Secure 2 version.", - "type" : "string" - }, - "visaTransactionId" : { - "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "xid" : { - "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", - "type" : "string" - } - } - }, - "ResponseAdditionalDataBillingAddress" : { - "properties" : { - "billingAddress.city" : { - "description" : "The billing address city passed in the payment request.", - "type" : "string" - }, - "billingAddress.country" : { - "description" : "The billing address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "billingAddress.houseNumberOrName" : { - "description" : "The billing address house number or name passed in the payment request.", - "type" : "string" - }, - "billingAddress.postalCode" : { - "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "billingAddress.stateOrProvince" : { - "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "billingAddress.street" : { - "description" : "The billing address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataCard" : { - "properties" : { - "cardBin" : { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", - "type" : "string" - }, - "cardHolderName" : { - "description" : "The cardholder name passed in the payment request.", - "type" : "string" - }, - "cardIssuingBank" : { - "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", - "type" : "string" - }, - "cardIssuingCountry" : { - "description" : "The country where the card was issued.\n\nExample: US", - "type" : "string" - }, - "cardIssuingCurrency" : { - "description" : "The currency in which the card is issued, if this information is available.\n\nExample: USD", - "type" : "string" - }, - "cardPaymentMethod" : { - "description" : "The card payment method used for the transaction.\n\nExample: amex", - "type" : "string" - }, - "cardSummary" : { - "description" : "The last four digits of a card number.\n> Returned only in case of a card payment.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataDeliveryAddress" : { - "properties" : { - "deliveryAddress.city" : { - "description" : "The delivery address city passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.country" : { - "description" : "The delivery address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "deliveryAddress.houseNumberOrName" : { - "description" : "The delivery address house number or name passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.postalCode" : { - "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "deliveryAddress.stateOrProvince" : { - "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "deliveryAddress.street" : { - "description" : "The delivery address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataInstallments" : { - "properties" : { - "installments.value" : { - "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", - "type" : "string" - }, - "installmentPaymentData.installmentType" : { - "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", - "type" : "string" - }, - "installmentPaymentData.paymentOptions" : { - "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].numberOfInstallments" : { - "description" : "Total number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].interestRate" : { - "description" : "Interest rate for the installment period.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].installmentFee" : { - "description" : "Installment fee amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].annualPercentageRate" : { - "description" : "Annual interest rate.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { - "description" : "First Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { - "description" : "Subsequent Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { - "description" : "Minimum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { - "description" : "Maximum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].totalAmountDue" : { - "description" : "Total amount in minor units.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataPayPal" : { - "properties" : { - "paypalPayerStatus" : { - "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", - "type" : "string" - }, - "paypalPayerResidenceCountry" : { - "description" : "The buyer's country of residence.\n\nExample: NL", - "type" : "string" - }, - "paypalPayerId" : { - "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", - "type" : "string" - }, - "paypalEmail" : { - "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", - "type" : "string" - }, - "paypalProtectionEligibility" : { - "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", - "type" : "string" - } - } - }, - "ResponseAdditionalDataSepa" : { - "properties" : { - "sepadirectdebit.dateOfSignature" : { - "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", - "type" : "string" - }, - "sepadirectdebit.mandateId" : { - "description" : "Its value corresponds to the pspReference value of the transaction.", - "type" : "string" - }, - "sepadirectdebit.sequenceType" : { - "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", - "type" : "string" - } - } - }, "Address" : { "properties" : { "city" : { @@ -1512,6 +1510,24 @@ "country" ] }, + "AmazonPayDetails" : { + "properties" : { + "amazonPayToken" : { + "type" : "string" + }, + "checkoutSessionId" : { + "type" : "string" + }, + "type" : { + "default" : "amazonpay", + "description" : "**amazonpay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1531,6 +1547,46 @@ "currency" ] }, + "AndroidPayDetails" : { + "properties" : { + "androidPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "androidPayToken" + ] + }, + "ApplePayDetails" : { + "properties" : { + "applePayToken" : { + "description" : "", + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "applepay", + "description" : "**applepay**", + "type" : "string" + } + }, + "required" : [ + "type", + "applePayToken" + ] + }, "ApplicationInfo" : { "properties" : { "adyenLibrary" : { @@ -1616,6 +1672,55 @@ } } }, + "BillDeskOnlineDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_online", + "description" : "**billdesk_online**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BillDeskWalletDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_wallet", + "description" : "**billdesk_wallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BlikDetails" : { + "properties" : { + "blikCode" : { + "description" : "BLIK code consisting of 6 digits.", + "type" : "string" + }, + "type" : { + "description" : "**blik**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "BrowserInfo" : { "properties" : { "acceptHeader" : { @@ -1625,7 +1730,7 @@ "type" : "string" }, "colorDepth" : { - "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.", + "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, @@ -1634,6 +1739,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "default" : "true", "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, @@ -1732,6 +1838,577 @@ "holderName" ] }, + "CardDetails" : { + "properties" : { + "cupsecureplus.smscode" : { + "deprecated" : true, + "type" : "string" + }, + "cvc" : { + "type" : "string" + }, + "encryptedCardNumber" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryMonth" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryYear" : { + "description" : "", + "type" : "string" + }, + "expiryMonth" : { + "type" : "string" + }, + "expiryYear" : { + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "holderName" : { + "type" : "string" + }, + "number" : { + "type" : "string" + }, + "type" : { + "default" : "scheme", + "description" : "**scheme**", + "type" : "string" + } + }, + "required" : [ + "type", + "encryptedCardNumber", + "encryptedExpiryMonth", + "encryptedExpiryYear" + ] + }, + "CheckoutBalanceCheckRequest" : { + "properties" : { + "accountInfo" : { + "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/AccountInfo" + }, + "additionalAmount" : { + "description" : "If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).\nRequired to be in the same currency as the `amount`. ", + "$ref" : "#/components/schemas/Amount" + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "browserInfo" : { + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "$ref" : "#/components/schemas/BrowserInfo" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "deviceFingerprint" : { + "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", + "type" : "string" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "merchantRiskIndicator" : { + "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/MerchantRiskIndicator" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "paymentMethod" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The collection that contains the type of the payment method and its specific information.", + "type" : "object" + }, + "recurring" : { + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).", + "$ref" : "#/components/schemas/Recurring" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "selectedBrand" : { + "description" : "Some payment methods require defining a value for this field to specify how to process the transaction.\n\nFor the Bancontact payment method, it can be set to:\n* `maestro` (default), to be processed like a Maestro card, or\n* `bcmc`, to be processed like a Bancontact card.", + "type" : "string" + }, + "selectedRecurringDetailReference" : { + "description" : "The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.", + "type" : "string" + }, + "sessionId" : { + "description" : "A session ID used to identify a payment session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "threeDS2RequestData" : { + "description" : "Request fields for 3D Secure 2.", + "$ref" : "#/components/schemas/ThreeDS2RequestData" + }, + "totalsGroup" : { + "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "paymentMethod" + ] + }, + "CheckoutBalanceCheckResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "balance" : { + "description" : "The balance for the payment method.", + "$ref" : "#/components/schemas/Amount" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "balance" + ] + }, + "CheckoutCancelOrderRequest" : { + "properties" : { + "merchantAccount" : { + "description" : "The merchant account identifier that orderData belongs to.", + "type" : "string" + }, + "order" : { + "description" : "The order request object that contains a pspReference that represents the order and the matching encrypted order data.", + "$ref" : "#/components/schemas/CheckoutOrder" + } + }, + "required" : [ + "order", + "merchantAccount" + ] + }, + "CheckoutCancelOrderResponse" : { + "properties" : { + "pspReference" : { + "description" : "A unique reference of the cancellation request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the cancellation request.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "resultCode" + ] + }, + "CheckoutCreateOrderRequest" : { + "properties" : { + "amount" : { + "description" : "The total amount of the order.", + "$ref" : "#/components/schemas/Amount" + }, + "expiresAt" : { + "description" : "The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the order.", + "type" : "string" + }, + "reference" : { + "description" : "A custom reference identifying the order.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "amount" + ] + }, + "CheckoutCreateOrderResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "expiresAt" : { + "description" : "The date that the order will expire.", + "type" : "string" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "orderData" : { + "description" : "The encrypted data that will be used by merchant for adding payments to the order.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The remaining amount in the order.", + "$ref" : "#/components/schemas/Amount" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "remainingAmount", + "expiresAt", + "orderData" + ] + }, + "CheckoutOrder" : { + "properties" : { + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "orderData" + ] + }, + "CheckoutOrderResponse" : { + "properties" : { + "expiresAt" : { + "description" : "The expiry date for the order.", + "type" : "string" + }, + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + }, + "reference" : { + "description" : "The merchant reference for the order.", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The updated remaining amount.", + "$ref" : "#/components/schemas/Amount" + } + }, + "required" : [ + "pspReference" + ] + }, + "CheckoutUtilityRequest" : { + "properties" : { + "originDomains" : { + "description" : "The list of origin domains, for which origin keys are requested.", + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "required" : [ + "originDomains" + ] + }, + "CheckoutUtilityResponse" : { + "properties" : { + "originKeys" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.", + "type" : "object" + } + } + }, "CommonField" : { "properties" : { "name" : { @@ -1807,11 +2484,15 @@ "type" : "array" }, "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The payment amount and currency.", "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "description" : "The address where to send the invoice.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { @@ -1822,7 +2503,7 @@ "type" : "array" }, "countryCode" : { - "description" : "The shopper's country code.", + "description" : "The shopper's two-letter country code.", "type" : "string" }, "deliveryAddress" : { @@ -1830,73 +2511,97 @@ "$ref" : "#/components/schemas/Address" }, "description" : { - "description" : "A short description visible on the Pay By Link page.\nMaximum length: 280 characters.", + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", "type" : "string" }, "expiresAt" : { - "description" : "The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations:\n* Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\"\n* Maximum 20 characters per key. When exceeding, the \"178\" error occurs: \"Metadata key size exceeds limit\"\n* A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id", + "type" : "object" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], "type" : "string" }, "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", "type" : "string" }, "returnUrl" : { - "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL.", + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", "type" : "string" }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address.", "type" : "string" }, "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", "type" : "string" }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", "type" : "string" } }, "required" : [ - "merchantAccount", - "reference", "amount", - "countryCode" - ] - }, - "CreatePaymentLinkResponse" : { - "properties" : { - "amount" : { - "description" : "The amount for which the Pay By Link URL was created.", - "$ref" : "#/components/schemas/Amount" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.", - "type" : "string" - }, - "reference" : { - "description" : "The reference that was specified when the Pay By Link URL was created.", - "type" : "string" - }, - "url" : { - "description" : "The URL at which the shopper can complete the payment.", - "type" : "string" - } - }, - "required" : [ "reference", - "expiresAt", - "url" + "merchantAccount" ] }, "DetailsRequest" : { "properties" : { "details" : { + "additionalProperties" : { + "type" : "string" + }, + "deprecated" : true, "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", "type" : "object" }, @@ -1916,15 +2621,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -1940,6 +2647,138 @@ } } }, + "DokuDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "infix" : { + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "ovoId" : { + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "type" : { + "description" : "**doku**", + "enum" : [ + "doku_mandiri_va", + "doku_cimb_va", + "doku_danamon_va", + "doku_bni_va", + "doku_permata_lite_atm", + "doku_bri_va", + "doku_bca_va", + "doku_alfamart", + "doku_indomaret" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail" + ] + }, + "DotpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "dotpay", + "description" : "**dotpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "DragonpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper’s email address.", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "EcontextVoucherDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's contact number.", + "type" : "string" + }, + "type" : { + "description" : "**econtextvoucher**", + "enum" : [ + "econtext_seveneleven", + "econtext_stores" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail", + "telephoneNumber" + ] + }, + "EntercashDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "entercash", + "description" : "**entercash**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "ExternalPlatform" : { "properties" : { "integrator" : { @@ -2056,9 +2895,70 @@ "accountScore" ] }, + "GiropayDetails" : { + "properties" : { + "type" : { + "default" : "giropay", + "description" : "**giropay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "GooglePayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "googlePayCardNetwork" : { + "description" : "", + "type" : "string" + }, + "googlePayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "paywithgoogle", + "description" : "**paywithgoogle**", + "type" : "string" + } + }, + "required" : [ + "type", + "googlePayToken", + "googlePayCardNetwork" + ] + }, + "IdealDetails" : { + "properties" : { + "issuer" : { + "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "ideal", + "description" : "**ideal**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "InputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -2130,6 +3030,54 @@ } } }, + "KlarnaDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "token" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "LianLianPayDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "LineItem" : { "properties" : { "amountExcludingTax" : { @@ -2177,6 +3125,51 @@ } } }, + "MasterpassDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "masterpassTransactionId" : { + "description" : "The Masterpass transaction ID.", + "type" : "string" + }, + "type" : { + "default" : "masterpass", + "description" : "**masterpass**", + "type" : "string" + } + }, + "required" : [ + "type", + "masterpassTransactionId" + ] + }, + "MbwayDetails" : { + "properties" : { + "shopperEmail" : { + "description" : "", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber", + "shopperEmail" + ] + }, "MerchantDevice" : { "properties" : { "os" : { @@ -2250,6 +3243,34 @@ } } }, + "MobilePayDetails" : { + "properties" : { + "type" : { + "default" : "mobilepay", + "description" : "**mobilepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "MolPayDetails" : { + "properties" : { + "issuer" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "Name" : { "properties" : { "firstName" : { @@ -2282,9 +3303,228 @@ "gender" ] }, + "NexoRouterDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + }, + "uniqueTerminalId" : { + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "OpenInvoiceDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PayPalDetails" : { + "properties" : { + "orderID" : { + "type" : "string" + }, + "payerID" : { + "type" : "string" + }, + "subtype" : { + "description" : "The type of flow to initiate.", + "enum" : [ + "redirect", + "sdk" + ], + "type" : "string" + }, + "type" : { + "default" : "paypal", + "description" : "**paypal**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentLinkResource" : { + "properties" : { + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The payment amount and currency.", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "countryCode" : { + "description" : "The shopper's two-letter country code.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "description" : { + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "type" : "string" + }, + "id" : { + "description" : "A unique identifier of the payment link.", + "readOnly" : true, + "type" : "string" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "merchantAccount" : { + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", + "type" : "string" + }, + "returnUrl" : { + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", + "type" : "string" + }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, + "shopperEmail" : { + "description" : "The shopper's email address.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "status" : { + "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "enum" : [ + "active", + "expired", + "paid" + ], + "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "type" : "string" + }, + "url" : { + "description" : "The URL at which the shopper can complete the payment.", + "readOnly" : true, + "type" : "string" + } + }, + "required" : [ + "amount", + "reference", + "merchantAccount", + "id", + "url", + "status" + ] + }, "PaymentMethod" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -2363,21 +3603,48 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", @@ -2421,6 +3688,12 @@ "shopperReference" : { "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" } }, "required" : [ @@ -2460,21 +3733,48 @@ "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -2489,7 +3789,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -2589,13 +3889,20 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, + "order" : { + "description" : "Contains the order information which is required for partial payments.", + "$ref" : "#/components/schemas/CheckoutOrder" + }, "orderReference" : { "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", "type" : "string" @@ -2605,8 +3912,108 @@ "type" : "string" }, "paymentMethod" : { - "description" : "The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`).", - "type" : "object" + "description" : "The type and required details of a payment method to use.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/AndroidPayDetails" + }, + { + "$ref" : "#/components/schemas/VisaCheckoutDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" + }, + { + "$ref" : "#/components/schemas/AmazonPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" + }, + { + "$ref" : "#/components/schemas/CardDetails" + }, + { + "$ref" : "#/components/schemas/AchDetails" + }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/IdealDetails" + }, + { + "$ref" : "#/components/schemas/PayPalDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/QiwiWalletDetails" + }, + { + "$ref" : "#/components/schemas/VippsDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskOnlineDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskWalletDetails" + }, + { + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, + { + "$ref" : "#/components/schemas/DokuDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/NexoRouterDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + } + ] }, "recurringExpiry" : { "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", @@ -2617,7 +4024,7 @@ "type" : "string" }, "recurringProcessingModel" : { - "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", "Subscription", @@ -2638,7 +4045,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -2680,7 +4087,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -2688,12 +4095,18 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "telephoneNumber" : { "description" : "The shopper's telephone number.", "type" : "string" @@ -2718,18 +4131,38 @@ "PaymentResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "authentication" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", "type" : "object" }, @@ -2744,7 +4177,14 @@ "description" : "The fraud result properties of the payment.", "$ref" : "#/components/schemas/FraudResult" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains the details that will be presented to the shopper.", "type" : "object" }, @@ -2761,7 +4201,7 @@ "$ref" : "#/components/schemas/Redirect" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -2769,7 +4209,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2790,24 +4230,51 @@ "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2826,7 +4293,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2925,6 +4392,9 @@ "type" : "string" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, @@ -2949,7 +4419,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -2995,7 +4465,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -3003,7 +4473,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -3060,16 +4530,33 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -3079,6 +4566,10 @@ "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "paymentMethod" : { "description" : "The payment method used in the transaction.", "type" : "string" @@ -3088,7 +4579,7 @@ "type" : "string" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -3096,7 +4587,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3127,6 +4618,23 @@ "shopperLocale" ] }, + "QiwiWalletDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "qiwiwallet", + "description" : "**qiwiwallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "Recurring" : { "properties" : { "contract" : { @@ -3164,6 +4672,9 @@ "RecurringDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -3215,6 +4726,9 @@ "Redirect" : { "properties" : { "data" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", "type" : "object" }, @@ -3232,6 +4746,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "authCode" : { + "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "RiskData" : { "properties" : { "clientData" : { @@ -3260,6 +5146,52 @@ } } }, + "SamsungPayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "samsungPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "samsungpay", + "description" : "**samsungpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "samsungPayToken" + ] + }, + "SepaDirectDebitDetails" : { + "properties" : { + "iban" : { + "description" : "The International Bank Account Number (IBAN).", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.", + "type" : "string" + }, + "type" : { + "default" : "sepadirectdebit", + "description" : "**sepadirectdebit**", + "type" : "string" + } + }, + "required" : [ + "type", + "iban", + "ownerName" + ] + }, "ServiceError" : { "properties" : { "errorCode" : { @@ -3394,6 +5326,9 @@ "SubInputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -3425,6 +5360,7 @@ "ThreeDS2RequestData" : { "properties" : { "authenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -3447,6 +5383,7 @@ "$ref" : "#/components/schemas/DeviceRenderOptions" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -3467,6 +5404,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "default" : "60", "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3503,7 +5441,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -3522,7 +5460,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -3553,7 +5491,107 @@ "type" : "string" } } + }, + "UpdatePaymentLinkRequest" : { + "properties" : { + "status" : { + "description" : "Status of the payment link. Possible values:\n* **expired**", + "enum" : [ + "expired" + ], + "type" : "string" + } + }, + "required" : [ + "status" + ] + }, + "VippsDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "vipps", + "description" : "**vipps**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "VisaCheckoutDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "visacheckout", + "description" : "**visacheckout**", + "type" : "string" + }, + "visaCheckoutCallId" : { + "description" : "", + "type" : "string" + } + }, + "required" : [ + "type", + "visaCheckoutCallId" + ] + }, + "WeChatPayDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "WeChatPayMiniProgramDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" } } } -} +} \ No newline at end of file diff --git a/json/CheckoutService-v49.json b/json/CheckoutService-v49.json index c8954de..b011514 100644 --- a/json/CheckoutService-v49.json +++ b/json/CheckoutService-v49.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://checkout-test.adyen.com/v49" @@ -8,7 +8,7 @@ "info" : { "version" : "49", "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v49/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v49/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Support", @@ -17,16 +17,155 @@ } }, "x-groups" : [ - "API Integration", - "SDK Integration" + "Payments", + "Payment links", + "Orders", + "Classic Checkout SDK", + "Utility" ], "paths" : { + "/orders" : { + "post" : { + "summary" : "Creates an order for the given amount.", + "description" : "Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods.", + "operationId" : "post-orders", + "x-groupName" : "Orders", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/orders/cancel" : { + "post" : { + "summary" : "Cancels the given order.", + "description" : "Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.", + "operationId" : "post-orders-cancel", + "x-groupName" : "Orders", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/originKeys" : { + "post" : { + "summary" : "Create originKey values for one or more merchant domains.", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "operationId" : "post-originKeys", + "x-groupName" : "Utility", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", - "x-groupName" : "API Integration", - "x-sortIndex" : 8, + "operationId" : "post-paymentLinks", + "x-groupName" : "Payment links", + "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { @@ -41,7 +180,111 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkResponse" + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "201" : { + "description" : "Created - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentLinks/{linkId}" : { + "get" : { + "summary" : "Retrieve a payment link.", + "description" : "Retrieves the payment link details using the payment link `id`.", + "operationId" : "get-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 2, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + }, + "patch" : { + "summary" : "Update the status of a payment link", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "operationId" : "patch-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" } } }, @@ -69,7 +312,8 @@ "post" : { "summary" : "Returns available payment methods.", "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", - "x-groupName" : "API Integration", + "operationId" : "post-paymentMethods", + "x-groupName" : "Payments", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -109,11 +353,57 @@ } } }, + "/paymentMethods/balance" : { + "post" : { + "summary" : "Returns the available balance on gift card.", + "description" : "Retrieves the balance remaining on a shopper's gift card. To check a gift card's balance, make a POST `/paymentMethods/balance` call and include the gift card's details inside a `paymentMethod` object.", + "operationId" : "post-paymentMethods-balance", + "x-groupName" : "Orders", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-paymentSession", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -156,8 +446,9 @@ "/payments" : { "post" : { "summary" : "Starts a transaction.", - "description" : "Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`).\n* For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", - "x-groupName" : "API Integration", + "description" : "Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**).\n* For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", + "operationId" : "post-payments", + "x-groupName" : "Payments", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -201,7 +492,8 @@ "post" : { "summary" : "Submits details for a payment.", "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", - "x-groupName" : "API Integration", + "operationId" : "post-payments-details", + "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { @@ -245,7 +537,8 @@ "post" : { "summary" : "Verifies payment result.", "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-payments-result", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -406,38 +699,43 @@ } } }, - "AdditionalDataCommon" : { + "AchDetails" : { "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.", + "bankAccountNumber" : { + "description" : "The bank account number (without separators).", "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).", + "bankLocationId" : { + "description" : "The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "encryptedBankAccountNumber" : { + "description" : "Encrypted bank account number. The bank account number (without separators).", "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.", + "encryptedBankLocationId" : { + "description" : "Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "ownerName" : { + "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, - "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" : { + "default" : "ach", + "description" : "**ach**", "type" : "string" } - } + }, + "required" : [ + "type", + "bankAccountNumber" + ] }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter.", + "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", "type" : "string" }, "executeThreeD" : { @@ -449,105 +747,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -556,16 +838,32 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", "type" : "string" } }, @@ -574,284 +872,340 @@ ] }, "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": { + "properties" : { + "carRental.checkOutDate" : { "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { + "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": { + "carRental.daysRented" : { "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": { + "carRental.fuelCharges" : { "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.insuranceCharges": { + "carRental.insuranceCharges" : { "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.noShowIndicator": { + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", "type" : "string" }, - "carRental.oneWayDropOffCharges": { + "carRental.oneWayDropOffCharges" : { "description" : "Charge associated with not returning a vehicle to the original rental location.", "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" + } + } + }, + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", + "type" : "string" + }, + "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" + }, + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", + "type" : "string" + }, + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", + "type" : "string" + }, + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", + "type" : "string" + }, + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", + "type" : "string" + }, + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", + "type" : "string" + }, + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", + "type" : "string" + }, + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", + "type" : "string" + }, + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", + "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" } @@ -861,26 +1215,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -890,593 +1236,245 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } } }, - "ResponseAdditionalDataCommon" : { - "properties" : { - "acquirerAccountCode" : { - "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n> Only relevant for PayPal transactions.", - "type" : "string" - }, - "acquirerCode" : { - "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", - "type" : "string" - }, - "acquirerReference" : { - "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", - "type" : "string" - }, - "alias" : { - "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", - "type" : "string" - }, - "aliasType" : { - "description" : "The type of the card alias.\n\nExample: Default", - "type" : "string" - }, - "authCode" : { - "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", - "type" : "string" - }, - "authorisedAmountCurrency" : { - "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "authorisedAmountValue" : { - "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "avsResult" : { - "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", - "type" : "string" - }, - "avsResultRaw" : { - "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", - "type" : "string" - }, - "bic" : { - "description" : "BIC of a bank account.\n\nExample: TESTNL01\n> Only relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "dsTransID" : { - "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", - "type" : "string" - }, - "eci" : { - "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", - "type" : "string" - }, - "expiryDate" : { - "description" : "The expiry date on the card.\n\nExample: 6/2016\n> Returned only in case of a card payment.", - "type" : "string" - }, - "extraCostsCurrency" : { - "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", - "type" : "string" - }, - "extraCostsValue" : { - "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", - "type" : "string" - }, - "fraudCheck-[itemNr]-[FraudCheckname]" : { - "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", - "type" : "string" - }, - "fundingSource" : { - "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", - "type" : "string" - }, - "fundsAvailability" : { - "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", - "type" : "string" - }, - "inferredRefusalReason" : { - "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n* Low Authrate Bin\n* Non-reloadable prepaid card", - "type" : "string" - }, - "issuerCountry" : { - "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", - "type" : "string" - }, - "mcBankNetReferenceNumber" : { - "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "networkTxReference" : { - "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", - "type" : "string" - }, - "ownerName" : { - "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "paymentAccountReference" : { - "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", - "type" : "string" - }, - "paymentMethodVariant" : { - "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", - "type" : "string" - }, - "payoutEligible" : { - "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", - "type" : "string" - }, - "realtimeAccountUpdaterStatus" : { - "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n* ContactCardAccountHolder", - "type" : "string" - }, - "receiptFreeText" : { - "description" : "Message to be displayed on the terminal.", - "type" : "string" - }, - "recurring.firstPspReference" : { - "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", - "type" : "string" - }, - "recurring.recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring transaction.", - "type" : "string" - }, - "referred" : { - "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", - "type" : "string" - }, - "refusalReasonRaw" : { - "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", - "type" : "string" - }, - "terminalId" : { - "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", - "type" : "string" - }, - "threeDAuthenticated" : { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", - "type" : "string" - }, - "threeDAuthenticatedResponse" : { - "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", - "type" : "string" - }, - "threeDOffered" : { - "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", - "type" : "string" - }, - "threeDOfferedResponse" : { - "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", - "type" : "string" - }, - "threeDSVersion" : { - "description" : "The 3D Secure 2 version.", - "type" : "string" - }, - "visaTransactionId" : { - "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "xid" : { - "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", - "type" : "string" - } - } - }, - "ResponseAdditionalDataBillingAddress" : { - "properties" : { - "billingAddress.city" : { - "description" : "The billing address city passed in the payment request.", - "type" : "string" - }, - "billingAddress.country" : { - "description" : "The billing address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "billingAddress.houseNumberOrName" : { - "description" : "The billing address house number or name passed in the payment request.", - "type" : "string" - }, - "billingAddress.postalCode" : { - "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "billingAddress.stateOrProvince" : { - "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "billingAddress.street" : { - "description" : "The billing address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataCard" : { - "properties" : { - "cardBin" : { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", - "type" : "string" - }, - "cardHolderName" : { - "description" : "The cardholder name passed in the payment request.", - "type" : "string" - }, - "cardIssuingBank" : { - "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", - "type" : "string" - }, - "cardIssuingCountry" : { - "description" : "The country where the card was issued.\n\nExample: US", - "type" : "string" - }, - "cardIssuingCurrency" : { - "description" : "The currency in which the card is issued, if this information is available.\n\nExample: USD", - "type" : "string" - }, - "cardPaymentMethod" : { - "description" : "The card payment method used for the transaction.\n\nExample: amex", - "type" : "string" - }, - "cardSummary" : { - "description" : "The last four digits of a card number.\n> Returned only in case of a card payment.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataDeliveryAddress" : { - "properties" : { - "deliveryAddress.city" : { - "description" : "The delivery address city passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.country" : { - "description" : "The delivery address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "deliveryAddress.houseNumberOrName" : { - "description" : "The delivery address house number or name passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.postalCode" : { - "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "deliveryAddress.stateOrProvince" : { - "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "deliveryAddress.street" : { - "description" : "The delivery address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataInstallments" : { - "properties" : { - "installments.value" : { - "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", - "type" : "string" - }, - "installmentPaymentData.installmentType" : { - "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", - "type" : "string" - }, - "installmentPaymentData.paymentOptions" : { - "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].numberOfInstallments" : { - "description" : "Total number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].interestRate" : { - "description" : "Interest rate for the installment period.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].installmentFee" : { - "description" : "Installment fee amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].annualPercentageRate" : { - "description" : "Annual interest rate.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { - "description" : "First Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { - "description" : "Subsequent Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { - "description" : "Minimum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { - "description" : "Maximum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].totalAmountDue" : { - "description" : "Total amount in minor units.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataPayPal" : { - "properties" : { - "paypalPayerStatus" : { - "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", - "type" : "string" - }, - "paypalPayerResidenceCountry" : { - "description" : "The buyer's country of residence.\n\nExample: NL", - "type" : "string" - }, - "paypalPayerId" : { - "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", - "type" : "string" - }, - "paypalEmail" : { - "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", - "type" : "string" - }, - "paypalProtectionEligibility" : { - "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", - "type" : "string" - } - } - }, - "ResponseAdditionalDataSepa" : { - "properties" : { - "sepadirectdebit.dateOfSignature" : { - "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", - "type" : "string" - }, - "sepadirectdebit.mandateId" : { - "description" : "Its value corresponds to the pspReference value of the transaction.", - "type" : "string" - }, - "sepadirectdebit.sequenceType" : { - "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", - "type" : "string" - } - } - }, "Address" : { "properties" : { "city" : { @@ -1512,6 +1510,24 @@ "country" ] }, + "AmazonPayDetails" : { + "properties" : { + "amazonPayToken" : { + "type" : "string" + }, + "checkoutSessionId" : { + "type" : "string" + }, + "type" : { + "default" : "amazonpay", + "description" : "**amazonpay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1531,6 +1547,46 @@ "currency" ] }, + "AndroidPayDetails" : { + "properties" : { + "androidPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "androidPayToken" + ] + }, + "ApplePayDetails" : { + "properties" : { + "applePayToken" : { + "description" : "", + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "applepay", + "description" : "**applepay**", + "type" : "string" + } + }, + "required" : [ + "type", + "applePayToken" + ] + }, "ApplicationInfo" : { "properties" : { "adyenLibrary" : { @@ -1616,6 +1672,55 @@ } } }, + "BillDeskOnlineDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_online", + "description" : "**billdesk_online**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BillDeskWalletDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_wallet", + "description" : "**billdesk_wallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BlikDetails" : { + "properties" : { + "blikCode" : { + "description" : "BLIK code consisting of 6 digits.", + "type" : "string" + }, + "type" : { + "description" : "**blik**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "BrowserInfo" : { "properties" : { "acceptHeader" : { @@ -1625,7 +1730,7 @@ "type" : "string" }, "colorDepth" : { - "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.", + "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, @@ -1634,6 +1739,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "default" : "true", "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, @@ -1732,20 +1838,767 @@ "holderName" ] }, - "CheckoutPaymentsAction" : { + "CardDetails" : { + "properties" : { + "cupsecureplus.smscode" : { + "deprecated" : true, + "type" : "string" + }, + "cvc" : { + "type" : "string" + }, + "encryptedCardNumber" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryMonth" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryYear" : { + "description" : "", + "type" : "string" + }, + "expiryMonth" : { + "type" : "string" + }, + "expiryYear" : { + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "holderName" : { + "type" : "string" + }, + "number" : { + "type" : "string" + }, + "type" : { + "default" : "scheme", + "description" : "**scheme**", + "type" : "string" + } + }, + "required" : [ + "type", + "encryptedCardNumber", + "encryptedExpiryMonth", + "encryptedExpiryYear" + ] + }, + "CheckoutAwaitAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutBalanceCheckRequest" : { + "properties" : { + "accountInfo" : { + "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/AccountInfo" + }, + "additionalAmount" : { + "description" : "If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).\nRequired to be in the same currency as the `amount`. ", + "$ref" : "#/components/schemas/Amount" + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "browserInfo" : { + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "$ref" : "#/components/schemas/BrowserInfo" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "deviceFingerprint" : { + "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", + "type" : "string" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "merchantRiskIndicator" : { + "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/MerchantRiskIndicator" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "paymentMethod" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The collection that contains the type of the payment method and its specific information.", + "type" : "object" + }, + "recurring" : { + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).", + "$ref" : "#/components/schemas/Recurring" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "selectedBrand" : { + "description" : "Some payment methods require defining a value for this field to specify how to process the transaction.\n\nFor the Bancontact payment method, it can be set to:\n* `maestro` (default), to be processed like a Maestro card, or\n* `bcmc`, to be processed like a Bancontact card.", + "type" : "string" + }, + "selectedRecurringDetailReference" : { + "description" : "The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.", + "type" : "string" + }, + "sessionId" : { + "description" : "A session ID used to identify a payment session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "threeDS2RequestData" : { + "description" : "Request fields for 3D Secure 2.", + "$ref" : "#/components/schemas/ThreeDS2RequestData" + }, + "totalsGroup" : { + "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "paymentMethod" + ] + }, + "CheckoutBalanceCheckResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "balance" : { + "description" : "The balance for the payment method.", + "$ref" : "#/components/schemas/Amount" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "balance" + ] + }, + "CheckoutCancelOrderRequest" : { + "properties" : { + "merchantAccount" : { + "description" : "The merchant account identifier that orderData belongs to.", + "type" : "string" + }, + "order" : { + "description" : "The order request object that contains a pspReference that represents the order and the matching encrypted order data.", + "$ref" : "#/components/schemas/CheckoutOrder" + } + }, + "required" : [ + "order", + "merchantAccount" + ] + }, + "CheckoutCancelOrderResponse" : { + "properties" : { + "pspReference" : { + "description" : "A unique reference of the cancellation request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the cancellation request.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "resultCode" + ] + }, + "CheckoutCreateOrderRequest" : { + "properties" : { + "amount" : { + "description" : "The total amount of the order.", + "$ref" : "#/components/schemas/Amount" + }, + "expiresAt" : { + "description" : "The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the order.", + "type" : "string" + }, + "reference" : { + "description" : "A custom reference identifying the order.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "amount" + ] + }, + "CheckoutCreateOrderResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "expiresAt" : { + "description" : "The date that the order will expire.", + "type" : "string" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "orderData" : { + "description" : "The encrypted data that will be used by merchant for adding payments to the order.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The remaining amount in the order.", + "$ref" : "#/components/schemas/Amount" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "remainingAmount", + "expiresAt", + "orderData" + ] + }, + "CheckoutDonationAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutOneTimePasscodeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect as fallback, this object contains information about the redirect.", + "$ref" : "#/components/schemas/Redirect" + }, + "resendInterval" : { + "description" : "The interval in second between OTP resend.", + "format" : "int32", + "type" : "integer" + }, + "resendMaxAttempts" : { + "description" : "The maximum number of OTP resend attempts.", + "format" : "int32", + "type" : "integer" + }, + "resendUrl" : { + "description" : "The URL, to which you make POST request to trigger OTP resend.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutOrder" : { + "properties" : { + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "orderData" + ] + }, + "CheckoutOrderResponse" : { + "properties" : { + "expiresAt" : { + "description" : "The expiry date for the order.", + "type" : "string" + }, + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + }, + "reference" : { + "description" : "The merchant reference for the order.", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The updated remaining amount.", + "$ref" : "#/components/schemas/Amount" + } + }, + "required" : [ + "pspReference" + ] + }, + "CheckoutQrCodeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "qrCodeData" : { + "description" : "The contents of the QR code as a UTF8 string.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutRedirectAction" : { + "properties" : { + "data" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", + "type" : "object" + }, + "method" : { + "description" : "Specifies the HTTP method, for example GET or POST.", + "type" : "string" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutSDKAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "sdkData" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The data to pass to the SDK.", + "type" : "object" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutThreeDS2ChallengeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the challenge.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutThreeDS2FingerPrintAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutUtilityRequest" : { + "properties" : { + "originDomains" : { + "description" : "The list of origin domains, for which origin keys are requested.", + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "required" : [ + "originDomains" + ] + }, + "CheckoutUtilityResponse" : { + "properties" : { + "originKeys" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.", + "type" : "object" + } + } + }, + "CheckoutVoucherAction" : { "properties" : { "alternativeReference" : { "description" : "The voucher alternative reference code.", "type" : "string" }, - "data" : { - "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", - "type" : "object" - }, "downloadUrl" : { "description" : "The URL to download the voucher.", "type" : "string" }, + "entity" : { + "description" : "An entity number of Multibanco.", + "type" : "string" + }, "expiresAt" : { "description" : "The date time of the voucher expiry.", "type" : "string" @@ -1774,10 +2627,6 @@ "description" : "The merchant reference.", "type" : "string" }, - "method" : { - "description" : "Specifies the HTTP method, for example GET or POST.", - "type" : "string" - }, "paymentData" : { "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", "type" : "string" @@ -1786,10 +2635,6 @@ "description" : "Specifies the payment method.", "type" : "string" }, - "qrCodeData" : { - "description" : "The contents of the QR code as a UTF8 string.", - "type" : "string" - }, "reference" : { "description" : "The voucher reference code.", "type" : "string" @@ -1806,29 +2651,10 @@ "description" : "The surcharge amount.", "$ref" : "#/components/schemas/Amount" }, - "token" : { - "description" : "A token to pass to the 3DS2 Component to get the fingerprint/challenge.", - "type" : "string" - }, "totalAmount" : { "description" : "The total amount (initial plus surcharge amount).", "$ref" : "#/components/schemas/Amount" }, - "type" : { - "description" : "Enum that specifies the action that needs to be taken by the client.", - "enum" : [ - "await", - "donate", - "qrCode", - "redirect", - "sdk", - "threeDS2Challenge", - "threeDS2Fingerprint", - "voucher", - "wechatpaySDK" - ], - "type" : "string" - }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" @@ -1910,11 +2736,15 @@ "type" : "array" }, "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The payment amount and currency.", "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "description" : "The address where to send the invoice.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { @@ -1925,7 +2755,7 @@ "type" : "array" }, "countryCode" : { - "description" : "The shopper's country code.", + "description" : "The shopper's two-letter country code.", "type" : "string" }, "deliveryAddress" : { @@ -1933,73 +2763,97 @@ "$ref" : "#/components/schemas/Address" }, "description" : { - "description" : "A short description visible on the Pay By Link page.\nMaximum length: 280 characters.", + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", "type" : "string" }, "expiresAt" : { - "description" : "The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations:\n* Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\"\n* Maximum 20 characters per key. When exceeding, the \"178\" error occurs: \"Metadata key size exceeds limit\"\n* A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id", + "type" : "object" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], "type" : "string" }, "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", "type" : "string" }, "returnUrl" : { - "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL.", + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", "type" : "string" }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address.", "type" : "string" }, "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", "type" : "string" }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", "type" : "string" } }, "required" : [ - "merchantAccount", - "reference", "amount", - "countryCode" - ] - }, - "CreatePaymentLinkResponse" : { - "properties" : { - "amount" : { - "description" : "The amount for which the Pay By Link URL was created.", - "$ref" : "#/components/schemas/Amount" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.", - "type" : "string" - }, - "reference" : { - "description" : "The reference that was specified when the Pay By Link URL was created.", - "type" : "string" - }, - "url" : { - "description" : "The URL at which the shopper can complete the payment.", - "type" : "string" - } - }, - "required" : [ "reference", - "expiresAt", - "url" + "merchantAccount" ] }, "DetailsRequest" : { "properties" : { "details" : { + "additionalProperties" : { + "type" : "string" + }, + "deprecated" : true, "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", "type" : "object" }, @@ -2019,15 +2873,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2043,6 +2899,138 @@ } } }, + "DokuDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "infix" : { + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "ovoId" : { + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "type" : { + "description" : "**doku**", + "enum" : [ + "doku_mandiri_va", + "doku_cimb_va", + "doku_danamon_va", + "doku_bni_va", + "doku_permata_lite_atm", + "doku_bri_va", + "doku_bca_va", + "doku_alfamart", + "doku_indomaret" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail" + ] + }, + "DotpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "dotpay", + "description" : "**dotpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "DragonpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper’s email address.", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "EcontextVoucherDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's contact number.", + "type" : "string" + }, + "type" : { + "description" : "**econtextvoucher**", + "enum" : [ + "econtext_seveneleven", + "econtext_stores" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail", + "telephoneNumber" + ] + }, + "EntercashDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "entercash", + "description" : "**entercash**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "ExternalPlatform" : { "properties" : { "integrator" : { @@ -2159,9 +3147,70 @@ "accountScore" ] }, + "GiropayDetails" : { + "properties" : { + "type" : { + "default" : "giropay", + "description" : "**giropay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "GooglePayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "googlePayCardNetwork" : { + "description" : "", + "type" : "string" + }, + "googlePayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "paywithgoogle", + "description" : "**paywithgoogle**", + "type" : "string" + } + }, + "required" : [ + "type", + "googlePayToken", + "googlePayCardNetwork" + ] + }, + "IdealDetails" : { + "properties" : { + "issuer" : { + "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "ideal", + "description" : "**ideal**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "InputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -2233,6 +3282,54 @@ } } }, + "KlarnaDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "token" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "LianLianPayDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "LineItem" : { "properties" : { "amountExcludingTax" : { @@ -2280,6 +3377,51 @@ } } }, + "MasterpassDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "masterpassTransactionId" : { + "description" : "The Masterpass transaction ID.", + "type" : "string" + }, + "type" : { + "default" : "masterpass", + "description" : "**masterpass**", + "type" : "string" + } + }, + "required" : [ + "type", + "masterpassTransactionId" + ] + }, + "MbwayDetails" : { + "properties" : { + "shopperEmail" : { + "description" : "", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber", + "shopperEmail" + ] + }, "MerchantDevice" : { "properties" : { "os" : { @@ -2353,6 +3495,34 @@ } } }, + "MobilePayDetails" : { + "properties" : { + "type" : { + "default" : "mobilepay", + "description" : "**mobilepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "MolPayDetails" : { + "properties" : { + "issuer" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "Name" : { "properties" : { "firstName" : { @@ -2385,6 +3555,222 @@ "gender" ] }, + "NexoRouterDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + }, + "uniqueTerminalId" : { + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "OpenInvoiceDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PayPalDetails" : { + "properties" : { + "orderID" : { + "type" : "string" + }, + "payerID" : { + "type" : "string" + }, + "subtype" : { + "description" : "The type of flow to initiate.", + "enum" : [ + "redirect", + "sdk" + ], + "type" : "string" + }, + "type" : { + "default" : "paypal", + "description" : "**paypal**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentLinkResource" : { + "properties" : { + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The payment amount and currency.", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "countryCode" : { + "description" : "The shopper's two-letter country code.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "description" : { + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "type" : "string" + }, + "id" : { + "description" : "A unique identifier of the payment link.", + "readOnly" : true, + "type" : "string" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "merchantAccount" : { + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", + "type" : "string" + }, + "returnUrl" : { + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", + "type" : "string" + }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, + "shopperEmail" : { + "description" : "The shopper's email address.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "status" : { + "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "enum" : [ + "active", + "expired", + "paid" + ], + "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "type" : "string" + }, + "url" : { + "description" : "The URL at which the shopper can complete the payment.", + "readOnly" : true, + "type" : "string" + } + }, + "required" : [ + "amount", + "reference", + "merchantAccount", + "id", + "url", + "status" + ] + }, "PaymentMethod" : { "properties" : { "brands" : { @@ -2395,6 +3781,9 @@ "type" : "array" }, "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -2473,21 +3862,48 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", @@ -2531,6 +3947,12 @@ "shopperReference" : { "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" } }, "required" : [ @@ -2577,21 +3999,48 @@ "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -2606,7 +4055,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -2710,13 +4159,20 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, + "order" : { + "description" : "Contains the order information which is required for partial payments.", + "$ref" : "#/components/schemas/CheckoutOrder" + }, "orderReference" : { "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", "type" : "string" @@ -2726,8 +4182,108 @@ "type" : "string" }, "paymentMethod" : { - "description" : "The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`).", - "type" : "object" + "description" : "The type and required details of a payment method to use.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/AndroidPayDetails" + }, + { + "$ref" : "#/components/schemas/VisaCheckoutDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" + }, + { + "$ref" : "#/components/schemas/AmazonPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" + }, + { + "$ref" : "#/components/schemas/CardDetails" + }, + { + "$ref" : "#/components/schemas/AchDetails" + }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/IdealDetails" + }, + { + "$ref" : "#/components/schemas/PayPalDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/QiwiWalletDetails" + }, + { + "$ref" : "#/components/schemas/VippsDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskOnlineDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskWalletDetails" + }, + { + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, + { + "$ref" : "#/components/schemas/DokuDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/NexoRouterDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + } + ] }, "recurringExpiry" : { "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", @@ -2738,7 +4294,7 @@ "type" : "string" }, "recurringProcessingModel" : { - "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", "Subscription", @@ -2759,7 +4315,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -2801,7 +4357,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -2809,12 +4365,18 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "storePaymentMethod" : { "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" @@ -2844,21 +4406,69 @@ "properties" : { "action" : { "description" : "Action to be taken for completing the payment.", - "$ref" : "#/components/schemas/CheckoutPaymentsAction" - }, - "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + } ] }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, "authentication" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", "type" : "object" }, @@ -2877,7 +4487,14 @@ "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains the details that will be presented to the shopper.", "type" : "object" }, @@ -2894,7 +4511,7 @@ "$ref" : "#/components/schemas/Redirect" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -2902,7 +4519,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2923,24 +4540,51 @@ "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2959,7 +4603,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3062,6 +4706,9 @@ "type" : "string" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, @@ -3086,7 +4733,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -3132,7 +4779,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -3140,7 +4787,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -3201,16 +4848,33 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -3220,6 +4884,10 @@ "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "paymentMethod" : { "description" : "The payment method used in the transaction.", "type" : "string" @@ -3229,7 +4897,7 @@ "type" : "string" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -3237,7 +4905,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3268,6 +4936,23 @@ "shopperLocale" ] }, + "QiwiWalletDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "qiwiwallet", + "description" : "**qiwiwallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "Recurring" : { "properties" : { "contract" : { @@ -3312,6 +4997,9 @@ "type" : "array" }, "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -3363,6 +5051,9 @@ "Redirect" : { "properties" : { "data" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", "type" : "object" }, @@ -3380,6 +5071,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "authCode" : { + "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "RiskData" : { "properties" : { "clientData" : { @@ -3408,6 +5471,52 @@ } } }, + "SamsungPayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "samsungPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "samsungpay", + "description" : "**samsungpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "samsungPayToken" + ] + }, + "SepaDirectDebitDetails" : { + "properties" : { + "iban" : { + "description" : "The International Bank Account Number (IBAN).", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.", + "type" : "string" + }, + "type" : { + "default" : "sepadirectdebit", + "description" : "**sepadirectdebit**", + "type" : "string" + } + }, + "required" : [ + "type", + "iban", + "ownerName" + ] + }, "ServiceError" : { "properties" : { "errorCode" : { @@ -3589,6 +5698,9 @@ "SubInputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -3628,6 +5740,7 @@ "type" : "string" }, "authenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -3658,6 +5771,7 @@ "type" : "string" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -3678,6 +5792,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "default" : "60", "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3718,7 +5833,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -3737,7 +5852,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -3768,7 +5883,107 @@ "type" : "string" } } + }, + "UpdatePaymentLinkRequest" : { + "properties" : { + "status" : { + "description" : "Status of the payment link. Possible values:\n* **expired**", + "enum" : [ + "expired" + ], + "type" : "string" + } + }, + "required" : [ + "status" + ] + }, + "VippsDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "vipps", + "description" : "**vipps**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "VisaCheckoutDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "visacheckout", + "description" : "**visacheckout**", + "type" : "string" + }, + "visaCheckoutCallId" : { + "description" : "", + "type" : "string" + } + }, + "required" : [ + "type", + "visaCheckoutCallId" + ] + }, + "WeChatPayDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "WeChatPayMiniProgramDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" } } } -} +} \ No newline at end of file diff --git a/json/CheckoutService-v50.json b/json/CheckoutService-v50.json index 4a886e9..92928bc 100644 --- a/json/CheckoutService-v50.json +++ b/json/CheckoutService-v50.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://checkout-test.adyen.com/v50" @@ -8,7 +8,7 @@ "info" : { "version" : "50", "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v50/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v50/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Support", @@ -17,16 +17,155 @@ } }, "x-groups" : [ - "API Integration", - "SDK Integration" + "Payments", + "Payment links", + "Orders", + "Classic Checkout SDK", + "Utility" ], "paths" : { + "/orders" : { + "post" : { + "summary" : "Creates an order for the given amount.", + "description" : "Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods.", + "operationId" : "post-orders", + "x-groupName" : "Orders", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/orders/cancel" : { + "post" : { + "summary" : "Cancels the given order.", + "description" : "Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.", + "operationId" : "post-orders-cancel", + "x-groupName" : "Orders", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/originKeys" : { + "post" : { + "summary" : "Create originKey values for one or more merchant domains.", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "operationId" : "post-originKeys", + "x-groupName" : "Utility", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", - "x-groupName" : "API Integration", - "x-sortIndex" : 8, + "operationId" : "post-paymentLinks", + "x-groupName" : "Payment links", + "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { @@ -41,7 +180,111 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkResponse" + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "201" : { + "description" : "Created - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentLinks/{linkId}" : { + "get" : { + "summary" : "Retrieve a payment link.", + "description" : "Retrieves the payment link details using the payment link `id`.", + "operationId" : "get-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 2, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + }, + "patch" : { + "summary" : "Update the status of a payment link", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "operationId" : "patch-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" } } }, @@ -69,7 +312,8 @@ "post" : { "summary" : "Returns available payment methods.", "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", - "x-groupName" : "API Integration", + "operationId" : "post-paymentMethods", + "x-groupName" : "Payments", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -109,11 +353,57 @@ } } }, + "/paymentMethods/balance" : { + "post" : { + "summary" : "Returns the available balance on gift card.", + "description" : "Retrieves the balance remaining on a shopper's gift card. To check a gift card's balance, make a POST `/paymentMethods/balance` call and include the gift card's details inside a `paymentMethod` object.", + "operationId" : "post-paymentMethods-balance", + "x-groupName" : "Orders", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-paymentSession", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -156,8 +446,9 @@ "/payments" : { "post" : { "summary" : "Starts a transaction.", - "description" : "Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`).\n* For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", - "x-groupName" : "API Integration", + "description" : "Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**).\n* For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", + "operationId" : "post-payments", + "x-groupName" : "Payments", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -201,7 +492,8 @@ "post" : { "summary" : "Submits details for a payment.", "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", - "x-groupName" : "API Integration", + "operationId" : "post-payments-details", + "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { @@ -245,7 +537,8 @@ "post" : { "summary" : "Verifies payment result.", "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-payments-result", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -415,38 +708,43 @@ } } }, - "AdditionalDataCommon" : { + "AchDetails" : { "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.", + "bankAccountNumber" : { + "description" : "The bank account number (without separators).", "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).", + "bankLocationId" : { + "description" : "The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "encryptedBankAccountNumber" : { + "description" : "Encrypted bank account number. The bank account number (without separators).", "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.", + "encryptedBankLocationId" : { + "description" : "Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "ownerName" : { + "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, - "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" : { + "default" : "ach", + "description" : "**ach**", "type" : "string" } - } + }, + "required" : [ + "type", + "bankAccountNumber" + ] }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter.", + "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", "type" : "string" }, "executeThreeD" : { @@ -458,105 +756,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -565,16 +847,32 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", "type" : "string" } }, @@ -583,284 +881,340 @@ ] }, "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": { + "properties" : { + "carRental.checkOutDate" : { "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { + "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": { + "carRental.daysRented" : { "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": { + "carRental.fuelCharges" : { "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.insuranceCharges": { + "carRental.insuranceCharges" : { "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.noShowIndicator": { + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", "type" : "string" }, - "carRental.oneWayDropOffCharges": { + "carRental.oneWayDropOffCharges" : { "description" : "Charge associated with not returning a vehicle to the original rental location.", "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" + } + } + }, + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", + "type" : "string" + }, + "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" + }, + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", + "type" : "string" + }, + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", + "type" : "string" + }, + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", + "type" : "string" + }, + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", + "type" : "string" + }, + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", + "type" : "string" + }, + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", + "type" : "string" + }, + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", + "type" : "string" + }, + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", + "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" } @@ -870,26 +1224,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -899,593 +1245,245 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } } }, - "ResponseAdditionalDataCommon" : { - "properties" : { - "acquirerAccountCode" : { - "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n> Only relevant for PayPal transactions.", - "type" : "string" - }, - "acquirerCode" : { - "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", - "type" : "string" - }, - "acquirerReference" : { - "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", - "type" : "string" - }, - "alias" : { - "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", - "type" : "string" - }, - "aliasType" : { - "description" : "The type of the card alias.\n\nExample: Default", - "type" : "string" - }, - "authCode" : { - "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", - "type" : "string" - }, - "authorisedAmountCurrency" : { - "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "authorisedAmountValue" : { - "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "avsResult" : { - "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", - "type" : "string" - }, - "avsResultRaw" : { - "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", - "type" : "string" - }, - "bic" : { - "description" : "BIC of a bank account.\n\nExample: TESTNL01\n> Only relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "dsTransID" : { - "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", - "type" : "string" - }, - "eci" : { - "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", - "type" : "string" - }, - "expiryDate" : { - "description" : "The expiry date on the card.\n\nExample: 6/2016\n> Returned only in case of a card payment.", - "type" : "string" - }, - "extraCostsCurrency" : { - "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", - "type" : "string" - }, - "extraCostsValue" : { - "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", - "type" : "string" - }, - "fraudCheck-[itemNr]-[FraudCheckname]" : { - "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", - "type" : "string" - }, - "fundingSource" : { - "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", - "type" : "string" - }, - "fundsAvailability" : { - "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", - "type" : "string" - }, - "inferredRefusalReason" : { - "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n* Low Authrate Bin\n* Non-reloadable prepaid card", - "type" : "string" - }, - "issuerCountry" : { - "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", - "type" : "string" - }, - "mcBankNetReferenceNumber" : { - "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "networkTxReference" : { - "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", - "type" : "string" - }, - "ownerName" : { - "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "paymentAccountReference" : { - "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", - "type" : "string" - }, - "paymentMethodVariant" : { - "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", - "type" : "string" - }, - "payoutEligible" : { - "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", - "type" : "string" - }, - "realtimeAccountUpdaterStatus" : { - "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n* ContactCardAccountHolder", - "type" : "string" - }, - "receiptFreeText" : { - "description" : "Message to be displayed on the terminal.", - "type" : "string" - }, - "recurring.firstPspReference" : { - "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", - "type" : "string" - }, - "recurring.recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring transaction.", - "type" : "string" - }, - "referred" : { - "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", - "type" : "string" - }, - "refusalReasonRaw" : { - "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", - "type" : "string" - }, - "terminalId" : { - "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", - "type" : "string" - }, - "threeDAuthenticated" : { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", - "type" : "string" - }, - "threeDAuthenticatedResponse" : { - "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", - "type" : "string" - }, - "threeDOffered" : { - "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", - "type" : "string" - }, - "threeDOfferedResponse" : { - "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", - "type" : "string" - }, - "threeDSVersion" : { - "description" : "The 3D Secure 2 version.", - "type" : "string" - }, - "visaTransactionId" : { - "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "xid" : { - "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", - "type" : "string" - } - } - }, - "ResponseAdditionalDataBillingAddress" : { - "properties" : { - "billingAddress.city" : { - "description" : "The billing address city passed in the payment request.", - "type" : "string" - }, - "billingAddress.country" : { - "description" : "The billing address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "billingAddress.houseNumberOrName" : { - "description" : "The billing address house number or name passed in the payment request.", - "type" : "string" - }, - "billingAddress.postalCode" : { - "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "billingAddress.stateOrProvince" : { - "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "billingAddress.street" : { - "description" : "The billing address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataCard" : { - "properties" : { - "cardBin" : { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", - "type" : "string" - }, - "cardHolderName" : { - "description" : "The cardholder name passed in the payment request.", - "type" : "string" - }, - "cardIssuingBank" : { - "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", - "type" : "string" - }, - "cardIssuingCountry" : { - "description" : "The country where the card was issued.\n\nExample: US", - "type" : "string" - }, - "cardIssuingCurrency" : { - "description" : "The currency in which the card is issued, if this information is available.\n\nExample: USD", - "type" : "string" - }, - "cardPaymentMethod" : { - "description" : "The card payment method used for the transaction.\n\nExample: amex", - "type" : "string" - }, - "cardSummary" : { - "description" : "The last four digits of a card number.\n> Returned only in case of a card payment.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataDeliveryAddress" : { - "properties" : { - "deliveryAddress.city" : { - "description" : "The delivery address city passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.country" : { - "description" : "The delivery address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "deliveryAddress.houseNumberOrName" : { - "description" : "The delivery address house number or name passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.postalCode" : { - "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "deliveryAddress.stateOrProvince" : { - "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "deliveryAddress.street" : { - "description" : "The delivery address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataInstallments" : { - "properties" : { - "installments.value" : { - "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", - "type" : "string" - }, - "installmentPaymentData.installmentType" : { - "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", - "type" : "string" - }, - "installmentPaymentData.paymentOptions" : { - "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].numberOfInstallments" : { - "description" : "Total number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].interestRate" : { - "description" : "Interest rate for the installment period.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].installmentFee" : { - "description" : "Installment fee amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].annualPercentageRate" : { - "description" : "Annual interest rate.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { - "description" : "First Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { - "description" : "Subsequent Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { - "description" : "Minimum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { - "description" : "Maximum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].totalAmountDue" : { - "description" : "Total amount in minor units.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataPayPal" : { - "properties" : { - "paypalPayerStatus" : { - "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", - "type" : "string" - }, - "paypalPayerResidenceCountry" : { - "description" : "The buyer's country of residence.\n\nExample: NL", - "type" : "string" - }, - "paypalPayerId" : { - "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", - "type" : "string" - }, - "paypalEmail" : { - "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", - "type" : "string" - }, - "paypalProtectionEligibility" : { - "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", - "type" : "string" - } - } - }, - "ResponseAdditionalDataSepa" : { - "properties" : { - "sepadirectdebit.dateOfSignature" : { - "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", - "type" : "string" - }, - "sepadirectdebit.mandateId" : { - "description" : "Its value corresponds to the pspReference value of the transaction.", - "type" : "string" - }, - "sepadirectdebit.sequenceType" : { - "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", - "type" : "string" - } - } - }, "Address" : { "properties" : { "city" : { @@ -1521,6 +1519,24 @@ "country" ] }, + "AmazonPayDetails" : { + "properties" : { + "amazonPayToken" : { + "type" : "string" + }, + "checkoutSessionId" : { + "type" : "string" + }, + "type" : { + "default" : "amazonpay", + "description" : "**amazonpay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1540,6 +1556,46 @@ "currency" ] }, + "AndroidPayDetails" : { + "properties" : { + "androidPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "androidPayToken" + ] + }, + "ApplePayDetails" : { + "properties" : { + "applePayToken" : { + "description" : "", + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "applepay", + "description" : "**applepay**", + "type" : "string" + } + }, + "required" : [ + "type", + "applePayToken" + ] + }, "ApplicationInfo" : { "properties" : { "adyenLibrary" : { @@ -1625,6 +1681,55 @@ } } }, + "BillDeskOnlineDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_online", + "description" : "**billdesk_online**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BillDeskWalletDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_wallet", + "description" : "**billdesk_wallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BlikDetails" : { + "properties" : { + "blikCode" : { + "description" : "BLIK code consisting of 6 digits.", + "type" : "string" + }, + "type" : { + "description" : "**blik**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "BrowserInfo" : { "properties" : { "acceptHeader" : { @@ -1634,7 +1739,7 @@ "type" : "string" }, "colorDepth" : { - "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.", + "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, @@ -1643,6 +1748,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "default" : "true", "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, @@ -1741,20 +1847,772 @@ "holderName" ] }, - "CheckoutPaymentsAction" : { + "CardDetails" : { + "properties" : { + "cupsecureplus.smscode" : { + "deprecated" : true, + "type" : "string" + }, + "cvc" : { + "type" : "string" + }, + "encryptedCardNumber" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryMonth" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryYear" : { + "description" : "", + "type" : "string" + }, + "expiryMonth" : { + "type" : "string" + }, + "expiryYear" : { + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "holderName" : { + "type" : "string" + }, + "number" : { + "type" : "string" + }, + "type" : { + "default" : "scheme", + "description" : "**scheme**", + "type" : "string" + } + }, + "required" : [ + "type", + "encryptedCardNumber", + "encryptedExpiryMonth", + "encryptedExpiryYear" + ] + }, + "CheckoutAwaitAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutBalanceCheckRequest" : { + "properties" : { + "accountInfo" : { + "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/AccountInfo" + }, + "additionalAmount" : { + "description" : "If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).\nRequired to be in the same currency as the `amount`. ", + "$ref" : "#/components/schemas/Amount" + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "browserInfo" : { + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "$ref" : "#/components/schemas/BrowserInfo" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "deviceFingerprint" : { + "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", + "type" : "string" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "merchantRiskIndicator" : { + "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/MerchantRiskIndicator" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "paymentMethod" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The collection that contains the type of the payment method and its specific information.", + "type" : "object" + }, + "recurring" : { + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).", + "$ref" : "#/components/schemas/Recurring" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "selectedBrand" : { + "description" : "Some payment methods require defining a value for this field to specify how to process the transaction.\n\nFor the Bancontact payment method, it can be set to:\n* `maestro` (default), to be processed like a Maestro card, or\n* `bcmc`, to be processed like a Bancontact card.", + "type" : "string" + }, + "selectedRecurringDetailReference" : { + "description" : "The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.", + "type" : "string" + }, + "sessionId" : { + "description" : "A session ID used to identify a payment session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "threeDS2RequestData" : { + "description" : "Request fields for 3D Secure 2.", + "$ref" : "#/components/schemas/ThreeDS2RequestData" + }, + "threeDSAuthenticationOnly" : { + "default" : "false", + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "type" : "boolean" + }, + "totalsGroup" : { + "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "paymentMethod" + ] + }, + "CheckoutBalanceCheckResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "balance" : { + "description" : "The balance for the payment method.", + "$ref" : "#/components/schemas/Amount" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "balance" + ] + }, + "CheckoutCancelOrderRequest" : { + "properties" : { + "merchantAccount" : { + "description" : "The merchant account identifier that orderData belongs to.", + "type" : "string" + }, + "order" : { + "description" : "The order request object that contains a pspReference that represents the order and the matching encrypted order data.", + "$ref" : "#/components/schemas/CheckoutOrder" + } + }, + "required" : [ + "order", + "merchantAccount" + ] + }, + "CheckoutCancelOrderResponse" : { + "properties" : { + "pspReference" : { + "description" : "A unique reference of the cancellation request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the cancellation request.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "resultCode" + ] + }, + "CheckoutCreateOrderRequest" : { + "properties" : { + "amount" : { + "description" : "The total amount of the order.", + "$ref" : "#/components/schemas/Amount" + }, + "expiresAt" : { + "description" : "The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the order.", + "type" : "string" + }, + "reference" : { + "description" : "A custom reference identifying the order.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "amount" + ] + }, + "CheckoutCreateOrderResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "expiresAt" : { + "description" : "The date that the order will expire.", + "type" : "string" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "orderData" : { + "description" : "The encrypted data that will be used by merchant for adding payments to the order.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The remaining amount in the order.", + "$ref" : "#/components/schemas/Amount" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "remainingAmount", + "expiresAt", + "orderData" + ] + }, + "CheckoutDonationAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutOneTimePasscodeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect as fallback, this object contains information about the redirect.", + "$ref" : "#/components/schemas/Redirect" + }, + "resendInterval" : { + "description" : "The interval in second between OTP resend.", + "format" : "int32", + "type" : "integer" + }, + "resendMaxAttempts" : { + "description" : "The maximum number of OTP resend attempts.", + "format" : "int32", + "type" : "integer" + }, + "resendUrl" : { + "description" : "The URL, to which you make POST request to trigger OTP resend.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutOrder" : { + "properties" : { + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "orderData" + ] + }, + "CheckoutOrderResponse" : { + "properties" : { + "expiresAt" : { + "description" : "The expiry date for the order.", + "type" : "string" + }, + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + }, + "reference" : { + "description" : "The merchant reference for the order.", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The updated remaining amount.", + "$ref" : "#/components/schemas/Amount" + } + }, + "required" : [ + "pspReference" + ] + }, + "CheckoutQrCodeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "qrCodeData" : { + "description" : "The contents of the QR code as a UTF8 string.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutRedirectAction" : { + "properties" : { + "data" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", + "type" : "object" + }, + "method" : { + "description" : "Specifies the HTTP method, for example GET or POST.", + "type" : "string" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutSDKAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "sdkData" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The data to pass to the SDK.", + "type" : "object" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutThreeDS2ChallengeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the challenge.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutThreeDS2FingerPrintAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutUtilityRequest" : { + "properties" : { + "originDomains" : { + "description" : "The list of origin domains, for which origin keys are requested.", + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "required" : [ + "originDomains" + ] + }, + "CheckoutUtilityResponse" : { + "properties" : { + "originKeys" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.", + "type" : "object" + } + } + }, + "CheckoutVoucherAction" : { "properties" : { "alternativeReference" : { "description" : "The voucher alternative reference code.", "type" : "string" }, - "data" : { - "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", - "type" : "object" - }, "downloadUrl" : { "description" : "The URL to download the voucher.", "type" : "string" }, + "entity" : { + "description" : "An entity number of Multibanco.", + "type" : "string" + }, "expiresAt" : { "description" : "The date time of the voucher expiry.", "type" : "string" @@ -1783,10 +2641,6 @@ "description" : "The merchant reference.", "type" : "string" }, - "method" : { - "description" : "Specifies the HTTP method, for example GET or POST.", - "type" : "string" - }, "paymentData" : { "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", "type" : "string" @@ -1795,10 +2649,6 @@ "description" : "Specifies the payment method.", "type" : "string" }, - "qrCodeData" : { - "description" : "The contents of the QR code as a UTF8 string.", - "type" : "string" - }, "reference" : { "description" : "The voucher reference code.", "type" : "string" @@ -1815,29 +2665,10 @@ "description" : "The surcharge amount.", "$ref" : "#/components/schemas/Amount" }, - "token" : { - "description" : "A token to pass to the 3DS2 Component to get the fingerprint/challenge.", - "type" : "string" - }, "totalAmount" : { "description" : "The total amount (initial plus surcharge amount).", "$ref" : "#/components/schemas/Amount" }, - "type" : { - "description" : "Enum that specifies the action that needs to be taken by the client.", - "enum" : [ - "await", - "donate", - "qrCode", - "redirect", - "sdk", - "threeDS2Challenge", - "threeDS2Fingerprint", - "voucher", - "wechatpaySDK" - ], - "type" : "string" - }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" @@ -1919,11 +2750,15 @@ "type" : "array" }, "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The payment amount and currency.", "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "description" : "The address where to send the invoice.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { @@ -1934,7 +2769,7 @@ "type" : "array" }, "countryCode" : { - "description" : "The shopper's country code.", + "description" : "The shopper's two-letter country code.", "type" : "string" }, "deliveryAddress" : { @@ -1942,77 +2777,101 @@ "$ref" : "#/components/schemas/Address" }, "description" : { - "description" : "A short description visible on the Pay By Link page.\nMaximum length: 280 characters.", + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", "type" : "string" }, "expiresAt" : { - "description" : "The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations:\n* Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\"\n* Maximum 20 characters per key. When exceeding, the \"178\" error occurs: \"Metadata key size exceeds limit\"\n* A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id", + "type" : "object" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], "type" : "string" }, "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", "type" : "string" }, "returnUrl" : { - "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL.", + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", "type" : "string" }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address.", "type" : "string" }, "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", "type" : "string" }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", "type" : "string" }, "storePaymentMethod" : { - "description" : "When true and `shopperReference` is provided, the payment details will be stored.", + "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" } }, "required" : [ - "merchantAccount", - "reference", "amount", - "countryCode" - ] - }, - "CreatePaymentLinkResponse" : { - "properties" : { - "amount" : { - "description" : "The amount for which the Pay By Link URL was created.", - "$ref" : "#/components/schemas/Amount" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.", - "type" : "string" - }, - "reference" : { - "description" : "The reference that was specified when the Pay By Link URL was created.", - "type" : "string" - }, - "url" : { - "description" : "The URL at which the shopper can complete the payment.", - "type" : "string" - } - }, - "required" : [ "reference", - "expiresAt", - "url" + "merchantAccount" ] }, "DetailsRequest" : { "properties" : { "details" : { + "additionalProperties" : { + "type" : "string" + }, + "deprecated" : true, "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", "type" : "object" }, @@ -2032,15 +2891,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2056,6 +2917,138 @@ } } }, + "DokuDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "infix" : { + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "ovoId" : { + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "type" : { + "description" : "**doku**", + "enum" : [ + "doku_mandiri_va", + "doku_cimb_va", + "doku_danamon_va", + "doku_bni_va", + "doku_permata_lite_atm", + "doku_bri_va", + "doku_bca_va", + "doku_alfamart", + "doku_indomaret" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail" + ] + }, + "DotpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "dotpay", + "description" : "**dotpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "DragonpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper’s email address.", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "EcontextVoucherDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's contact number.", + "type" : "string" + }, + "type" : { + "description" : "**econtextvoucher**", + "enum" : [ + "econtext_seveneleven", + "econtext_stores" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail", + "telephoneNumber" + ] + }, + "EntercashDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "entercash", + "description" : "**entercash**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "ExternalPlatform" : { "properties" : { "integrator" : { @@ -2172,9 +3165,70 @@ "accountScore" ] }, + "GiropayDetails" : { + "properties" : { + "type" : { + "default" : "giropay", + "description" : "**giropay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "GooglePayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "googlePayCardNetwork" : { + "description" : "", + "type" : "string" + }, + "googlePayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "paywithgoogle", + "description" : "**paywithgoogle**", + "type" : "string" + } + }, + "required" : [ + "type", + "googlePayToken", + "googlePayCardNetwork" + ] + }, + "IdealDetails" : { + "properties" : { + "issuer" : { + "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "ideal", + "description" : "**ideal**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "InputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -2246,6 +3300,54 @@ } } }, + "KlarnaDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "token" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "LianLianPayDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "LineItem" : { "properties" : { "amountExcludingTax" : { @@ -2293,6 +3395,51 @@ } } }, + "MasterpassDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "masterpassTransactionId" : { + "description" : "The Masterpass transaction ID.", + "type" : "string" + }, + "type" : { + "default" : "masterpass", + "description" : "**masterpass**", + "type" : "string" + } + }, + "required" : [ + "type", + "masterpassTransactionId" + ] + }, + "MbwayDetails" : { + "properties" : { + "shopperEmail" : { + "description" : "", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber", + "shopperEmail" + ] + }, "MerchantDevice" : { "properties" : { "os" : { @@ -2366,6 +3513,34 @@ } } }, + "MobilePayDetails" : { + "properties" : { + "type" : { + "default" : "mobilepay", + "description" : "**mobilepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "MolPayDetails" : { + "properties" : { + "issuer" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "Name" : { "properties" : { "firstName" : { @@ -2398,6 +3573,226 @@ "gender" ] }, + "NexoRouterDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + }, + "uniqueTerminalId" : { + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "OpenInvoiceDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PayPalDetails" : { + "properties" : { + "orderID" : { + "type" : "string" + }, + "payerID" : { + "type" : "string" + }, + "subtype" : { + "description" : "The type of flow to initiate.", + "enum" : [ + "redirect", + "sdk" + ], + "type" : "string" + }, + "type" : { + "default" : "paypal", + "description" : "**paypal**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentLinkResource" : { + "properties" : { + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The payment amount and currency.", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "countryCode" : { + "description" : "The shopper's two-letter country code.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "description" : { + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "type" : "string" + }, + "id" : { + "description" : "A unique identifier of the payment link.", + "readOnly" : true, + "type" : "string" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "merchantAccount" : { + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", + "type" : "string" + }, + "returnUrl" : { + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", + "type" : "string" + }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, + "shopperEmail" : { + "description" : "The shopper's email address.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "status" : { + "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "enum" : [ + "active", + "expired", + "paid" + ], + "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "type" : "string" + }, + "storePaymentMethod" : { + "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", + "type" : "boolean" + }, + "url" : { + "description" : "The URL at which the shopper can complete the payment.", + "readOnly" : true, + "type" : "string" + } + }, + "required" : [ + "amount", + "reference", + "merchantAccount", + "id", + "url", + "status" + ] + }, "PaymentMethod" : { "properties" : { "brands" : { @@ -2408,6 +3803,9 @@ "type" : "array" }, "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -2486,21 +3884,48 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", @@ -2545,9 +3970,11 @@ "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", "type" : "string" }, - "threeDSAuthenticationOnly" : { - "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" + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" } }, "required" : [ @@ -2594,21 +4021,48 @@ "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -2623,7 +4077,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -2727,13 +4181,20 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, + "order" : { + "description" : "Contains the order information which is required for partial payments.", + "$ref" : "#/components/schemas/CheckoutOrder" + }, "orderReference" : { "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", "type" : "string" @@ -2743,8 +4204,108 @@ "type" : "string" }, "paymentMethod" : { - "description" : "The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`).", - "type" : "object" + "description" : "The type and required details of a payment method to use.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/AndroidPayDetails" + }, + { + "$ref" : "#/components/schemas/VisaCheckoutDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" + }, + { + "$ref" : "#/components/schemas/AmazonPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" + }, + { + "$ref" : "#/components/schemas/CardDetails" + }, + { + "$ref" : "#/components/schemas/AchDetails" + }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/IdealDetails" + }, + { + "$ref" : "#/components/schemas/PayPalDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/QiwiWalletDetails" + }, + { + "$ref" : "#/components/schemas/VippsDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskOnlineDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskWalletDetails" + }, + { + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, + { + "$ref" : "#/components/schemas/DokuDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/NexoRouterDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + } + ] }, "recurringExpiry" : { "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", @@ -2755,7 +4316,7 @@ "type" : "string" }, "recurringProcessingModel" : { - "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", "Subscription", @@ -2776,7 +4337,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -2818,7 +4379,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -2826,12 +4387,18 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "storePaymentMethod" : { "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" @@ -2845,6 +4412,7 @@ "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -2865,21 +4433,69 @@ "properties" : { "action" : { "description" : "Action to be taken for completing the payment.", - "$ref" : "#/components/schemas/CheckoutPaymentsAction" - }, - "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + } ] }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, "authentication" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", "type" : "object" }, @@ -2898,7 +4514,14 @@ "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains the details that will be presented to the shopper.", "type" : "object" }, @@ -2915,7 +4538,7 @@ "$ref" : "#/components/schemas/Redirect" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -2923,7 +4546,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -2944,24 +4567,51 @@ "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -2980,7 +4630,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3083,6 +4733,9 @@ "type" : "string" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, @@ -3107,7 +4760,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -3153,7 +4806,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -3161,7 +4814,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -3176,6 +4829,7 @@ "type" : "string" }, "threeDSAuthenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -3226,16 +4880,33 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -3245,6 +4916,10 @@ "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "paymentMethod" : { "description" : "The payment method used in the transaction.", "type" : "string" @@ -3254,7 +4929,7 @@ "type" : "string" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -3262,7 +4937,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3293,6 +4968,23 @@ "shopperLocale" ] }, + "QiwiWalletDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "qiwiwallet", + "description" : "**qiwiwallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "Recurring" : { "properties" : { "contract" : { @@ -3337,6 +5029,9 @@ "type" : "array" }, "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -3388,6 +5083,9 @@ "Redirect" : { "properties" : { "data" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", "type" : "object" }, @@ -3405,6 +5103,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "authCode" : { + "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "RiskData" : { "properties" : { "clientData" : { @@ -3433,6 +5503,52 @@ } } }, + "SamsungPayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "samsungPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "samsungpay", + "description" : "**samsungpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "samsungPayToken" + ] + }, + "SepaDirectDebitDetails" : { + "properties" : { + "iban" : { + "description" : "The International Bank Account Number (IBAN).", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.", + "type" : "string" + }, + "type" : { + "default" : "sepadirectdebit", + "description" : "**sepadirectdebit**", + "type" : "string" + } + }, + "required" : [ + "type", + "iban", + "ownerName" + ] + }, "ServiceError" : { "properties" : { "errorCode" : { @@ -3614,6 +5730,9 @@ "SubInputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -3653,6 +5772,7 @@ "type" : "string" }, "authenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -3683,6 +5803,7 @@ "type" : "string" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -3703,6 +5824,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "default" : "60", "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -3754,7 +5876,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -3773,7 +5895,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -3804,7 +5926,107 @@ "type" : "string" } } + }, + "UpdatePaymentLinkRequest" : { + "properties" : { + "status" : { + "description" : "Status of the payment link. Possible values:\n* **expired**", + "enum" : [ + "expired" + ], + "type" : "string" + } + }, + "required" : [ + "status" + ] + }, + "VippsDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "vipps", + "description" : "**vipps**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "VisaCheckoutDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "visacheckout", + "description" : "**visacheckout**", + "type" : "string" + }, + "visaCheckoutCallId" : { + "description" : "", + "type" : "string" + } + }, + "required" : [ + "type", + "visaCheckoutCallId" + ] + }, + "WeChatPayDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "WeChatPayMiniProgramDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" } } } -} +} \ No newline at end of file diff --git a/json/CheckoutService-v51.json b/json/CheckoutService-v51.json index 893f68f..585efb8 100644 --- a/json/CheckoutService-v51.json +++ b/json/CheckoutService-v51.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://checkout-test.adyen.com/v51" @@ -8,7 +8,7 @@ "info" : { "version" : "51", "title" : "Adyen Checkout API", - "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v51/payments\n```", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v51/payments\n```", "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", "contact" : { "name" : "Adyen Support", @@ -17,16 +17,155 @@ } }, "x-groups" : [ - "API Integration", - "SDK Integration" + "Payments", + "Payment links", + "Orders", + "Classic Checkout SDK", + "Utility" ], "paths" : { + "/orders" : { + "post" : { + "summary" : "Creates an order for the given amount.", + "description" : "Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods.", + "operationId" : "post-orders", + "x-groupName" : "Orders", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/orders/cancel" : { + "post" : { + "summary" : "Cancels the given order.", + "description" : "Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.", + "operationId" : "post-orders-cancel", + "x-groupName" : "Orders", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/originKeys" : { + "post" : { + "summary" : "Create originKey values for one or more merchant domains.", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "operationId" : "post-originKeys", + "x-groupName" : "Utility", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", - "x-groupName" : "API Integration", - "x-sortIndex" : 8, + "operationId" : "post-paymentLinks", + "x-groupName" : "Payment links", + "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { @@ -41,7 +180,111 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkResponse" + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "201" : { + "description" : "Created - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentLinks/{linkId}" : { + "get" : { + "summary" : "Retrieve a payment link.", + "description" : "Retrieves the payment link details using the payment link `id`.", + "operationId" : "get-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 2, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + }, + "patch" : { + "summary" : "Update the status of a payment link", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "operationId" : "patch-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" } } }, @@ -69,7 +312,8 @@ "post" : { "summary" : "Returns available payment methods.", "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", - "x-groupName" : "API Integration", + "operationId" : "post-paymentMethods", + "x-groupName" : "Payments", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -109,11 +353,57 @@ } } }, + "/paymentMethods/balance" : { + "post" : { + "summary" : "Returns the available balance on gift card.", + "description" : "Retrieves the balance remaining on a shopper's gift card. To check a gift card's balance, make a POST `/paymentMethods/balance` call and include the gift card's details inside a `paymentMethod` object.", + "operationId" : "post-paymentMethods-balance", + "x-groupName" : "Orders", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-paymentSession", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -156,8 +446,9 @@ "/payments" : { "post" : { "summary" : "Starts a transaction.", - "description" : "Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`).\n* For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", - "x-groupName" : "API Integration", + "description" : "Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**).\n* For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", + "operationId" : "post-payments", + "x-groupName" : "Payments", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -201,7 +492,8 @@ "post" : { "summary" : "Submits details for a payment.", "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", - "x-groupName" : "API Integration", + "operationId" : "post-payments-details", + "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { @@ -245,7 +537,8 @@ "post" : { "summary" : "Verifies payment result.", "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-payments-result", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -415,38 +708,43 @@ } } }, - "AdditionalDataCommon" : { + "AchDetails" : { "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.", + "bankAccountNumber" : { + "description" : "The bank account number (without separators).", "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).", + "bankLocationId" : { + "description" : "The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "encryptedBankAccountNumber" : { + "description" : "Encrypted bank account number. The bank account number (without separators).", "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.", + "encryptedBankLocationId" : { + "description" : "Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "ownerName" : { + "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, - "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" : { + "default" : "ach", + "description" : "**ach**", "type" : "string" } - } + }, + "required" : [ + "type", + "bankAccountNumber" + ] }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter.", + "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", "type" : "string" }, "executeThreeD" : { @@ -458,105 +756,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -565,16 +847,32 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", "type" : "string" } }, @@ -583,284 +881,340 @@ ] }, "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": { + "properties" : { + "carRental.checkOutDate" : { "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { + "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": { + "carRental.daysRented" : { "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": { + "carRental.fuelCharges" : { "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.insuranceCharges": { + "carRental.insuranceCharges" : { "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.noShowIndicator": { + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", "type" : "string" }, - "carRental.oneWayDropOffCharges": { + "carRental.oneWayDropOffCharges" : { "description" : "Charge associated with not returning a vehicle to the original rental location.", "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" + } + } + }, + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", + "type" : "string" + }, + "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" + }, + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", + "type" : "string" + }, + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", + "type" : "string" + }, + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", + "type" : "string" + }, + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", + "type" : "string" + }, + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", + "type" : "string" + }, + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", + "type" : "string" + }, + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", + "type" : "string" + }, + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", + "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" } @@ -870,26 +1224,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -899,593 +1245,245 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { - "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } } }, - "ResponseAdditionalDataCommon" : { - "properties" : { - "acquirerAccountCode" : { - "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n> Only relevant for PayPal transactions.", - "type" : "string" - }, - "acquirerCode" : { - "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", - "type" : "string" - }, - "acquirerReference" : { - "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", - "type" : "string" - }, - "alias" : { - "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", - "type" : "string" - }, - "aliasType" : { - "description" : "The type of the card alias.\n\nExample: Default", - "type" : "string" - }, - "authCode" : { - "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", - "type" : "string" - }, - "authorisedAmountCurrency" : { - "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "authorisedAmountValue" : { - "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "avsResult" : { - "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", - "type" : "string" - }, - "avsResultRaw" : { - "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", - "type" : "string" - }, - "bic" : { - "description" : "BIC of a bank account.\n\nExample: TESTNL01\n> Only relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "dsTransID" : { - "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", - "type" : "string" - }, - "eci" : { - "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", - "type" : "string" - }, - "expiryDate" : { - "description" : "The expiry date on the card.\n\nExample: 6/2016\n> Returned only in case of a card payment.", - "type" : "string" - }, - "extraCostsCurrency" : { - "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", - "type" : "string" - }, - "extraCostsValue" : { - "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", - "type" : "string" - }, - "fraudCheck-[itemNr]-[FraudCheckname]" : { - "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", - "type" : "string" - }, - "fundingSource" : { - "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", - "type" : "string" - }, - "fundsAvailability" : { - "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", - "type" : "string" - }, - "inferredRefusalReason" : { - "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n* Low Authrate Bin\n* Non-reloadable prepaid card", - "type" : "string" - }, - "issuerCountry" : { - "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", - "type" : "string" - }, - "mcBankNetReferenceNumber" : { - "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "networkTxReference" : { - "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", - "type" : "string" - }, - "ownerName" : { - "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "paymentAccountReference" : { - "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", - "type" : "string" - }, - "paymentMethodVariant" : { - "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", - "type" : "string" - }, - "payoutEligible" : { - "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", - "type" : "string" - }, - "realtimeAccountUpdaterStatus" : { - "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n* ContactCardAccountHolder", - "type" : "string" - }, - "receiptFreeText" : { - "description" : "Message to be displayed on the terminal.", - "type" : "string" - }, - "recurring.firstPspReference" : { - "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", - "type" : "string" - }, - "recurring.recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring transaction.", - "type" : "string" - }, - "referred" : { - "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", - "type" : "string" - }, - "refusalReasonRaw" : { - "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", - "type" : "string" - }, - "terminalId" : { - "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", - "type" : "string" - }, - "threeDAuthenticated" : { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", - "type" : "string" - }, - "threeDAuthenticatedResponse" : { - "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", - "type" : "string" - }, - "threeDOffered" : { - "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", - "type" : "string" - }, - "threeDOfferedResponse" : { - "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", - "type" : "string" - }, - "threeDSVersion" : { - "description" : "The 3D Secure 2 version.", - "type" : "string" - }, - "visaTransactionId" : { - "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "xid" : { - "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", - "type" : "string" - } - } - }, - "ResponseAdditionalDataBillingAddress" : { - "properties" : { - "billingAddress.city" : { - "description" : "The billing address city passed in the payment request.", - "type" : "string" - }, - "billingAddress.country" : { - "description" : "The billing address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "billingAddress.houseNumberOrName" : { - "description" : "The billing address house number or name passed in the payment request.", - "type" : "string" - }, - "billingAddress.postalCode" : { - "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "billingAddress.stateOrProvince" : { - "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "billingAddress.street" : { - "description" : "The billing address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataCard" : { - "properties" : { - "cardBin" : { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", - "type" : "string" - }, - "cardHolderName" : { - "description" : "The cardholder name passed in the payment request.", - "type" : "string" - }, - "cardIssuingBank" : { - "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", - "type" : "string" - }, - "cardIssuingCountry" : { - "description" : "The country where the card was issued.\n\nExample: US", - "type" : "string" - }, - "cardIssuingCurrency" : { - "description" : "The currency in which the card is issued, if this information is available.\n\nExample: USD", - "type" : "string" - }, - "cardPaymentMethod" : { - "description" : "The card payment method used for the transaction.\n\nExample: amex", - "type" : "string" - }, - "cardSummary" : { - "description" : "The last four digits of a card number.\n> Returned only in case of a card payment.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataDeliveryAddress" : { - "properties" : { - "deliveryAddress.city" : { - "description" : "The delivery address city passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.country" : { - "description" : "The delivery address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "deliveryAddress.houseNumberOrName" : { - "description" : "The delivery address house number or name passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.postalCode" : { - "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "deliveryAddress.stateOrProvince" : { - "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "deliveryAddress.street" : { - "description" : "The delivery address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataInstallments" : { - "properties" : { - "installments.value" : { - "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", - "type" : "string" - }, - "installmentPaymentData.installmentType" : { - "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", - "type" : "string" - }, - "installmentPaymentData.paymentOptions" : { - "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].numberOfInstallments" : { - "description" : "Total number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].interestRate" : { - "description" : "Interest rate for the installment period.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].installmentFee" : { - "description" : "Installment fee amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].annualPercentageRate" : { - "description" : "Annual interest rate.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { - "description" : "First Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { - "description" : "Subsequent Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { - "description" : "Minimum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { - "description" : "Maximum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].totalAmountDue" : { - "description" : "Total amount in minor units.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataPayPal" : { - "properties" : { - "paypalPayerStatus" : { - "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", - "type" : "string" - }, - "paypalPayerResidenceCountry" : { - "description" : "The buyer's country of residence.\n\nExample: NL", - "type" : "string" - }, - "paypalPayerId" : { - "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", - "type" : "string" - }, - "paypalEmail" : { - "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", - "type" : "string" - }, - "paypalProtectionEligibility" : { - "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", - "type" : "string" - } - } - }, - "ResponseAdditionalDataSepa" : { - "properties" : { - "sepadirectdebit.dateOfSignature" : { - "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", - "type" : "string" - }, - "sepadirectdebit.mandateId" : { - "description" : "Its value corresponds to the pspReference value of the transaction.", - "type" : "string" - }, - "sepadirectdebit.sequenceType" : { - "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", - "type" : "string" - } - } - }, "Address" : { "properties" : { "city" : { @@ -1521,6 +1519,24 @@ "country" ] }, + "AmazonPayDetails" : { + "properties" : { + "amazonPayToken" : { + "type" : "string" + }, + "checkoutSessionId" : { + "type" : "string" + }, + "type" : { + "default" : "amazonpay", + "description" : "**amazonpay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1540,6 +1556,46 @@ "currency" ] }, + "AndroidPayDetails" : { + "properties" : { + "androidPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "androidPayToken" + ] + }, + "ApplePayDetails" : { + "properties" : { + "applePayToken" : { + "description" : "", + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "applepay", + "description" : "**applepay**", + "type" : "string" + } + }, + "required" : [ + "type", + "applePayToken" + ] + }, "ApplicationInfo" : { "properties" : { "adyenLibrary" : { @@ -1625,6 +1681,55 @@ } } }, + "BillDeskOnlineDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_online", + "description" : "**billdesk_online**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BillDeskWalletDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_wallet", + "description" : "**billdesk_wallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BlikDetails" : { + "properties" : { + "blikCode" : { + "description" : "BLIK code consisting of 6 digits.", + "type" : "string" + }, + "type" : { + "description" : "**blik**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "BrowserInfo" : { "properties" : { "acceptHeader" : { @@ -1634,7 +1739,7 @@ "type" : "string" }, "colorDepth" : { - "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.", + "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, @@ -1643,6 +1748,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "default" : "true", "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, @@ -1741,20 +1847,777 @@ "holderName" ] }, - "CheckoutPaymentsAction" : { + "CardDetails" : { + "properties" : { + "cupsecureplus.smscode" : { + "deprecated" : true, + "type" : "string" + }, + "cvc" : { + "type" : "string" + }, + "encryptedCardNumber" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryMonth" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryYear" : { + "description" : "", + "type" : "string" + }, + "expiryMonth" : { + "type" : "string" + }, + "expiryYear" : { + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "holderName" : { + "type" : "string" + }, + "number" : { + "type" : "string" + }, + "type" : { + "default" : "scheme", + "description" : "**scheme**", + "type" : "string" + } + }, + "required" : [ + "type", + "encryptedCardNumber", + "encryptedExpiryMonth", + "encryptedExpiryYear" + ] + }, + "CheckoutAwaitAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutBalanceCheckRequest" : { + "properties" : { + "accountInfo" : { + "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/AccountInfo" + }, + "additionalAmount" : { + "description" : "If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).\nRequired to be in the same currency as the `amount`. ", + "$ref" : "#/components/schemas/Amount" + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "browserInfo" : { + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "$ref" : "#/components/schemas/BrowserInfo" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "deviceFingerprint" : { + "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", + "type" : "string" + }, + "enableRealTimeUpdate" : { + "deprecated" : true, + "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", + "type" : "boolean" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "merchantRiskIndicator" : { + "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/MerchantRiskIndicator" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "paymentMethod" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The collection that contains the type of the payment method and its specific information.", + "type" : "object" + }, + "recurring" : { + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).", + "$ref" : "#/components/schemas/Recurring" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "selectedBrand" : { + "description" : "Some payment methods require defining a value for this field to specify how to process the transaction.\n\nFor the Bancontact payment method, it can be set to:\n* `maestro` (default), to be processed like a Maestro card, or\n* `bcmc`, to be processed like a Bancontact card.", + "type" : "string" + }, + "selectedRecurringDetailReference" : { + "description" : "The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.", + "type" : "string" + }, + "sessionId" : { + "description" : "A session ID used to identify a payment session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "threeDS2RequestData" : { + "description" : "Request fields for 3D Secure 2.", + "$ref" : "#/components/schemas/ThreeDS2RequestData" + }, + "threeDSAuthenticationOnly" : { + "default" : "false", + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "type" : "boolean" + }, + "totalsGroup" : { + "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "paymentMethod" + ] + }, + "CheckoutBalanceCheckResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "balance" : { + "description" : "The balance for the payment method.", + "$ref" : "#/components/schemas/Amount" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "balance" + ] + }, + "CheckoutCancelOrderRequest" : { + "properties" : { + "merchantAccount" : { + "description" : "The merchant account identifier that orderData belongs to.", + "type" : "string" + }, + "order" : { + "description" : "The order request object that contains a pspReference that represents the order and the matching encrypted order data.", + "$ref" : "#/components/schemas/CheckoutOrder" + } + }, + "required" : [ + "order", + "merchantAccount" + ] + }, + "CheckoutCancelOrderResponse" : { + "properties" : { + "pspReference" : { + "description" : "A unique reference of the cancellation request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the cancellation request.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "resultCode" + ] + }, + "CheckoutCreateOrderRequest" : { + "properties" : { + "amount" : { + "description" : "The total amount of the order.", + "$ref" : "#/components/schemas/Amount" + }, + "expiresAt" : { + "description" : "The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the order.", + "type" : "string" + }, + "reference" : { + "description" : "A custom reference identifying the order.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "amount" + ] + }, + "CheckoutCreateOrderResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "expiresAt" : { + "description" : "The date that the order will expire.", + "type" : "string" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "orderData" : { + "description" : "The encrypted data that will be used by merchant for adding payments to the order.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The remaining amount in the order.", + "$ref" : "#/components/schemas/Amount" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "remainingAmount", + "expiresAt", + "orderData" + ] + }, + "CheckoutDonationAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutOneTimePasscodeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect as fallback, this object contains information about the redirect.", + "$ref" : "#/components/schemas/Redirect" + }, + "resendInterval" : { + "description" : "The interval in second between OTP resend.", + "format" : "int32", + "type" : "integer" + }, + "resendMaxAttempts" : { + "description" : "The maximum number of OTP resend attempts.", + "format" : "int32", + "type" : "integer" + }, + "resendUrl" : { + "description" : "The URL, to which you make POST request to trigger OTP resend.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutOrder" : { + "properties" : { + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "orderData" + ] + }, + "CheckoutOrderResponse" : { + "properties" : { + "expiresAt" : { + "description" : "The expiry date for the order.", + "type" : "string" + }, + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + }, + "reference" : { + "description" : "The merchant reference for the order.", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The updated remaining amount.", + "$ref" : "#/components/schemas/Amount" + } + }, + "required" : [ + "pspReference" + ] + }, + "CheckoutQrCodeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "qrCodeData" : { + "description" : "The contents of the QR code as a UTF8 string.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutRedirectAction" : { + "properties" : { + "data" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", + "type" : "object" + }, + "method" : { + "description" : "Specifies the HTTP method, for example GET or POST.", + "type" : "string" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutSDKAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "sdkData" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The data to pass to the SDK.", + "type" : "object" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutThreeDS2ChallengeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the challenge.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutThreeDS2FingerPrintAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutUtilityRequest" : { + "properties" : { + "originDomains" : { + "description" : "The list of origin domains, for which origin keys are requested.", + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "required" : [ + "originDomains" + ] + }, + "CheckoutUtilityResponse" : { + "properties" : { + "originKeys" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.", + "type" : "object" + } + } + }, + "CheckoutVoucherAction" : { "properties" : { "alternativeReference" : { "description" : "The voucher alternative reference code.", "type" : "string" }, - "data" : { - "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", - "type" : "object" - }, "downloadUrl" : { "description" : "The URL to download the voucher.", "type" : "string" }, + "entity" : { + "description" : "An entity number of Multibanco.", + "type" : "string" + }, "expiresAt" : { "description" : "The date time of the voucher expiry.", "type" : "string" @@ -1783,10 +2646,6 @@ "description" : "The merchant reference.", "type" : "string" }, - "method" : { - "description" : "Specifies the HTTP method, for example GET or POST.", - "type" : "string" - }, "paymentData" : { "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", "type" : "string" @@ -1795,10 +2654,6 @@ "description" : "Specifies the payment method.", "type" : "string" }, - "qrCodeData" : { - "description" : "The contents of the QR code as a UTF8 string.", - "type" : "string" - }, "reference" : { "description" : "The voucher reference code.", "type" : "string" @@ -1815,29 +2670,10 @@ "description" : "The surcharge amount.", "$ref" : "#/components/schemas/Amount" }, - "token" : { - "description" : "A token to pass to the 3DS2 Component to get the fingerprint/challenge.", - "type" : "string" - }, "totalAmount" : { "description" : "The total amount (initial plus surcharge amount).", "$ref" : "#/components/schemas/Amount" }, - "type" : { - "description" : "Enum that specifies the action that needs to be taken by the client.", - "enum" : [ - "await", - "donate", - "qrCode", - "redirect", - "sdk", - "threeDS2Challenge", - "threeDS2Fingerprint", - "voucher", - "wechatpaySDK" - ], - "type" : "string" - }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" @@ -1919,11 +2755,15 @@ "type" : "array" }, "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The payment amount and currency.", "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "description" : "The address where to send the invoice.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { @@ -1934,7 +2774,7 @@ "type" : "array" }, "countryCode" : { - "description" : "The shopper's country code.", + "description" : "The shopper's two-letter country code.", "type" : "string" }, "deliveryAddress" : { @@ -1942,77 +2782,101 @@ "$ref" : "#/components/schemas/Address" }, "description" : { - "description" : "A short description visible on the Pay By Link page.\nMaximum length: 280 characters.", + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", "type" : "string" }, "expiresAt" : { - "description" : "The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations:\n* Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\"\n* Maximum 20 characters per key. When exceeding, the \"178\" error occurs: \"Metadata key size exceeds limit\"\n* A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id", + "type" : "object" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], "type" : "string" }, "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", "type" : "string" }, "returnUrl" : { - "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL.", + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", "type" : "string" }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address.", "type" : "string" }, "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", "type" : "string" }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", "type" : "string" }, "storePaymentMethod" : { - "description" : "When true and `shopperReference` is provided, the payment details will be stored.", + "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" } }, "required" : [ - "merchantAccount", - "reference", "amount", - "countryCode" - ] - }, - "CreatePaymentLinkResponse" : { - "properties" : { - "amount" : { - "description" : "The amount for which the Pay By Link URL was created.", - "$ref" : "#/components/schemas/Amount" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.", - "type" : "string" - }, - "reference" : { - "description" : "The reference that was specified when the Pay By Link URL was created.", - "type" : "string" - }, - "url" : { - "description" : "The URL at which the shopper can complete the payment.", - "type" : "string" - } - }, - "required" : [ "reference", - "expiresAt", - "url" + "merchantAccount" ] }, "DetailsRequest" : { "properties" : { "details" : { + "additionalProperties" : { + "type" : "string" + }, + "deprecated" : true, "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", "type" : "object" }, @@ -2032,15 +2896,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2056,6 +2922,138 @@ } } }, + "DokuDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "infix" : { + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "ovoId" : { + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "type" : { + "description" : "**doku**", + "enum" : [ + "doku_mandiri_va", + "doku_cimb_va", + "doku_danamon_va", + "doku_bni_va", + "doku_permata_lite_atm", + "doku_bri_va", + "doku_bca_va", + "doku_alfamart", + "doku_indomaret" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail" + ] + }, + "DotpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "dotpay", + "description" : "**dotpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "DragonpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper’s email address.", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "EcontextVoucherDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's contact number.", + "type" : "string" + }, + "type" : { + "description" : "**econtextvoucher**", + "enum" : [ + "econtext_seveneleven", + "econtext_stores" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail", + "telephoneNumber" + ] + }, + "EntercashDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "entercash", + "description" : "**entercash**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "ExternalPlatform" : { "properties" : { "integrator" : { @@ -2172,9 +3170,70 @@ "accountScore" ] }, + "GiropayDetails" : { + "properties" : { + "type" : { + "default" : "giropay", + "description" : "**giropay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "GooglePayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "googlePayCardNetwork" : { + "description" : "", + "type" : "string" + }, + "googlePayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "paywithgoogle", + "description" : "**paywithgoogle**", + "type" : "string" + } + }, + "required" : [ + "type", + "googlePayToken", + "googlePayCardNetwork" + ] + }, + "IdealDetails" : { + "properties" : { + "issuer" : { + "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "ideal", + "description" : "**ideal**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "InputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -2246,6 +3305,54 @@ } } }, + "KlarnaDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "token" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "LianLianPayDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "LineItem" : { "properties" : { "amountExcludingTax" : { @@ -2293,6 +3400,51 @@ } } }, + "MasterpassDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "masterpassTransactionId" : { + "description" : "The Masterpass transaction ID.", + "type" : "string" + }, + "type" : { + "default" : "masterpass", + "description" : "**masterpass**", + "type" : "string" + } + }, + "required" : [ + "type", + "masterpassTransactionId" + ] + }, + "MbwayDetails" : { + "properties" : { + "shopperEmail" : { + "description" : "", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber", + "shopperEmail" + ] + }, "MerchantDevice" : { "properties" : { "os" : { @@ -2366,6 +3518,34 @@ } } }, + "MobilePayDetails" : { + "properties" : { + "type" : { + "default" : "mobilepay", + "description" : "**mobilepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "MolPayDetails" : { + "properties" : { + "issuer" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "Name" : { "properties" : { "firstName" : { @@ -2398,6 +3578,226 @@ "gender" ] }, + "NexoRouterDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + }, + "uniqueTerminalId" : { + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "OpenInvoiceDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PayPalDetails" : { + "properties" : { + "orderID" : { + "type" : "string" + }, + "payerID" : { + "type" : "string" + }, + "subtype" : { + "description" : "The type of flow to initiate.", + "enum" : [ + "redirect", + "sdk" + ], + "type" : "string" + }, + "type" : { + "default" : "paypal", + "description" : "**paypal**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentLinkResource" : { + "properties" : { + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The payment amount and currency.", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "countryCode" : { + "description" : "The shopper's two-letter country code.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "description" : { + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "type" : "string" + }, + "id" : { + "description" : "A unique identifier of the payment link.", + "readOnly" : true, + "type" : "string" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "merchantAccount" : { + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", + "type" : "string" + }, + "returnUrl" : { + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", + "type" : "string" + }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, + "shopperEmail" : { + "description" : "The shopper's email address.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "status" : { + "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "enum" : [ + "active", + "expired", + "paid" + ], + "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "type" : "string" + }, + "storePaymentMethod" : { + "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", + "type" : "boolean" + }, + "url" : { + "description" : "The URL at which the shopper can complete the payment.", + "readOnly" : true, + "type" : "string" + } + }, + "required" : [ + "amount", + "reference", + "merchantAccount", + "id", + "url", + "status" + ] + }, "PaymentMethod" : { "properties" : { "brands" : { @@ -2408,6 +3808,9 @@ "type" : "array" }, "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -2464,495 +3867,6 @@ } } }, - "PaymentMethodACH":{ - "properties":{ - "type":{ - "description":"Must be set to **ach**.", - "type":"string" - }, - "bankAccount":{ - "description":"The bank account, from which the funds should be deducted.", - "type":"string" - } - }, - "required" : [ - "type", - "bankAccount" - ] - }, - "PaymentMethodCard":{ - "properties":{ - "type":{ - "description":"Must be set to **scheme**.", - "type":"string" - }, - "cvc" : { - "description" : "The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits", - "maxLength" : 20, - "minLength" : 1, - "type" : "string" - }, - "expiryMonth" : { - "description" : "The card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "expiryYear" : { - "description" : "The card expiry year.\nFormat: 4 digits. For example: 2020", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - }, - "holderName" : { - "description" : "The name of the cardholder, as printed on the card.", - "maxLength" : 50, - "minLength" : 1, - "type" : "string" - }, - "number" : { - "description" : "The card number (4-19 characters). Do not use any separators.", - "maxLength" : 19, - "minLength" : 4, - "type" : "string" - } - }, - "required" : [ - "type", - "number", - "expiryMonth", - "expiryYear", - "holderName" - ] - }, - "PaymentMethodApplePay":{ - "properties":{ - "type":{ - "description":"Must be set to **applepay**.", - "type":"string" - }, - "applepay.token":{ - "description":"The stringified and base64 encoded paymentData retrieved from the Apple framework.", - "type":"string" - } - }, - "required" : [ - "type", - "applepay.token" - ] - }, - "PaymentMethodAndroidPay":{ - "properties":{ - "type":{ - "description":"Must be set to **androidpay**.", - "type":"string" - }, - "androidpay.token":{ - "description":"The stringified and base64 encoded paymentData retrieved from the Android framework.", - "type":"string" - } - }, - "required" : [ - "type", - "androidpay.token" - ] - }, - "PaymentMethodAmazonPay":{ - "properties":{ - "type":{ - "description":"Must be set to **androidpay**.", - "type":"string" - }, - "amazonPayToken":{ - "description":"The stringified and base64 encoded paymentData retrieved from the Amazon framework.", - "type":"string" - } - }, - "required" : [ - "type", - "amazonPayToken" - ] - }, - "PaymentMethodSchemeGiftCard":{ - "properties":{ - "type":{ - "description":"Must be set to **scheme**.", - "type":"string" - }, - "cvc" : { - "description" : "The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits", - "maxLength" : 20, - "minLength" : 1, - "type" : "string" - }, - "expiryMonth" : { - "description" : "The card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "expiryYear" : { - "description" : "The card expiry year.\nFormat: 4 digits. For example: 2020", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - }, - "holderName" : { - "description" : "The name of the cardholder, as printed on the card.", - "maxLength" : 50, - "minLength" : 1, - "type" : "string" - }, - "number" : { - "description" : "The card number (4-19 characters). Do not use any separators.", - "maxLength" : 19, - "minLength" : 4, - "type" : "string" - }, - "encryptedSecurityCode" : { - "description" : "The encrypted [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits", - "maxLength" : 20, - "minLength" : 1, - "type" : "string" - }, - "encryptedExpiryMonth" : { - "description" : "The encrypted card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "encryptedExpiryYear" : { - "description" : "The encrypted card expiry year.\nFormat: 4 digits. For example: 2020", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - }, - "encryptedCardNumber" : { - "description" : "The encrypted card number (4-19 characters). Do not use any separators.", - "maxLength" : 19, - "minLength" : 4, - "type" : "string" - } - }, - "required" : [ - "type", - "number", - "expiryMonth", - "expiryYear", - "holderName", - "encryptedCardNumber", - "encryptedSecurityCode", - "encryptedExpiryMonth", - "encryptedExpiryYear" - ] - }, - "PaymentMethodDotpay":{ - "properties":{ - "type":{ - "description":"Must be set to **dotpay**.", - "type":"string" - }, - "issuer":{ - "description":"The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodDragonpayEBanking":{ - "properties":{ - "type":{ - "description":"Must be set to **dragonpay_ebanking**.", - "type":"string" - }, - "issuer":{ - "description":"The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodDragonpayOtcBanking":{ - "properties":{ - "type":{ - "description":"Must be set to **dragonpay_otc_banking**.", - "type":"string" - }, - "issuer":{ - "description":"The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodDragonpayOtcNonBanking":{ - "properties":{ - "type":{ - "description":"Must be set to **dragonpay_otc_non_banking**.", - "type":"string" - }, - "issuer":{ - "description":"The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodDragonpayOtcPhilippines":{ - "properties":{ - "type":{ - "description":"Must be set to **dragonpay_otc_philippines**.", - "type":"string" - }, - "issuer":{ - "description":"The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodGiropay":{ - "properties":{ - "type":{ - "description":"Must be set to **giropay**.", - "type":"string" - }, - "bic":{ - "description":"The bank identifier code (BIC) of the selected issuing bank.", - "type":"string" - } - }, - "required" : [ - "type", - "bic" - ] - }, - "PaymentMethodIDeal":{ - "properties":{ - "type":{ - "description":"Must be set to **dotpay**.", - "type":"string" - }, - "issuer":{ - "description":"The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDeal issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodLianLianPayEbankingEnterprise":{ - "properties":{ - "type":{ - "description":"Must be set to **lianlianpay_ebanking_enterprise**.", - "type":"string" - }, - "telephoneNumber":{ - "description" : "The shopper's telephone number.", - "type":"string" - } - }, - "required" : [ - "type", - "telephoneNumber" - ] - }, - "PaymentMethodLianLianPayEbankingCredit":{ - "properties":{ - "type":{ - "description":"Must be set to **lianlianpay_ebanking_credit**.", - "type":"string" - }, - "telephoneNumber":{ - "description" : "The shopper's telephone number.", - "type":"string" - } - }, - "required" : [ - "type", - "telephoneNumber" - ] - }, - "PaymentMethodLianLianPayEbankingDebit":{ - "properties":{ - "type":{ - "description":"Must be set to **lianlianpay_ebanking_debit**.", - "type":"string" - }, - "telephoneNumber":{ - "description" : "The shopper's telephone number.", - "type":"string" - } - }, - "required" : [ - "type", - "telephoneNumber" - ] - }, - "PaymentMethodMOLpayEBankingMalaysia":{ - "properties":{ - "type":{ - "description":"Must be set to **molpay_ebanking_fpx_MY**.", - "type":"string" - }, - "issuer":{ - "description":"The MOLpay issuer value of the shopper's selected bank. Set this to an **id** of a MOLpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodMOLpayEBankingThailand":{ - "properties":{ - "type":{ - "description":"Must be set to **molpay_ebanking_TH**.", - "type":"string" - }, - "issuer":{ - "description":"The MOLpay issuer value of the shopper's selected bank. Set this to an **id** of a MOLpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodMOLpayEBankingVietnam":{ - "properties":{ - "type":{ - "description":"Must be set to **molpay_ebanking_VN**.", - "type":"string" - }, - "issuer":{ - "description":"The MOLpay issuer value of the shopper's selected bank. Set this to an **id** of a MOLpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodPayWithGoogle":{ - "properties":{ - "type":{ - "description":"Must be set to **paywithgoogle**.", - "type":"string" - }, - "paywithgoogle.token":{ - "description":"The stringified and base64 encoded paymentData retrieved from the Google framework.", - "type":"string" - }, - "googlePayToken":{ - "description":"The stringified and base64 encoded paymentData retrieved from the Google framework.", - "type":"string" - }, - "googlePayCardNetwork":{ - "description":"The card type provided by the shopper.", - "type":"string" - } - }, - "required" : [ - "paywithgoogle.token", - "googlePayToken", - "googlePayCardNetwork" - ] - }, - "PaymentMethodQIWIWallet":{ - "properties":{ - "type":{ - "description":"Must be set to **qiwiwallet**.", - "type":"string" - }, - "qiwiwallet.telephoneNumberPrefix":{ - "description" : "The shopper's telephone number prefix.", - "type":"string" - }, - "qiwiwallet.telephoneNumber":{ - "description" : "The shopper's telephone number.", - "type":"string" - } - }, - "required" : [ - "type", - "qiwiwallet.telephoneNumberPrefix", - "qiwiwallet.telephoneNumber" - ] - }, - "PaymentMethodSamsungpay":{ - "properties":{ - "type":{ - "description":"Must be set to **samsungpay**.", - "type":"string" - }, - "samsungpay.token":{ - "description" : "The stringified and base64 encoded paymentData retrieved from the Samsung framework.", - "type":"string" - } - }, - "required" : [ - "type", - "samsungpay.token" - ] - }, - "PaymentMethodSepaDirectDebit":{ - "properties":{ - "type":{ - "description":"Must be set to **sepadirectdebit**.", - "type":"string" - }, - "sepa.ibanNumber":{ - "description" : "The shopper's international bank account number (IBAN).", - "type":"string" - }, - "sepa.ownerName":{ - "description" : "The name on the SEPA bank account.", - "type":"string" - } - }, - "required" : [ - "type", - "sepa.ibanNumber", - "sepa.ownerName" - ] - }, - "PaymentMethodVipps":{ - "properties":{ - "type":{ - "description":"Must be set to **vipps**.", - "type":"string" - }, - "telephoneNumber" : { - "description" : "The shopper's telephone number.", - "type" : "string" - } - }, - "required" : [ - "type", - "telephoneNumber" - ] - }, "PaymentMethodsGroup" : { "properties" : { "groupType" : { @@ -2975,21 +3889,48 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", @@ -3039,9 +3980,11 @@ "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", "type" : "string" }, - "threeDSAuthenticationOnly" : { - "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" + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" } }, "required" : [ @@ -3088,21 +4031,48 @@ "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -3117,7 +4087,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -3226,13 +4196,20 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, + "order" : { + "description" : "Contains the order information which is required for partial payments.", + "$ref" : "#/components/schemas/CheckoutOrder" + }, "orderReference" : { "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", "type" : "string" @@ -3242,8 +4219,108 @@ "type" : "string" }, "paymentMethod" : { - "description" : "The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`).", - "type" : "object" + "description" : "The type and required details of a payment method to use.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/AndroidPayDetails" + }, + { + "$ref" : "#/components/schemas/VisaCheckoutDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" + }, + { + "$ref" : "#/components/schemas/AmazonPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" + }, + { + "$ref" : "#/components/schemas/CardDetails" + }, + { + "$ref" : "#/components/schemas/AchDetails" + }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/IdealDetails" + }, + { + "$ref" : "#/components/schemas/PayPalDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/QiwiWalletDetails" + }, + { + "$ref" : "#/components/schemas/VippsDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskOnlineDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskWalletDetails" + }, + { + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, + { + "$ref" : "#/components/schemas/DokuDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/NexoRouterDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + } + ] }, "recurringExpiry" : { "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", @@ -3254,7 +4331,7 @@ "type" : "string" }, "recurringProcessingModel" : { - "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", "Subscription", @@ -3275,7 +4352,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -3317,7 +4394,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -3325,12 +4402,18 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, "type" : "array" }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, "storePaymentMethod" : { "description" : "When true and `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" @@ -3344,6 +4427,7 @@ "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -3364,21 +4448,69 @@ "properties" : { "action" : { "description" : "Action to be taken for completing the payment.", - "$ref" : "#/components/schemas/CheckoutPaymentsAction" - }, - "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + } ] }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, "authentication" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", "type" : "object" }, @@ -3397,7 +4529,14 @@ "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains the details that will be presented to the shopper.", "type" : "object" }, @@ -3414,7 +4553,7 @@ "$ref" : "#/components/schemas/Redirect" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -3422,7 +4561,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3443,24 +4582,51 @@ "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3479,7 +4645,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3587,6 +4753,9 @@ "type" : "string" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, @@ -3611,7 +4780,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to.", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -3657,7 +4826,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -3665,7 +4834,7 @@ "type" : "string" }, "splits" : { - "description" : "The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts.", + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", "items" : { "$ref" : "#/components/schemas/Split" }, @@ -3680,6 +4849,7 @@ "type" : "string" }, "threeDSAuthenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -3730,16 +4900,33 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -3749,6 +4936,10 @@ "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "paymentMethod" : { "description" : "The payment method used in the transaction.", "type" : "string" @@ -3758,7 +4949,7 @@ "type" : "string" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -3766,7 +4957,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3797,6 +4988,23 @@ "shopperLocale" ] }, + "QiwiWalletDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "qiwiwallet", + "description" : "**qiwiwallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "Recurring" : { "properties" : { "contract" : { @@ -3841,6 +5049,9 @@ "type" : "array" }, "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -3892,6 +5103,9 @@ "Redirect" : { "properties" : { "data" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", "type" : "object" }, @@ -3909,6 +5123,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "authCode" : { + "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "RiskData" : { "properties" : { "clientData" : { @@ -3937,6 +5523,52 @@ } } }, + "SamsungPayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "samsungPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "samsungpay", + "description" : "**samsungpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "samsungPayToken" + ] + }, + "SepaDirectDebitDetails" : { + "properties" : { + "iban" : { + "description" : "The International Bank Account Number (IBAN).", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.", + "type" : "string" + }, + "type" : { + "default" : "sepadirectdebit", + "description" : "**sepadirectdebit**", + "type" : "string" + } + }, + "required" : [ + "type", + "iban", + "ownerName" + ] + }, "ServiceError" : { "properties" : { "errorCode" : { @@ -4118,6 +5750,9 @@ "SubInputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -4157,6 +5792,7 @@ "type" : "string" }, "authenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -4187,6 +5823,7 @@ "type" : "string" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -4207,6 +5844,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "default" : "60", "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -4258,7 +5896,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -4277,7 +5915,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -4308,7 +5946,107 @@ "type" : "string" } } + }, + "UpdatePaymentLinkRequest" : { + "properties" : { + "status" : { + "description" : "Status of the payment link. Possible values:\n* **expired**", + "enum" : [ + "expired" + ], + "type" : "string" + } + }, + "required" : [ + "status" + ] + }, + "VippsDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "vipps", + "description" : "**vipps**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "VisaCheckoutDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "visacheckout", + "description" : "**visacheckout**", + "type" : "string" + }, + "visaCheckoutCallId" : { + "description" : "", + "type" : "string" + } + }, + "required" : [ + "type", + "visaCheckoutCallId" + ] + }, + "WeChatPayDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "WeChatPayMiniProgramDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" } } } -} +} \ No newline at end of file diff --git a/json/CheckoutService-v52.json b/json/CheckoutService-v52.json index f694f7a..edac573 100644 --- a/json/CheckoutService-v52.json +++ b/json/CheckoutService-v52.json @@ -1,5 +1,5 @@ { - "openapi" : "3.0.0", + "openapi" : "3.0.3", "servers" : [ { "url" : "https://checkout-test.adyen.com/v52" @@ -17,16 +17,155 @@ } }, "x-groups" : [ - "API Integration", - "SDK Integration" + "Payments", + "Payment links", + "Orders", + "Classic Checkout SDK", + "Utility" ], "paths" : { + "/orders" : { + "post" : { + "summary" : "Creates an order for the given amount.", + "description" : "Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods.", + "operationId" : "post-orders", + "x-groupName" : "Orders", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/orders/cancel" : { + "post" : { + "summary" : "Cancels the given order.", + "description" : "Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.", + "operationId" : "post-orders-cancel", + "x-groupName" : "Orders", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/originKeys" : { + "post" : { + "summary" : "Create originKey values for one or more merchant domains.", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "operationId" : "post-originKeys", + "x-groupName" : "Utility", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentLinks" : { "post" : { "summary" : "Creates a payment link.", "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", - "x-groupName" : "API Integration", - "x-sortIndex" : 8, + "operationId" : "post-paymentLinks", + "x-groupName" : "Payment links", + "x-sortIndex" : 1, "requestBody" : { "content" : { "application/json" : { @@ -41,7 +180,111 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/CreatePaymentLinkResponse" + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "201" : { + "description" : "Created - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentLinks/{linkId}" : { + "get" : { + "summary" : "Retrieve a payment link.", + "description" : "Retrieves the payment link details using the payment link `id`.", + "operationId" : "get-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 2, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + }, + "patch" : { + "summary" : "Update the status of a payment link", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "operationId" : "patch-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" } } }, @@ -69,7 +312,8 @@ "post" : { "summary" : "Returns available payment methods.", "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", - "x-groupName" : "API Integration", + "operationId" : "post-paymentMethods", + "x-groupName" : "Payments", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -109,11 +353,57 @@ } } }, + "/paymentMethods/balance" : { + "post" : { + "summary" : "Returns the available balance on gift card.", + "description" : "Retrieves the balance remaining on a shopper's gift card. To check a gift card's balance, make a POST `/paymentMethods/balance` call and include the gift card's details inside a `paymentMethod` object.", + "operationId" : "post-paymentMethods-balance", + "x-groupName" : "Orders", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, "/paymentSession" : { "post" : { "summary" : "Creates a payment session.", "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-paymentSession", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 1, "requestBody" : { "content" : { @@ -156,8 +446,9 @@ "/payments" : { "post" : { "summary" : "Starts a transaction.", - "description" : "Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `Authorised` or `Refused`).\n* For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", - "x-groupName" : "API Integration", + "description" : "Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**).\n* For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", + "operationId" : "post-payments", + "x-groupName" : "Payments", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -201,7 +492,8 @@ "post" : { "summary" : "Submits details for a payment.", "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", - "x-groupName" : "API Integration", + "operationId" : "post-payments-details", + "x-groupName" : "Payments", "x-sortIndex" : 3, "requestBody" : { "content" : { @@ -245,7 +537,8 @@ "post" : { "summary" : "Verifies payment result.", "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", - "x-groupName" : "SDK Integration", + "operationId" : "post-payments-result", + "x-groupName" : "Classic Checkout SDK", "x-sortIndex" : 2, "requestBody" : { "content" : { @@ -415,38 +708,43 @@ } } }, - "AdditionalDataCommon" : { + "AchDetails" : { "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.", + "bankAccountNumber" : { + "description" : "The bank account number (without separators).", "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).", + "bankLocationId" : { + "description" : "The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "encryptedBankAccountNumber" : { + "description" : "Encrypted bank account number. The bank account number (without separators).", "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.", + "encryptedBankLocationId" : { + "description" : "Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases.", "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.", + "ownerName" : { + "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", "type" : "string" }, - "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" : { + "default" : "ach", + "description" : "**ach**", "type" : "string" } - } + }, + "required" : [ + "type", + "bankAccountNumber" + ] }, "AdditionalData3DSecure" : { "properties" : { "allow3DS2" : { - "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter.", + "description" : "This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n> This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter.", "type" : "string" }, "executeThreeD" : { @@ -458,105 +756,89 @@ "type" : "string" }, "scaExemption" : { - "description" : "Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", + "description" : "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ", "type" : "string" } } }, "AdditionalDataAirline" : { "properties" : { - "airline.passenger_name" : { - "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", - "type" : "string" - }, - "airline.computerized_reservation_system" : { - "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", - "type" : "string" - }, - "airline.airline_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.ticket_number" : { - "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", - "type" : "string" - }, - "airline.flight_date" : { - "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", - "type" : "string" - }, - "airline.customer_reference_number" : { - "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", - "type" : "string" - }, - "airline.ticket_issue_address" : { - "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", - "type" : "string" - }, - "airline.airline_designator_code" : { - "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", - "type" : "string" - }, - "airline.travel_agency_code" : { - "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", - "type" : "string" - }, - "airline.travel_agency_name" : { - "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "airline.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", "type" : "string" }, "airline.agency_plan_name" : { "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.agency_invoice_number" : { - "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, "airline.boarding_fee" : { "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", "type" : "string" }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, "airline.document_type" : { "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.depart_airport" : { - "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, - "airline.leg.flight_number" : { - "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", "type" : "string" }, "airline.leg.carrier_code" : { "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", "type" : "string" }, - "airline.leg.fare_base_code" : { - "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", - "type" : "string" - }, "airline.leg.class_of_travel" : { "description" : "1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:\n* F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\nLimitations:\n* minLength: 1\n* maxLength: 1", "type" : "string" }, - "airline.leg.stop_over_code" : { - "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", - "type" : "string" - }, - "airline.leg.destination_code" : { - "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", - "type" : "string" - }, "airline.leg.date_of_travel" : { "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", "type" : "string" }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, "airline.leg.depart_tax" : { "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", "type" : "string" }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, "airline.passenger.first_name" : { "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" @@ -565,16 +847,32 @@ "description" : "Passenger last name/family name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", "type" : "string" }, - "airline.passenger.traveller_type" : { - "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", - "type" : "string" - }, "airline.passenger.telephone_number" : { "description" : "Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* minLength: 3\n* maxLength: 30", "type" : "string" }, - "airline.passenger.date_of_birth" : { - "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "airline.passenger.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", "type" : "string" } }, @@ -583,284 +881,340 @@ ] }, "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": { + "properties" : { + "carRental.checkOutDate" : { "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", "type" : "string" }, - "carRental.customerServiceTollFreeNumber": { + "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": { + "carRental.daysRented" : { "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": { + "carRental.fuelCharges" : { "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.insuranceCharges": { + "carRental.insuranceCharges" : { "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", "type" : "string" }, - "carRental.noShowIndicator": { + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", "type" : "string" }, - "carRental.oneWayDropOffCharges": { + "carRental.oneWayDropOffCharges" : { "description" : "Charge associated with not returning a vehicle to the original rental location.", "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" + } + } + }, + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", + "type" : "string" + }, + "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" + }, + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", + "type" : "string" + }, + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", + "type" : "string" + }, + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", + "type" : "string" + }, + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", + "type" : "string" + }, + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", + "type" : "string" + }, + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", + "type" : "string" + }, + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", + "type" : "string" + }, + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", + "type" : "string" } } }, "AdditionalDataLevel23" : { - "properties": { - "enhancedSchemeData.customerReference": { - "description" : "Customer code, if supplied by a customer.\nEncoding: ASCII.\nMax length: 25 characters.\n> Required for Level 2 and Level 3 data.", + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.\n> Required for Level 2 and Level 3 data.", - "type" : "number" - }, - "enhancedSchemeData.freightAmount": { - "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.dutyAmount": { - "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.destinationPostalCode": { - "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\nMax length: 10 characters.\n> Required for American Express.", + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.destinationStateProvinceCode": { + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", "type" : "string" }, - "enhancedSchemeData.shipFromPostalCode": { - "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\nMax length: 10 characters.", + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.destinationCountryCode": { - "description" : "Destination country code.\n\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.orderDate": { - "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\nMax length: 6 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].commodityCode": { - "description" : "Item commodity code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].description": { - "description" : "Item description.\nEncoding: ASCII.\nMax length: 26 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].productCode": { - "description" : "Product code.\nEncoding: ASCII.\nMax length: 12 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].quantity": { - "description" : "Quantity, specified as an integer value.\nValue must be greater than 0.\nMax length: 12 characters.", - "type" : "number" - }, - "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure": { - "description" : "Item unit of measurement.\nEncoding: ASCII.\nMax length: 3 characters.", + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].unitPrice": { - "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].discountAmount": { - "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" }, - "enhancedSchemeData.itemDetailLine[itemNr].totalAmount": { - "description" : "Total amount, in minor units.\nFor example, 2000 means USD 20.00.\nMax length: 12 characters.", - "type" : "number" + "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : { + "description" : "Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" } } }, "AdditionalDataLodging" : { - "properties": { - "lodging.customerServiceTollFreeNumber": { - "description": "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkInDate": { - "description": "The arrival date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" }, - "lodging.checkOutDate": { - "description": "The departure date.\n* Date format: `yyyyMMdd`", - "type": "string" + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "lodging.folioNumber": { - "description": "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", - "type": "string" + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" }, - "lodging.propertyPhoneNumber": { - "description": "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", - "type": "string" + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.rate": { - "description": "The rate of the room.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" }, - "lodging.room1.tax": { - "description": "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.foodBeverageCharges" : { + "description" : "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.room1.numberOfNights": { - "description": "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", - "type": "string" + "lodging.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", + "type" : "string" }, - "lodging.fireSafetyActIndicator": { - "description": "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", - "type": "string" + "lodging.prepaidExpenses" : { + "description" : "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "travelEntertainmentAuthData.market": { - "description": "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", - "type": "string" + "lodging.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" }, - "travelEntertainmentAuthData.duration": { - "description": "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", - "type": "string" + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "type" : "string" }, - "lodging.folioCashAdvances": { - "description": "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.rate" : { + "description" : "The rate of the room.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.foodBeverageCharges": { - "description": "Any charges for food and beverages associated with the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.room1.tax" : { + "description" : "The total amount of tax to be paid.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.noShowIndicator": { - "description": "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n\nValue should be Y or N.\n* Format: Numeric\n* maxLength: 1", - "type": "string" + "lodging.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.prepaidExpenses": { - "description": "Prepaid expenses for the booking.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" }, - "lodging.totalTax": { - "description": "Total tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" }, - "lodging.totalRoomTax": { - "description": "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", - "type": "string" + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" } } }, "AdditionalDataOpenInvoice" : { - "properties": { - "openinvoicedata.numberOfLines": { - "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", - "type" : "integer" - }, - "openinvoicedata.merchantData": { + "properties" : { + "openinvoicedata.merchantData" : { "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.", "type" : "string" }, - "openinvoicedata.line[itemNr].currencyCode": { + "openinvoicedata.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { "description" : "The three-character ISO currency code.", "type" : "string" }, - "openinvoicedata.line[itemNr].description": { + "openinvoicedataLine[itemNr].description" : { "description" : "A text description of the product the invoice line refers to.", "type" : "string" }, - "openinvoicedata.line[itemNr].itemAmount": { + "openinvoicedataLine[itemNr].itemAmount" : { "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", - "type" : "integer" + "type" : "string" }, - "openinvoicedata.line[itemNr].itemVatAmount": { - "description" : "The VAT due for one item in the invoice line, represented in minor units.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemVatPercentage": { - "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", - "type" : "integer" - }, - "openinvoicedata.line[itemNr].itemId": { + "openinvoicedataLine[itemNr].itemId" : { "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", "type" : "string" }, - "openinvoicedata.line[itemNr].numberOfItems": { - "description" : "The number of units purchased of a specific product.", - "type" : "integer" + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" }, - "openinvoicedata.line[itemNr].vatCategory": { + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].vatCategory" : { "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", "type" : "string" } @@ -870,26 +1224,18 @@ "properties" : { "ratepay.installmentAmount" : { "description" : "Amount the customer has to pay each month.", - "type" : "integer" + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" }, "ratepay.lastInstallmentAmount" : { "description" : "Amount of the last installment.", - "type" : "integer" - }, - "ratepay.interestRate" : { - "description" : "Interest rate of this installment. Double", - "type" : "integer" + "type" : "string" }, "ratepay.paymentFirstday" : { "description" : "Calendar day of the first payment.", - "type" : "integer" - }, - "ratepaydata.invoiceId" : { - "description" : "Identification name or number for the invoice, defined by the merchant.", - "type" : "string" - }, - "ratepaydata.invoiceDate" : { - "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", "type" : "string" }, "ratepaydata.deliveryDate" : { @@ -899,609 +1245,245 @@ "ratepaydata.dueDate" : { "description" : "Date by which the customer must settle the payment.", "type" : "string" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" } } }, "AdditionalDataRetry" : { "properties" : { "retry.chainAttemptNumber" : { - "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.orderAttemptNumber" : { - "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "integer" + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" }, "retry.skipRetry" : { - "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", - "type" : "boolean" + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" } } }, "AdditionalDataRisk" : { - "properties": { - "riskdata.[customFieldName]": { + "properties" : { + "riskdata.[customFieldName]" : { "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", "type" : "string" }, - "riskdata.basket.item[itemNr].itemID": { - "description" : "ID of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].productTitle": { - "description" : "A text description of the product the invoice line refers to.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].amountPerItem": { + "riskdata.basket.item[itemNr].amountPerItem" : { "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", "type" : "string" }, - "riskdata.basket.item[itemNr].currency": { - "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].upc": { - "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].sku": { - "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", - "type" : "string" - }, - "riskdata.basket.item[itemNr].brand": { + "riskdata.basket.item[itemNr].brand" : { "description" : "Brand of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].manufacturer": { - "description" : "Manufacturer of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].category": { + "riskdata.basket.item[itemNr].category" : { "description" : "Category of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].color": { + "riskdata.basket.item[itemNr].color" : { "description" : "Color of the item.", "type" : "string" }, - "riskdata.basket.item[itemNr].size": { - "description" : "Size of the item.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].quantity": { - "description" : "Quantity of the item purchased.", - "type" : "string" - }, - "riskdata.basket.item[itemNr].receiverEmail": { - "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionCode": { - "description" : "Code of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionName": { - "description" : "Name of the promotion.", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountAmount": { - "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency": { + "riskdata.basket.item[itemNr].currency" : { "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", "type" : "string" }, - "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage": { + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" } } }, "AdditionalDataRiskStandalone" : { - "properties": { - "avsResultRaw": { - "description" : "Raw AVS result received from the acquirer, where available. Example: D", - "type" : "string" - }, - "bin": { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", - "type" : "string" - }, - "cvcResultRaw": { - "description" : "Raw CVC result received from the acquirer, where available. Example: 1", - "type" : "string" - }, - "risk.token": { - "description" : "Unique identifier or token for the shopper's card details.", - "type" : "string" - }, - "threeDAuthenticated": { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", - "type" : "string" - }, - "threeDOffered": { - "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", - "type" : "string" - }, - "tokenDataType": { - "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", - "type" : "string" - }, - "PayPal.ProtectionEligibility": { - "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", - "type" : "string" - }, - "PayPal.PayerId": { - "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", - "type" : "string" - }, - "PayPal.TransactionId": { - "description" : "Unique transaction ID of the payment.", - "type" : "string" - }, - "PayPal.CountryCode": { + "properties" : { + "PayPal.CountryCode" : { "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", "type" : "string" }, - "PayPal.FirstName": { + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { "description" : "Shopper's first name.", "type" : "string" }, - "PayPal.LastName": { + "PayPal.LastName" : { "description" : "Shopper's last name.", "type" : "string" }, - "PayPal.Phone": { + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { "description" : "Shopper's phone number.", "type" : "string" }, - "PayPal.EmailId": { - "description" : "Shopper's email.", + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", "type" : "string" } } }, "AdditionalDataTemporaryServices" : { - "properties": { - "enhancedSchemeData.customerReference": { + "properties" : { + "enhancedSchemeData.customerReference" : { "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", "type" : "string" }, - "enhancedSchemeData.totalTaxAmount": { - "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", - "type" : "string" - }, - "enhancedSchemeData.employeeName": { + "enhancedSchemeData.employeeName" : { "description" : "Name or ID associated with the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.jobDescription": { + "enhancedSchemeData.jobDescription" : { "description" : "Description of the job or task of the individual working in a temporary capacity.\n* maxLength: 40", "type" : "string" }, - "enhancedSchemeData.tempStartDate": { - "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "enhancedSchemeData.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.tempWeekEnding": { - "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", - "type" : "string" - }, - "enhancedSchemeData.requestName": { - "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", - "type" : "string" - }, - "enhancedSchemeData.regularHoursWorked": { + "enhancedSchemeData.regularHoursWorked" : { "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", "type" : "string" }, - "enhancedSchemeData.regularHoursRate": { - "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", "type" : "string" } } }, "AdditionalDataWallets" : { - "properties": { - "androidpay.token": { + "properties" : { + "androidpay.token" : { "description" : "The Android Pay token retrieved from the SDK.", "type" : "string" }, - "masterpass.transactionId": { + "masterpass.transactionId" : { "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.", "type" : "string" }, - "payment.token": { + "payment.token" : { "description" : "The Apple Pay token retrieved from the SDK.", "type" : "string" }, - "paywithgoogle.token": { + "paywithgoogle.token" : { "description" : "The Google Pay token retrieved from the SDK.", "type" : "string" }, - "samsungpay.token": { + "samsungpay.token" : { "description" : "The Samsung Pay token retrieved from the SDK.", "type" : "string" }, - "visacheckout.callId": { + "visacheckout.callId" : { "description" : "The Visa Checkout Call ID retrieved from the SDK.", "type" : "string" } } }, - "ResponseAdditionalDataCommon" : { - "properties" : { - "acquirerAccountCode" : { - "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n> Only relevant for PayPal transactions.", - "type" : "string" - }, - "acquirerCode" : { - "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", - "type" : "string" - }, - "acquirerReference" : { - "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", - "type" : "string" - }, - "alias" : { - "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", - "type" : "string" - }, - "aliasType" : { - "description" : "The type of the card alias.\n\nExample: Default", - "type" : "string" - }, - "authCode" : { - "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", - "type" : "string" - }, - "authorisedAmountCurrency" : { - "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "authorisedAmountValue" : { - "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", - "type" : "string" - }, - "avsResult" : { - "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", - "type" : "string" - }, - "avsResultRaw" : { - "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", - "type" : "string" - }, - "bic" : { - "description" : "BIC of a bank account.\n\nExample: TESTNL01\n> Only relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "dsTransID" : { - "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", - "type" : "string" - }, - "eci" : { - "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", - "type" : "string" - }, - "expiryDate" : { - "description" : "The expiry date on the card.\n\nExample: 6/2016\n> Returned only in case of a card payment.", - "type" : "string" - }, - "extraCostsCurrency" : { - "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", - "type" : "string" - }, - "extraCostsValue" : { - "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", - "type" : "string" - }, - "fraudCheck-[itemNr]-[FraudCheckname]" : { - "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", - "type" : "string" - }, - "fundingSource" : { - "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", - "type" : "string" - }, - "fundsAvailability" : { - "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", - "type" : "string" - }, - "inferredRefusalReason" : { - "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n* Low Authrate Bin\n* Non-reloadable prepaid card", - "type" : "string" - }, - "issuerCountry" : { - "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", - "type" : "string" - }, - "mcBankNetReferenceNumber" : { - "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "networkTxReference" : { - "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", - "type" : "string" - }, - "ownerName" : { - "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", - "type" : "string" - }, - "paymentAccountReference" : { - "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", - "type" : "string" - }, - "paymentMethodVariant" : { - "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", - "type" : "string" - }, - "payoutEligible" : { - "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", - "type" : "string" - }, - "realtimeAccountUpdaterStatus" : { - "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n* ContactCardAccountHolder", - "type" : "string" - }, - "receiptFreeText" : { - "description" : "Message to be displayed on the terminal.", - "type" : "string" - }, - "recurring.firstPspReference" : { - "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", - "type" : "string" - }, - "recurring.recurringDetailReference" : { - "description" : "The reference that uniquely identifies the recurring transaction.", - "type" : "string" - }, - "referred" : { - "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", - "type" : "string" - }, - "refusalReasonRaw" : { - "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", - "type" : "string" - }, - "shopperInteraction" : { - "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", - "type" : "string" - }, - "shopperReference" : { - "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", - "type" : "string" - }, - "terminalId" : { - "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", - "type" : "string" - }, - "threeDAuthenticated" : { - "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", - "type" : "string" - }, - "threeDAuthenticatedResponse" : { - "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", - "type" : "string" - }, - "threeDOffered" : { - "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", - "type" : "string" - }, - "threeDOfferedResponse" : { - "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", - "type" : "string" - }, - "threeDSVersion" : { - "description" : "The 3D Secure 2 version.", - "type" : "string" - }, - "visaTransactionId" : { - "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n> Contact Support Team to enable this field.", - "type" : "string" - }, - "xid" : { - "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", - "type" : "string" - } - } - }, - "ResponseAdditionalDataBillingAddress" : { - "properties" : { - "billingAddress.city" : { - "description" : "The billing address city passed in the payment request.", - "type" : "string" - }, - "billingAddress.country" : { - "description" : "The billing address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "billingAddress.houseNumberOrName" : { - "description" : "The billing address house number or name passed in the payment request.", - "type" : "string" - }, - "billingAddress.postalCode" : { - "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "billingAddress.stateOrProvince" : { - "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "billingAddress.street" : { - "description" : "The billing address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataCard" : { - "properties" : { - "cardBin" : { - "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", - "type" : "string" - }, - "cardHolderName" : { - "description" : "The cardholder name passed in the payment request.", - "type" : "string" - }, - "cardIssuingBank" : { - "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", - "type" : "string" - }, - "cardIssuingCountry" : { - "description" : "The country where the card was issued.\n\nExample: US", - "type" : "string" - }, - "cardIssuingCurrency" : { - "description" : "The currency in which the card is issued, if this information is available.\n\nExample: USD", - "type" : "string" - }, - "cardPaymentMethod" : { - "description" : "The card payment method used for the transaction.\n\nExample: amex", - "type" : "string" - }, - "cardSummary" : { - "description" : "The last four digits of a card number.\n> Returned only in case of a card payment.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataDeliveryAddress" : { - "properties" : { - "deliveryAddress.city" : { - "description" : "The delivery address city passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.country" : { - "description" : "The delivery address country passed in the payment request.\n\nExample: NL", - "type" : "string" - }, - "deliveryAddress.houseNumberOrName" : { - "description" : "The delivery address house number or name passed in the payment request.", - "type" : "string" - }, - "deliveryAddress.postalCode" : { - "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", - "type" : "string" - }, - "deliveryAddress.stateOrProvince" : { - "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", - "type" : "string" - }, - "deliveryAddress.street" : { - "description" : "The delivery address street passed in the payment request.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataInstallments" : { - "properties" : { - "installments.value" : { - "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", - "type" : "string" - }, - "installmentPaymentData.installmentType" : { - "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", - "type" : "string" - }, - "installmentPaymentData.paymentOptions" : { - "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].numberOfInstallments" : { - "description" : "Total number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].interestRate" : { - "description" : "Interest rate for the installment period.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].installmentFee" : { - "description" : "Installment fee amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].annualPercentageRate" : { - "description" : "Annual interest rate.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { - "description" : "First Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { - "description" : "Subsequent Installment Amount in minor units.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { - "description" : "Minimum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { - "description" : "Maximum number of installments possible for this payment.", - "type" : "string" - }, - "installmentPaymentData.option[itemNr].totalAmountDue" : { - "description" : "Total amount in minor units.", - "type" : "string" - } - } - }, - "ResponseAdditionalDataNetworkTokens" : { - "properties": { - "networkToken.available": { - "description": "Indicates whether a network token is available for the specified card.", - "type": "string" - }, - "networkToken.bin": { - "description": "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", - "type": "string" - }, - "networkToken.tokenSummary": { - "description": "The last four digits of a card number.", - "type": "string" - } - } - }, - "ResponseAdditionalDataPayPal" : { - "properties" : { - "paypalPayerStatus" : { - "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", - "type" : "string" - }, - "paypalPayerResidenceCountry" : { - "description" : "The buyer's country of residence.\n\nExample: NL", - "type" : "string" - }, - "paypalPayerId" : { - "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", - "type" : "string" - }, - "paypalEmail" : { - "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", - "type" : "string" - }, - "paypalProtectionEligibility" : { - "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", - "type" : "string" - } - } - }, - "ResponseAdditionalDataSepa" : { - "properties" : { - "sepadirectdebit.dateOfSignature" : { - "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", - "type" : "string" - }, - "sepadirectdebit.mandateId" : { - "description" : "Its value corresponds to the pspReference value of the transaction.", - "type" : "string" - }, - "sepadirectdebit.sequenceType" : { - "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", - "type" : "string" - } - } - }, "Address" : { "properties" : { "city" : { @@ -1537,6 +1519,24 @@ "country" ] }, + "AmazonPayDetails" : { + "properties" : { + "amazonPayToken" : { + "type" : "string" + }, + "checkoutSessionId" : { + "type" : "string" + }, + "type" : { + "default" : "amazonpay", + "description" : "**amazonpay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "Amount" : { "properties" : { "currency" : { @@ -1556,6 +1556,46 @@ "currency" ] }, + "AndroidPayDetails" : { + "properties" : { + "androidPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "androidPayToken" + ] + }, + "ApplePayDetails" : { + "properties" : { + "applePayToken" : { + "description" : "", + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "applepay", + "description" : "**applepay**", + "type" : "string" + } + }, + "required" : [ + "type", + "applePayToken" + ] + }, "ApplicationInfo" : { "properties" : { "adyenLibrary" : { @@ -1641,6 +1681,55 @@ } } }, + "BillDeskOnlineDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_online", + "description" : "**billdesk_online**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BillDeskWalletDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_wallet", + "description" : "**billdesk_wallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BlikDetails" : { + "properties" : { + "blikCode" : { + "description" : "BLIK code consisting of 6 digits.", + "type" : "string" + }, + "type" : { + "description" : "**blik**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, "BrowserInfo" : { "properties" : { "acceptHeader" : { @@ -1650,7 +1739,7 @@ "type" : "string" }, "colorDepth" : { - "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.", + "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", "format" : "int32", "type" : "integer" }, @@ -1659,6 +1748,7 @@ "type" : "boolean" }, "javaScriptEnabled" : { + "default" : "true", "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", "type" : "boolean" }, @@ -1757,16 +1847,769 @@ "holderName" ] }, - "CheckoutPaymentsAction" : { + "CardDetails" : { + "properties" : { + "cupsecureplus.smscode" : { + "deprecated" : true, + "type" : "string" + }, + "cvc" : { + "type" : "string" + }, + "encryptedCardNumber" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryMonth" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryYear" : { + "description" : "", + "type" : "string" + }, + "expiryMonth" : { + "type" : "string" + }, + "expiryYear" : { + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "holderName" : { + "type" : "string" + }, + "number" : { + "type" : "string" + }, + "type" : { + "default" : "scheme", + "description" : "**scheme**", + "type" : "string" + } + }, + "required" : [ + "type", + "encryptedCardNumber", + "encryptedExpiryMonth", + "encryptedExpiryYear" + ] + }, + "CheckoutAwaitAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutBalanceCheckRequest" : { + "properties" : { + "accountInfo" : { + "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/AccountInfo" + }, + "additionalAmount" : { + "description" : "If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).\nRequired to be in the same currency as the `amount`. ", + "$ref" : "#/components/schemas/Amount" + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "browserInfo" : { + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "$ref" : "#/components/schemas/BrowserInfo" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "deviceFingerprint" : { + "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", + "type" : "string" + }, + "enableRealTimeUpdate" : { + "deprecated" : true, + "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", + "type" : "boolean" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "merchantRiskIndicator" : { + "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/MerchantRiskIndicator" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "paymentMethod" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The collection that contains the type of the payment method and its specific information.", + "type" : "object" + }, + "recurring" : { + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).", + "$ref" : "#/components/schemas/Recurring" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "selectedBrand" : { + "description" : "Some payment methods require defining a value for this field to specify how to process the transaction.\n\nFor the Bancontact payment method, it can be set to:\n* `maestro` (default), to be processed like a Maestro card, or\n* `bcmc`, to be processed like a Bancontact card.", + "type" : "string" + }, + "selectedRecurringDetailReference" : { + "description" : "The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.", + "type" : "string" + }, + "sessionId" : { + "description" : "A session ID used to identify a payment session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "threeDS2RequestData" : { + "description" : "Request fields for 3D Secure 2.", + "$ref" : "#/components/schemas/ThreeDS2RequestData" + }, + "threeDSAuthenticationOnly" : { + "default" : "false", + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "type" : "boolean" + }, + "totalsGroup" : { + "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "paymentMethod" + ] + }, + "CheckoutBalanceCheckResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "balance" : { + "description" : "The balance for the payment method.", + "$ref" : "#/components/schemas/Amount" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "balance" + ] + }, + "CheckoutCancelOrderRequest" : { + "properties" : { + "merchantAccount" : { + "description" : "The merchant account identifier that orderData belongs to.", + "type" : "string" + }, + "order" : { + "description" : "The order request object that contains a pspReference that represents the order and the matching encrypted order data.", + "$ref" : "#/components/schemas/CheckoutOrder" + } + }, + "required" : [ + "order", + "merchantAccount" + ] + }, + "CheckoutCancelOrderResponse" : { + "properties" : { + "pspReference" : { + "description" : "A unique reference of the cancellation request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the cancellation request.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "resultCode" + ] + }, + "CheckoutCreateOrderRequest" : { + "properties" : { + "amount" : { + "description" : "The total amount of the order.", + "$ref" : "#/components/schemas/Amount" + }, + "expiresAt" : { + "description" : "The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the order.", + "type" : "string" + }, + "reference" : { + "description" : "A custom reference identifying the order.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "amount" + ] + }, + "CheckoutCreateOrderResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "expiresAt" : { + "description" : "The date that the order will expire.", + "type" : "string" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "orderData" : { + "description" : "The encrypted data that will be used by merchant for adding payments to the order.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The remaining amount in the order.", + "$ref" : "#/components/schemas/Amount" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "remainingAmount", + "expiresAt", + "orderData" + ] + }, + "CheckoutDonationAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutOneTimePasscodeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect as fallback, this object contains information about the redirect.", + "$ref" : "#/components/schemas/Redirect" + }, + "resendInterval" : { + "description" : "The interval in second between OTP resend.", + "format" : "int32", + "type" : "integer" + }, + "resendMaxAttempts" : { + "description" : "The maximum number of OTP resend attempts.", + "format" : "int32", + "type" : "integer" + }, + "resendUrl" : { + "description" : "The URL, to which you make POST request to trigger OTP resend.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutOrder" : { + "properties" : { + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "orderData" + ] + }, + "CheckoutOrderResponse" : { + "properties" : { + "expiresAt" : { + "description" : "The expiry date for the order.", + "type" : "string" + }, + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + }, + "reference" : { + "description" : "The merchant reference for the order.", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The updated remaining amount.", + "$ref" : "#/components/schemas/Amount" + } + }, + "required" : [ + "pspReference" + ] + }, + "CheckoutQrCodeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "qrCodeData" : { + "description" : "The contents of the QR code as a UTF8 string.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutRedirectAction" : { + "properties" : { + "data" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", + "type" : "object" + }, + "method" : { + "description" : "Specifies the HTTP method, for example GET or POST.", + "type" : "string" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutSDKAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "sdkData" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The data to pass to the SDK.", + "type" : "object" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutThreeDS2ChallengeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the challenge.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutThreeDS2FingerPrintAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutUtilityRequest" : { + "properties" : { + "originDomains" : { + "description" : "The list of origin domains, for which origin keys are requested.", + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "required" : [ + "originDomains" + ] + }, + "CheckoutUtilityResponse" : { + "properties" : { + "originKeys" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.", + "type" : "object" + } + } + }, + "CheckoutVoucherAction" : { "properties" : { "alternativeReference" : { "description" : "The voucher alternative reference code.", "type" : "string" }, - "data" : { - "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", - "type" : "object" - }, "downloadUrl" : { "description" : "The URL to download the voucher.", "type" : "string" @@ -1803,10 +2646,6 @@ "description" : "The merchant reference.", "type" : "string" }, - "method" : { - "description" : "Specifies the HTTP method, for example GET or POST.", - "type" : "string" - }, "paymentData" : { "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", "type" : "string" @@ -1815,10 +2654,6 @@ "description" : "Specifies the payment method.", "type" : "string" }, - "qrCodeData" : { - "description" : "The contents of the QR code as a UTF8 string.", - "type" : "string" - }, "reference" : { "description" : "The voucher reference code.", "type" : "string" @@ -1835,29 +2670,10 @@ "description" : "The surcharge amount.", "$ref" : "#/components/schemas/Amount" }, - "token" : { - "description" : "A token to pass to the 3DS2 Component to get the fingerprint/challenge.", - "type" : "string" - }, "totalAmount" : { "description" : "The total amount (initial plus surcharge amount).", "$ref" : "#/components/schemas/Amount" }, - "type" : { - "description" : "Enum that specifies the action that needs to be taken by the client.", - "enum" : [ - "await", - "donate", - "qrCode", - "redirect", - "sdk", - "threeDS2Challenge", - "threeDS2Fingerprint", - "voucher", - "wechatpaySDK" - ], - "type" : "string" - }, "url" : { "description" : "Specifies the URL to redirect to.", "type" : "string" @@ -1939,11 +2755,15 @@ "type" : "array" }, "amount" : { - "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "description" : "The payment amount and currency.", "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, "billingAddress" : { - "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "description" : "The address where to send the invoice.", "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { @@ -1954,7 +2774,7 @@ "type" : "array" }, "countryCode" : { - "description" : "The shopper's country code.", + "description" : "The shopper's two-letter country code.", "type" : "string" }, "deliveryAddress" : { @@ -1962,77 +2782,101 @@ "$ref" : "#/components/schemas/Address" }, "description" : { - "description" : "A short description visible on the Pay By Link page.\nMaximum length: 280 characters.", + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", "type" : "string" }, "expiresAt" : { - "description" : "The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.", + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", "type" : "string" }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, "merchantAccount" : { - "description" : "The merchant account identifier, with which you want to process the transaction.", + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations:\n* Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\"\n* Maximum 20 characters per key. When exceeding, the \"178\" error occurs: \"Metadata key size exceeds limit\"\n* A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id", + "type" : "object" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], "type" : "string" }, "reference" : { - "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", "type" : "string" }, "returnUrl" : { - "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL.", + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", "type" : "string" }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, "shopperEmail" : { - "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "description" : "The shopper's email address.", "type" : "string" }, "shopperLocale" : { - "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", "type" : "string" }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, "shopperReference" : { - "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", "type" : "string" }, "storePaymentMethod" : { - "description" : "When true and `shopperReference` is provided, the payment details will be stored.", + "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", "type" : "boolean" } }, "required" : [ - "merchantAccount", - "reference", "amount", - "countryCode" - ] - }, - "CreatePaymentLinkResponse" : { - "properties" : { - "amount" : { - "description" : "The amount for which the Pay By Link URL was created.", - "$ref" : "#/components/schemas/Amount" - }, - "expiresAt" : { - "description" : "The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.", - "type" : "string" - }, - "reference" : { - "description" : "The reference that was specified when the Pay By Link URL was created.", - "type" : "string" - }, - "url" : { - "description" : "The URL at which the shopper can complete the payment.", - "type" : "string" - } - }, - "required" : [ "reference", - "expiresAt", - "url" + "merchantAccount" ] }, "DetailsRequest" : { "properties" : { "details" : { + "additionalProperties" : { + "type" : "string" + }, + "deprecated" : true, "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", "type" : "object" }, @@ -2052,15 +2896,17 @@ "DeviceRenderOptions" : { "properties" : { "sdkInterface" : { - "description" : "Supported SDK interface types.\nAllowed values:\n* Native\n* Html\n* both", + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", "enum" : [ - "Html", - "Native", + "native", + "html", "both" ], "type" : "string" }, "sdkUiType" : { + "default" : "", "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", "items" : { "enum" : [ @@ -2076,6 +2922,138 @@ } } }, + "DokuDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "infix" : { + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "ovoId" : { + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "type" : { + "description" : "**doku**", + "enum" : [ + "doku_mandiri_va", + "doku_cimb_va", + "doku_danamon_va", + "doku_bni_va", + "doku_permata_lite_atm", + "doku_bri_va", + "doku_bca_va", + "doku_alfamart", + "doku_indomaret" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail" + ] + }, + "DotpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "dotpay", + "description" : "**dotpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "DragonpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper’s email address.", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "EcontextVoucherDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's contact number.", + "type" : "string" + }, + "type" : { + "description" : "**econtextvoucher**", + "enum" : [ + "econtext_seveneleven", + "econtext_stores" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail", + "telephoneNumber" + ] + }, + "EntercashDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "entercash", + "description" : "**entercash**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "ExternalPlatform" : { "properties" : { "integrator" : { @@ -2192,9 +3170,70 @@ "accountScore" ] }, + "GiropayDetails" : { + "properties" : { + "type" : { + "default" : "giropay", + "description" : "**giropay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "GooglePayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "googlePayCardNetwork" : { + "description" : "", + "type" : "string" + }, + "googlePayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "paywithgoogle", + "description" : "**paywithgoogle**", + "type" : "string" + } + }, + "required" : [ + "type", + "googlePayToken", + "googlePayCardNetwork" + ] + }, + "IdealDetails" : { + "properties" : { + "issuer" : { + "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "ideal", + "description" : "**ideal**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "InputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -2266,6 +3305,54 @@ } } }, + "KlarnaDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "token" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "LianLianPayDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "LineItem" : { "properties" : { "amountExcludingTax" : { @@ -2313,6 +3400,51 @@ } } }, + "MasterpassDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "masterpassTransactionId" : { + "description" : "The Masterpass transaction ID.", + "type" : "string" + }, + "type" : { + "default" : "masterpass", + "description" : "**masterpass**", + "type" : "string" + } + }, + "required" : [ + "type", + "masterpassTransactionId" + ] + }, + "MbwayDetails" : { + "properties" : { + "shopperEmail" : { + "description" : "", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber", + "shopperEmail" + ] + }, "MerchantDevice" : { "properties" : { "os" : { @@ -2386,6 +3518,34 @@ } } }, + "MobilePayDetails" : { + "properties" : { + "type" : { + "default" : "mobilepay", + "description" : "**mobilepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "MolPayDetails" : { + "properties" : { + "issuer" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, "Name" : { "properties" : { "firstName" : { @@ -2418,6 +3578,226 @@ "gender" ] }, + "NexoRouterDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + }, + "uniqueTerminalId" : { + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "OpenInvoiceDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PayPalDetails" : { + "properties" : { + "orderID" : { + "type" : "string" + }, + "payerID" : { + "type" : "string" + }, + "subtype" : { + "description" : "The type of flow to initiate.", + "enum" : [ + "redirect", + "sdk" + ], + "type" : "string" + }, + "type" : { + "default" : "paypal", + "description" : "**paypal**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentLinkResource" : { + "properties" : { + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The payment amount and currency.", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "countryCode" : { + "description" : "The shopper's two-letter country code.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "description" : { + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "type" : "string" + }, + "id" : { + "description" : "A unique identifier of the payment link.", + "readOnly" : true, + "type" : "string" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "merchantAccount" : { + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", + "type" : "string" + }, + "returnUrl" : { + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", + "type" : "string" + }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, + "shopperEmail" : { + "description" : "The shopper's email address.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "status" : { + "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "enum" : [ + "active", + "expired", + "paid" + ], + "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "type" : "string" + }, + "storePaymentMethod" : { + "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", + "type" : "boolean" + }, + "url" : { + "description" : "The URL at which the shopper can complete the payment.", + "readOnly" : true, + "type" : "string" + } + }, + "required" : [ + "amount", + "reference", + "merchantAccount", + "id", + "url", + "status" + ] + }, "PaymentMethod" : { "properties" : { "brands" : { @@ -2428,6 +3808,9 @@ "type" : "array" }, "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -2484,495 +3867,6 @@ } } }, - "PaymentMethodACH":{ - "properties":{ - "type":{ - "description":"Must be set to **ach**.", - "type":"string" - }, - "bankAccount":{ - "description":"The bank account, from which the funds should be deducted.", - "type":"string" - } - }, - "required" : [ - "type", - "bankAccount" - ] - }, - "PaymentMethodCard":{ - "properties":{ - "type":{ - "description":"Must be set to **scheme**.", - "type":"string" - }, - "cvc" : { - "description" : "The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits", - "maxLength" : 20, - "minLength" : 1, - "type" : "string" - }, - "expiryMonth" : { - "description" : "The card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "expiryYear" : { - "description" : "The card expiry year.\nFormat: 4 digits. For example: 2020", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - }, - "holderName" : { - "description" : "The name of the cardholder, as printed on the card.", - "maxLength" : 50, - "minLength" : 1, - "type" : "string" - }, - "number" : { - "description" : "The card number (4-19 characters). Do not use any separators.", - "maxLength" : 19, - "minLength" : 4, - "type" : "string" - } - }, - "required" : [ - "type", - "number", - "expiryMonth", - "expiryYear", - "holderName" - ] - }, - "PaymentMethodApplePay":{ - "properties":{ - "type":{ - "description":"Must be set to **applepay**.", - "type":"string" - }, - "applepay.token":{ - "description":"The stringified and base64 encoded paymentData retrieved from the Apple framework.", - "type":"string" - } - }, - "required" : [ - "type", - "applepay.token" - ] - }, - "PaymentMethodAndroidPay":{ - "properties":{ - "type":{ - "description":"Must be set to **androidpay**.", - "type":"string" - }, - "androidpay.token":{ - "description":"The stringified and base64 encoded paymentData retrieved from the Android framework.", - "type":"string" - } - }, - "required" : [ - "type", - "androidpay.token" - ] - }, - "PaymentMethodAmazonPay":{ - "properties":{ - "type":{ - "description":"Must be set to **androidpay**.", - "type":"string" - }, - "amazonPayToken":{ - "description":"The stringified and base64 encoded paymentData retrieved from the Amazon framework.", - "type":"string" - } - }, - "required" : [ - "type", - "amazonPayToken" - ] - }, - "PaymentMethodSchemeGiftCard":{ - "properties":{ - "type":{ - "description":"Must be set to **scheme**.", - "type":"string" - }, - "cvc" : { - "description" : "The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits", - "maxLength" : 20, - "minLength" : 1, - "type" : "string" - }, - "expiryMonth" : { - "description" : "The card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "expiryYear" : { - "description" : "The card expiry year.\nFormat: 4 digits. For example: 2020", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - }, - "holderName" : { - "description" : "The name of the cardholder, as printed on the card.", - "maxLength" : 50, - "minLength" : 1, - "type" : "string" - }, - "number" : { - "description" : "The card number (4-19 characters). Do not use any separators.", - "maxLength" : 19, - "minLength" : 4, - "type" : "string" - }, - "encryptedSecurityCode" : { - "description" : "The encrypted [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits", - "maxLength" : 20, - "minLength" : 1, - "type" : "string" - }, - "encryptedExpiryMonth" : { - "description" : "The encrypted card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November", - "maxLength" : 2, - "minLength" : 1, - "type" : "string" - }, - "encryptedExpiryYear" : { - "description" : "The encrypted card expiry year.\nFormat: 4 digits. For example: 2020", - "maxLength" : 4, - "minLength" : 4, - "type" : "string" - }, - "encryptedCardNumber" : { - "description" : "The encrypted card number (4-19 characters). Do not use any separators.", - "maxLength" : 19, - "minLength" : 4, - "type" : "string" - } - }, - "required" : [ - "type", - "number", - "expiryMonth", - "expiryYear", - "holderName", - "encryptedCardNumber", - "encryptedSecurityCode", - "encryptedExpiryMonth", - "encryptedExpiryYear" - ] - }, - "PaymentMethodDotpay":{ - "properties":{ - "type":{ - "description":"Must be set to **dotpay**.", - "type":"string" - }, - "issuer":{ - "description":"The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodDragonpayEBanking":{ - "properties":{ - "type":{ - "description":"Must be set to **dragonpay_ebanking**.", - "type":"string" - }, - "issuer":{ - "description":"The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodDragonpayOtcBanking":{ - "properties":{ - "type":{ - "description":"Must be set to **dragonpay_otc_banking**.", - "type":"string" - }, - "issuer":{ - "description":"The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodDragonpayOtcNonBanking":{ - "properties":{ - "type":{ - "description":"Must be set to **dragonpay_otc_non_banking**.", - "type":"string" - }, - "issuer":{ - "description":"The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodDragonpayOtcPhilippines":{ - "properties":{ - "type":{ - "description":"Must be set to **dragonpay_otc_philippines**.", - "type":"string" - }, - "issuer":{ - "description":"The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodGiropay":{ - "properties":{ - "type":{ - "description":"Must be set to **giropay**.", - "type":"string" - }, - "bic":{ - "description":"The bank identifier code (BIC) of the selected issuing bank.", - "type":"string" - } - }, - "required" : [ - "type", - "bic" - ] - }, - "PaymentMethodIDeal":{ - "properties":{ - "type":{ - "description":"Must be set to **dotpay**.", - "type":"string" - }, - "issuer":{ - "description":"The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDeal issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodLianLianPayEbankingEnterprise":{ - "properties":{ - "type":{ - "description":"Must be set to **lianlianpay_ebanking_enterprise**.", - "type":"string" - }, - "telephoneNumber":{ - "description" : "The shopper's telephone number.", - "type":"string" - } - }, - "required" : [ - "type", - "telephoneNumber" - ] - }, - "PaymentMethodLianLianPayEbankingCredit":{ - "properties":{ - "type":{ - "description":"Must be set to **lianlianpay_ebanking_credit**.", - "type":"string" - }, - "telephoneNumber":{ - "description" : "The shopper's telephone number.", - "type":"string" - } - }, - "required" : [ - "type", - "telephoneNumber" - ] - }, - "PaymentMethodLianLianPayEbankingDebit":{ - "properties":{ - "type":{ - "description":"Must be set to **lianlianpay_ebanking_debit**.", - "type":"string" - }, - "telephoneNumber":{ - "description" : "The shopper's telephone number.", - "type":"string" - } - }, - "required" : [ - "type", - "telephoneNumber" - ] - }, - "PaymentMethodMOLpayEBankingMalaysia":{ - "properties":{ - "type":{ - "description":"Must be set to **molpay_ebanking_fpx_MY**.", - "type":"string" - }, - "issuer":{ - "description":"The MOLpay issuer value of the shopper's selected bank. Set this to an **id** of a MOLpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodMOLpayEBankingThailand":{ - "properties":{ - "type":{ - "description":"Must be set to **molpay_ebanking_TH**.", - "type":"string" - }, - "issuer":{ - "description":"The MOLpay issuer value of the shopper's selected bank. Set this to an **id** of a MOLpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodMOLpayEBankingVietnam":{ - "properties":{ - "type":{ - "description":"Must be set to **molpay_ebanking_VN**.", - "type":"string" - }, - "issuer":{ - "description":"The MOLpay issuer value of the shopper's selected bank. Set this to an **id** of a MOLpay issuer to preselect it.", - "type":"string" - } - }, - "required" : [ - "type", - "issuer" - ] - }, - "PaymentMethodPayWithGoogle":{ - "properties":{ - "type":{ - "description":"Must be set to **paywithgoogle**.", - "type":"string" - }, - "paywithgoogle.token":{ - "description":"The stringified and base64 encoded paymentData retrieved from the Google framework.", - "type":"string" - }, - "googlePayToken":{ - "description":"The stringified and base64 encoded paymentData retrieved from the Google framework.", - "type":"string" - }, - "googlePayCardNetwork":{ - "description":"The card type provided by the shopper.", - "type":"string" - } - }, - "required" : [ - "paywithgoogle.token", - "googlePayToken", - "googlePayCardNetwork" - ] - }, - "PaymentMethodQIWIWallet":{ - "properties":{ - "type":{ - "description":"Must be set to **qiwiwallet**.", - "type":"string" - }, - "qiwiwallet.telephoneNumberPrefix":{ - "description" : "The shopper's telephone number prefix.", - "type":"string" - }, - "qiwiwallet.telephoneNumber":{ - "description" : "The shopper's telephone number.", - "type":"string" - } - }, - "required" : [ - "type", - "qiwiwallet.telephoneNumberPrefix", - "qiwiwallet.telephoneNumber" - ] - }, - "PaymentMethodSamsungpay":{ - "properties":{ - "type":{ - "description":"Must be set to **samsungpay**.", - "type":"string" - }, - "samsungpay.token":{ - "description" : "The stringified and base64 encoded paymentData retrieved from the Samsung framework.", - "type":"string" - } - }, - "required" : [ - "type", - "samsungpay.token" - ] - }, - "PaymentMethodSepaDirectDebit":{ - "properties":{ - "type":{ - "description":"Must be set to **sepadirectdebit**.", - "type":"string" - }, - "sepa.ibanNumber":{ - "description" : "The shopper's international bank account number (IBAN).", - "type":"string" - }, - "sepa.ownerName":{ - "description" : "The name on the SEPA bank account.", - "type":"string" - } - }, - "required" : [ - "type", - "sepa.ibanNumber", - "sepa.ownerName" - ] - }, - "PaymentMethodVipps":{ - "properties":{ - "type":{ - "description":"Must be set to **vipps**.", - "type":"string" - }, - "telephoneNumber" : { - "description" : "The shopper's telephone number.", - "type" : "string" - } - }, - "required" : [ - "type", - "telephoneNumber" - ] - }, "PaymentMethodsGroup" : { "properties" : { "groupType" : { @@ -2995,21 +3889,48 @@ "PaymentMethodsRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", @@ -3064,10 +3985,6 @@ "maxLength" : 16, "minLength" : 1, "type" : "string" - }, - "threeDSAuthenticationOnly" : { - "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" } }, "required" : [ @@ -3114,21 +4031,48 @@ "$ref" : "#/components/schemas/AccountInfo" }, "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "amount" : { "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", @@ -3143,7 +4087,7 @@ "$ref" : "#/components/schemas/Address" }, "browserInfo" : { - "description" : "The shopper's browser information.\n> For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", "$ref" : "#/components/schemas/BrowserInfo" }, "captureDelayHours" : { @@ -3252,13 +4196,20 @@ "$ref" : "#/components/schemas/MerchantRiskIndicator" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, "mpiData" : { - "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa).", + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", "$ref" : "#/components/schemas/ThreeDSecureData" }, + "order" : { + "description" : "Contains the order information which is required for partial payments.", + "$ref" : "#/components/schemas/CheckoutOrder" + }, "orderReference" : { "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", "type" : "string" @@ -3268,8 +4219,108 @@ "type" : "string" }, "paymentMethod" : { - "description" : "The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`).", - "type" : "object" + "description" : "The type and required details of a payment method to use.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/AndroidPayDetails" + }, + { + "$ref" : "#/components/schemas/VisaCheckoutDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" + }, + { + "$ref" : "#/components/schemas/AmazonPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" + }, + { + "$ref" : "#/components/schemas/CardDetails" + }, + { + "$ref" : "#/components/schemas/AchDetails" + }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/IdealDetails" + }, + { + "$ref" : "#/components/schemas/PayPalDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/QiwiWalletDetails" + }, + { + "$ref" : "#/components/schemas/VippsDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskOnlineDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskWalletDetails" + }, + { + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, + { + "$ref" : "#/components/schemas/DokuDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/NexoRouterDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + } + ] }, "recurringExpiry" : { "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", @@ -3280,7 +4331,7 @@ "type" : "string" }, "recurringProcessingModel" : { - "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", "enum" : [ "CardOnFile", "Subscription", @@ -3301,7 +4352,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -3343,7 +4394,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -3357,16 +4408,16 @@ }, "type" : "array" }, - "storePaymentMethod" : { - "description" : "When true and `shopperReference` is provided, the payment details will be stored.", - "type" : "boolean" - }, "store" : { "description" : "The physical store, for which this payment is processed.", "maxLength" : 16, "minLength" : 1, "type" : "string" }, + "storePaymentMethod" : { + "description" : "When true and `shopperReference` is provided, the payment details will be stored.", + "type" : "boolean" + }, "telephoneNumber" : { "description" : "The shopper's telephone number.", "type" : "string" @@ -3376,6 +4427,7 @@ "$ref" : "#/components/schemas/ThreeDS2RequestData" }, "threeDSAuthenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -3396,26 +4448,73 @@ "properties" : { "action" : { "description" : "Action to be taken for completing the payment.", - "$ref" : "#/components/schemas/CheckoutPaymentsAction" + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + } + ] }, "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "amount" : { "description" : "Authorised amount in the transaction.", "$ref" : "#/components/schemas/Amount" }, "authentication" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", "type" : "object" }, @@ -3434,7 +4533,14 @@ "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Contains the details that will be presented to the shopper.", "type" : "object" }, @@ -3451,7 +4557,7 @@ "$ref" : "#/components/schemas/Redirect" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -3459,7 +4565,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3480,24 +4586,51 @@ "PaymentSetupRequest" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.", - "anyOf": [ - { "$ref" : "#/components/schemas/AdditionalDataCommon" }, - { "$ref" : "#/components/schemas/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" } - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." }, "allowedPaymentMethods" : { - "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3516,7 +4649,7 @@ "$ref" : "#/components/schemas/Address" }, "blockedPaymentMethods" : { - "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", "items" : { "type" : "string" }, @@ -3624,6 +4757,9 @@ "type" : "string" }, "metadata" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", "type" : "object" }, @@ -3648,7 +4784,7 @@ "type" : "string" }, "returnUrl" : { - "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", "type" : "string" }, "riskData" : { @@ -3694,7 +4830,7 @@ "type" : "string" }, "shopperStatement" : { - "description" : "The text to appear on the shopper's bank statement.", + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", "type" : "string" }, "socialSecurityNumber" : { @@ -3717,6 +4853,7 @@ "type" : "string" }, "threeDSAuthenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -3767,17 +4904,33 @@ "PaymentVerificationResponse" : { "properties" : { "additionalData" : { - "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.", - "anyOf": [ - { "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" }, - { "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataCard"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal"}, - { "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"} - ] + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." }, "fraudResult" : { "description" : "The fraud result properties of the payment.", @@ -3787,6 +4940,10 @@ "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", "type" : "string" }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, "paymentMethod" : { "description" : "The payment method used in the transaction.", "type" : "string" @@ -3796,7 +4953,7 @@ "type" : "string" }, "refusalReason" : { - "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.\n\nWhen a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.", + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", "type" : "string" }, "refusalReasonCode" : { @@ -3804,7 +4961,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, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", "enum" : [ "AuthenticationFinished", "Authorised", @@ -3835,6 +4992,23 @@ "shopperLocale" ] }, + "QiwiWalletDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "qiwiwallet", + "description" : "**qiwiwallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, "Recurring" : { "properties" : { "contract" : { @@ -3879,6 +5053,9 @@ "type" : "array" }, "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "The configuration of the payment method.", "type" : "object" }, @@ -3930,6 +5107,9 @@ "Redirect" : { "properties" : { "data" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", "type" : "object" }, @@ -3947,6 +5127,378 @@ } } }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "authCode" : { + "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, "RiskData" : { "properties" : { "clientData" : { @@ -3975,6 +5527,52 @@ } } }, + "SamsungPayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "samsungPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "samsungpay", + "description" : "**samsungpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "samsungPayToken" + ] + }, + "SepaDirectDebitDetails" : { + "properties" : { + "iban" : { + "description" : "The International Bank Account Number (IBAN).", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.", + "type" : "string" + }, + "type" : { + "default" : "sepadirectdebit", + "description" : "**sepadirectdebit**", + "type" : "string" + } + }, + "required" : [ + "type", + "iban", + "ownerName" + ] + }, "ServiceError" : { "properties" : { "errorCode" : { @@ -4156,6 +5754,9 @@ "SubInputDetail" : { "properties" : { "configuration" : { + "additionalProperties" : { + "type" : "string" + }, "description" : "Configuration parameters for the required input.", "type" : "object" }, @@ -4195,6 +5796,7 @@ "type" : "string" }, "authenticationOnly" : { + "default" : "false", "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", "type" : "boolean" }, @@ -4225,6 +5827,7 @@ "type" : "string" }, "messageVersion" : { + "default" : "2.1.0", "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", "type" : "string" }, @@ -4245,6 +5848,7 @@ "$ref" : "#/components/schemas/SDKEphemPubKey" }, "sdkMaxTimeout" : { + "default" : "60", "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", "format" : "int32", "type" : "integer" @@ -4296,7 +5900,7 @@ "ThreeDSecureData" : { "properties" : { "authenticationResponse" : { - "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**.", + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", "enum" : [ "Y", "N", @@ -4315,7 +5919,7 @@ "type" : "string" }, "directoryResponse" : { - "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow.", + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", "enum" : [ "A", "C", @@ -4346,6 +5950,106 @@ "type" : "string" } } + }, + "UpdatePaymentLinkRequest" : { + "properties" : { + "status" : { + "description" : "Status of the payment link. Possible values:\n* **expired**", + "enum" : [ + "expired" + ], + "type" : "string" + } + }, + "required" : [ + "status" + ] + }, + "VippsDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "vipps", + "description" : "**vipps**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "VisaCheckoutDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "visacheckout", + "description" : "**visacheckout**", + "type" : "string" + }, + "visaCheckoutCallId" : { + "description" : "", + "type" : "string" + } + }, + "required" : [ + "type", + "visaCheckoutCallId" + ] + }, + "WeChatPayDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "WeChatPayMiniProgramDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" } } } diff --git a/json/CheckoutService-v53.json b/json/CheckoutService-v53.json new file mode 100644 index 0000000..f373395 --- /dev/null +++ b/json/CheckoutService-v53.json @@ -0,0 +1,6077 @@ +{ + "openapi" : "3.0.3", + "servers" : [ + { + "url" : "https://checkout-test.adyen.com/v53" + } + ], + "info" : { + "version" : "53", + "title" : "Adyen Checkout API", + "description" : "Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).\n\nThis API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout).\n\n## Authentication\nEach request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v53/payments\n```", + "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", + "contact" : { + "name" : "Adyen Support", + "url" : "https://support.adyen.com/", + "email" : "support@adyen.com" + } + }, + "x-groups" : [ + "Payments", + "Payment links", + "Orders", + "Classic Checkout SDK", + "Utility" + ], + "paths" : { + "/orders" : { + "post" : { + "summary" : "Creates an order for the given amount.", + "description" : "Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods.", + "operationId" : "post-orders", + "x-groupName" : "Orders", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCreateOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/orders/cancel" : { + "post" : { + "summary" : "Cancels the given order.", + "description" : "Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.", + "operationId" : "post-orders-cancel", + "x-groupName" : "Orders", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutCancelOrderResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/originKeys" : { + "post" : { + "summary" : "Create originKey values for one or more merchant domains.", + "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. \n> Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. ", + "operationId" : "post-originKeys", + "x-groupName" : "Utility", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutUtilityResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentLinks" : { + "post" : { + "summary" : "Creates a payment link.", + "description" : "Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request.\n\nFor more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api).", + "operationId" : "post-paymentLinks", + "x-groupName" : "Payment links", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CreatePaymentLinkRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "201" : { + "description" : "Created - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentLinks/{linkId}" : { + "get" : { + "summary" : "Retrieve a payment link.", + "description" : "Retrieves the payment link details using the payment link `id`.", + "operationId" : "get-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 2, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + }, + "patch" : { + "summary" : "Update the status of a payment link", + "description" : "Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).", + "operationId" : "patch-paymentLinks-linkId", + "x-groupName" : "Payment links", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdatePaymentLinkRequest" + } + } + } + }, + "parameters" : [ + { + "description" : "Unique identifier of the payment link.", + "name" : "linkId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentLinkResource" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentMethods" : { + "post" : { + "summary" : "Returns available payment methods.", + "description" : "Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`).\n\nAlthough we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week.", + "operationId" : "post-paymentMethods", + "x-groupName" : "Payments", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentMethodsRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentMethodsResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentMethods/balance" : { + "post" : { + "summary" : "Returns the available balance on gift card.", + "description" : "Retrieves the balance remaining on a shopper's gift card. To check a gift card's balance, make a POST `/paymentMethods/balance` call and include the gift card's details inside a `paymentMethod` object.", + "operationId" : "post-paymentMethods-balance", + "x-groupName" : "Orders", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CheckoutBalanceCheckResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/paymentSession" : { + "post" : { + "summary" : "Creates a payment session.", + "description" : "Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "operationId" : "post-paymentSession", + "x-groupName" : "Classic Checkout SDK", + "x-sortIndex" : 1, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentSetupRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentSetupResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/payments" : { + "post" : { + "summary" : "Starts a transaction.", + "description" : "Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request:\n* For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**).\n* For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`.", + "operationId" : "post-payments", + "x-groupName" : "Payments", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/payments/details" : { + "post" : { + "summary" : "Submits details for a payment.", + "description" : "Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).\n\nThe exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request.\n\nIn addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API.", + "operationId" : "post-payments-details", + "x-groupName" : "Payments", + "x-sortIndex" : 3, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/DetailsRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + }, + "/payments/result" : { + "post" : { + "summary" : "Verifies payment result.", + "description" : "Verifies the payment result using the payload returned from the Checkout SDK.\n\nFor more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks).", + "operationId" : "post-payments-result", + "x-groupName" : "Classic Checkout SDK", + "x-sortIndex" : 2, + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentVerificationRequest" + } + } + } + }, + "responses" : { + "200" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PaymentVerificationResponse" + } + } + }, + "description" : "OK - the request has succeeded." + }, + "400" : { + "description" : "Bad Request - a problem reading or understanding the request." + }, + "422" : { + "description" : "Unprocessable Entity - a request validation error." + }, + "401" : { + "description" : "Unauthorized - authentication required." + }, + "500" : { + "description" : "Internal Server Error - the server could not process the request." + }, + "403" : { + "description" : "Forbidden - insufficient permissions to process the request." + } + } + } + } + }, + "components" : { + "schemas" : { + "AccountInfo" : { + "properties" : { + "accountAgeIndicator" : { + "description" : "Indicator for the length of time since this shopper account was created in the merchant's environment.\nAllowed values:\n* notApplicable\n* thisTransaction\n* lessThan30Days\n* from30To60Days\n* moreThan60Days", + "enum" : [ + "notApplicable", + "thisTransaction", + "lessThan30Days", + "from30To60Days", + "moreThan60Days" + ], + "type" : "string" + }, + "accountChangeDate" : { + "description" : "Date when the shopper's account was last changed.", + "format" : "date-time", + "type" : "string" + }, + "accountChangeIndicator" : { + "description" : "Indicator for the length of time since the shopper's account was last updated.\nAllowed values:\n* thisTransaction\n* lessThan30Days\n* from30To60Days\n* moreThan60Days", + "enum" : [ + "thisTransaction", + "lessThan30Days", + "from30To60Days", + "moreThan60Days" + ], + "type" : "string" + }, + "accountCreationDate" : { + "description" : "Date when the shopper's account was created.", + "format" : "date-time", + "type" : "string" + }, + "accountType" : { + "description" : "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit", + "enum" : [ + "notApplicable", + "credit", + "debit" + ], + "type" : "string" + }, + "addCardAttemptsDay" : { + "description" : "Number of attempts the shopper tried to add a card to their account in the last day.", + "format" : "int32", + "type" : "integer" + }, + "deliveryAddressUsageDate" : { + "description" : "Date the selected delivery address was first used.", + "format" : "date-time", + "type" : "string" + }, + "deliveryAddressUsageIndicator" : { + "description" : "Indicator for the length of time since this delivery address was first used.\nAllowed values:\n* thisTransaction\n* lessThan30Days\n* from30To60Days\n* moreThan60Days", + "enum" : [ + "thisTransaction", + "lessThan30Days", + "from30To60Days", + "moreThan60Days" + ], + "type" : "string" + }, + "homePhone" : { + "description" : "Shopper's home phone number (including the country code).", + "type" : "string" + }, + "mobilePhone" : { + "description" : "Shopper's mobile phone number (including the country code).", + "type" : "string" + }, + "passwordChangeDate" : { + "description" : "Date when the shopper last changed their password.", + "format" : "date-time", + "type" : "string" + }, + "passwordChangeIndicator" : { + "description" : "Indicator when the shopper has changed their password.\nAllowed values:\n* notApplicable\n* thisTransaction\n* lessThan30Days\n* from30To60Days\n* moreThan60Days", + "enum" : [ + "notApplicable", + "thisTransaction", + "lessThan30Days", + "from30To60Days", + "moreThan60Days" + ], + "type" : "string" + }, + "pastTransactionsDay" : { + "description" : "Number of all transactions (successful and abandoned) from this shopper in the past 24 hours.", + "format" : "int32", + "type" : "integer" + }, + "pastTransactionsYear" : { + "description" : "Number of all transactions (successful and abandoned) from this shopper in the past year.", + "format" : "int32", + "type" : "integer" + }, + "paymentAccountAge" : { + "description" : "Date this payment method was added to the shopper's account.", + "format" : "date-time", + "type" : "string" + }, + "paymentAccountIndicator" : { + "description" : "Indicator for the length of time since this payment method was added to this shopper's account.\nAllowed values:\n* notApplicable\n* thisTransaction\n* lessThan30Days\n* from30To60Days\n* moreThan60Days", + "enum" : [ + "notApplicable", + "thisTransaction", + "lessThan30Days", + "from30To60Days", + "moreThan60Days" + ], + "type" : "string" + }, + "purchasesLast6Months" : { + "description" : "Number of successful purchases in the last six months.", + "format" : "int32", + "type" : "integer" + }, + "suspiciousActivity" : { + "description" : "Whether suspicious activity was recorded on this account.", + "type" : "boolean" + }, + "workPhone" : { + "description" : "Shopper's work phone number (including the country code).", + "type" : "string" + } + } + }, + "AchDetails" : { + "properties" : { + "bankAccountNumber" : { + "description" : "The bank account number (without separators).", + "type" : "string" + }, + "bankLocationId" : { + "description" : "The bank routing number of the account. The field value is `nil` in most cases.", + "type" : "string" + }, + "encryptedBankAccountNumber" : { + "description" : "Encrypted bank account number. The bank account number (without separators).", + "type" : "string" + }, + "encryptedBankLocationId" : { + "description" : "Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases.", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", + "type" : "string" + }, + "type" : { + "default" : "ach", + "description" : "**ach**", + "type" : "string" + } + }, + "required" : [ + "type", + "bankAccountNumber" + ] + }, + "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.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.agency_invoice_number" : { + "description" : "Reference number for the invoice, issued by the agency.\n* minLength: 1\n* maxLength: 6", + "type" : "string" + }, + "airline.agency_plan_name" : { + "description" : "2-letter agency plan identifier; alphabetical.\n* minLength: 2\n* maxLength: 2", + "type" : "string" + }, + "airline.airline_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.airline_designator_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", + "type" : "string" + }, + "airline.boarding_fee" : { + "description" : "Chargeable amount for boarding the plane.\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 18", + "type" : "string" + }, + "airline.computerized_reservation_system" : { + "description" : "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Format: alphanumeric.\n* minLength: 4\n* maxLength: 4", + "type" : "string" + }, + "airline.customer_reference_number" : { + "description" : "Reference number; alphanumeric.\n* minLength: 0\n* maxLength: 20", + "type" : "string" + }, + "airline.document_type" : { + "description" : "Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.\n* Format: 2-digit code\n* Example: Passenger ticket = 01\n* minLength: 2\n* maxLength: 2", + "type" : "string" + }, + "airline.flight_date" : { + "description" : "Flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10\n* maxLength: 16", + "type" : "string" + }, + "airline.leg.carrier_code" : { + "description" : "[IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: IATA 2-letter airline code\n* Example: KLM = KL\n* minLength: 2\n* maxLength: 2", + "type" : "string" + }, + "airline.leg.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.date_of_travel" : { + "description" : "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16", + "type" : "string" + }, + "airline.leg.depart_airport" : { + "description" : "Alphabetical identifier of the departure airport.\nThis field is required if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.depart_tax" : { + "description" : "[Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).\n* minLength: 1\n* maxLength: 12", + "type" : "string" + }, + "airline.leg.destination_code" : { + "description" : "Alphabetical identifier of the destination/arrival airport.\nThis field is required/mandatory if the airline data includes leg details.\n* Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.\n* Example: Amsterdam = AMS\n* minLength: 3\n* maxLength: 3", + "type" : "string" + }, + "airline.leg.fare_base_code" : { + "description" : "[Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.\n* minLength: 1\n* maxLength: 7", + "type" : "string" + }, + "airline.leg.flight_number" : { + "description" : "The flight identifier.\n* minLength: 1\n* maxLength: 5", + "type" : "string" + }, + "airline.leg.stop_over_code" : { + "description" : "1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:\n* O: Stopover allowed\n* X: Stopover not allowed\n\nLimitations:\n* minLength: 1\n* maxLength: 1", + "type" : "string" + }, + "airline.passenger.date_of_birth" : { + "description" : "Date of birth of the passenger.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10", + "type" : "string" + }, + "airline.passenger.first_name" : { + "description" : "Passenger first name/given name.\n> This field is required/mandatory if the airline data includes passenger details or leg details.", + "type" : "string" + }, + "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.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.traveller_type" : { + "description" : "Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.\n\nHowever, several carriers use non-standard codes that can be up to 5 alphanumeric characters.\n* minLength: 3\n* maxLength: 6", + "type" : "string" + }, + "airline.passenger_name" : { + "description" : "Passenger name, initials, and a title.\n* Format: last name + first name or initials + title.\n* Example: *FLYER / MARY MS*.\n* minLength: 1\n* maxLength: 49", + "type" : "string" + }, + "airline.ticket_issue_address" : { + "description" : "Address of the place/agency that issued the ticket.\n* minLength: 0\n* maxLength: 16", + "type" : "string" + }, + "airline.ticket_number" : { + "description" : "The ticket's unique identifier.\n* minLength: 1\n* maxLength: 150", + "type" : "string" + }, + "airline.travel_agency_code" : { + "description" : "IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.\n* minLength: 1\n* maxLength: 8", + "type" : "string" + }, + "airline.travel_agency_name" : { + "description" : "The name of the travel agency.\n* minLength: 1\n* maxLength: 25", + "type" : "string" + } + }, + "required" : [ + "airline.passenger_name" + ] + }, + "AdditionalDataCarRental" : { + "properties" : { + "carRental.checkOutDate" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.customerServiceTollFreeNumber" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.daysRented" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.fuelCharges" : { + "description" : "Any fuel charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.insuranceCharges" : { + "description" : "Any insurance charges associated with the rental.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.locationCity" : { + "description" : "The location from which the car is rented.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.locationCountry" : { + "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "carRental.locationStateProvince" : { + "description" : "Pick-up date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.noShowIndicator" : { + "description" : "Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking).\n* 0 - Not applicable.\n* 1 - Customer was a no show.", + "type" : "string" + }, + "carRental.oneWayDropOffCharges" : { + "description" : "Charge associated with not returning a vehicle to the original rental location.", + "type" : "string" + }, + "carRental.rate" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.rateIndicator" : { + "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate.\n* W - Weekly rate.", + "type" : "string" + }, + "carRental.rentalAgreementNumber" : { + "description" : "The rental agreement number associated with this car rental.\n* Format: Alphanumeric\n* maxLength: 14", + "type" : "string" + }, + "carRental.rentalClassId" : { + "description" : "Daily rental rate.\n* Format: Alphanumeric\n* maxLength: 12", + "type" : "string" + }, + "carRental.renterName" : { + "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26", + "type" : "string" + }, + "carRental.returnCity" : { + "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18", + "type" : "string" + }, + "carRental.returnCountry" : { + "description" : "The country where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 2", + "type" : "string" + }, + "carRental.returnDate" : { + "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "carRental.returnLocationId" : { + "description" : "Agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10", + "type" : "string" + }, + "carRental.returnStateProvince" : { + "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3", + "type" : "string" + }, + "carRental.taxExemptIndicator" : { + "description" : "Indicates whether the goods or services were tax-exempt, or tax was not collected.\n\nValues:\n* 0 - Tax was not collected\n* 1 - Goods or services were tax exempt", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" + } + } + }, + "AdditionalDataCommon" : { + "properties" : { + "RequestedTestErrorResponseCode" : { + "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.", + "type" : "string" + }, + "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" + }, + "subMerchantCity" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.", + "type" : "string" + }, + "subMerchantCountry" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.", + "type" : "string" + }, + "subMerchantID" : { + "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.", + "type" : "string" + }, + "subMerchantName" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.", + "type" : "string" + }, + "subMerchantPostalCode" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.", + "type" : "string" + }, + "subMerchantState" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.", + "type" : "string" + }, + "subMerchantStreet" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.", + "type" : "string" + }, + "subMerchantTaxId" : { + "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.", + "type" : "string" + } + } + }, + "AdditionalDataLevel23" : { + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n\nEncoding: ASCII.\n\nMax length: 25 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" + }, + "enhancedSchemeData.destinationCountryCode" : { + "description" : "Destination country code.\n\nEncoding: ASCII.\n\nMax length: 3 characters.", + "type" : "string" + }, + "enhancedSchemeData.destinationPostalCode" : { + "description" : "The postal code of a destination address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.\n\n> Required for American Express.", + "type" : "string" + }, + "enhancedSchemeData.destinationStateProvinceCode" : { + "description" : "Destination state or province code.\n\nEncoding: ASCII.Max length: 3 characters.", + "type" : "string" + }, + "enhancedSchemeData.dutyAmount" : { + "description" : "Duty amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.freightAmount" : { + "description" : "Shipping amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : { + "description" : "Item commodity code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].description" : { + "description" : "Item description.\n\nEncoding: ASCII.\n\nMax length: 26 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : { + "description" : "Discount amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].productCode" : { + "description" : "Product code.\n\nEncoding: ASCII.\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].quantity" : { + "description" : "Quantity, specified as an integer value.\n\nValue must be greater than 0.\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : { + "description" : "Total amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : { + "description" : "Item unit of measurement.\n\nEncoding: ASCII.\n\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).\n\nMax length: 12 characters.", + "type" : "string" + }, + "enhancedSchemeData.orderDate" : { + "description" : "Order date.\n* Format: `ddMMyy`\n\nEncoding: ASCII.\n\nMax length: 6 characters.", + "type" : "string" + }, + "enhancedSchemeData.shipFromPostalCode" : { + "description" : "The postal code of a \"ship-from\" address.\n\nEncoding: ASCII.\n\nMax length: 10 characters.", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units.\n\nFor example, 2000 means USD 20.00.\n\nMax length: 12 characters.\n\n> Required for Level 2 and Level 3 data.", + "type" : "string" + } + } + }, + "AdditionalDataLodging" : { + "properties" : { + "lodging.checkInDate" : { + "description" : "The arrival date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "lodging.checkOutDate" : { + "description" : "The departure date.\n* Date format: `yyyyMMdd`", + "type" : "string" + }, + "lodging.customerServiceTollFreeNumber" : { + "description" : "The toll free phone number for the hotel/lodgings.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "lodging.fireSafetyActIndicator" : { + "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.\n* Format: Alphabetic\n* maxLength: 1", + "type" : "string" + }, + "lodging.folioCashAdvances" : { + "description" : "The folio cash advances.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "lodging.folioNumber" : { + "description" : "Card acceptor’s internal invoice or billing ID reference number.\n* Format: Alphanumeric\n* maxLength: 25", + "type" : "string" + }, + "lodging.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.propertyPhoneNumber" : { + "description" : "Identifies specific lodging property location by its local phone number.\n* Format: Alphanumeric\n* maxLength: 17", + "type" : "string" + }, + "lodging.room1.numberOfNights" : { + "description" : "Total number of nights the room will be rented.\n* Format: Numeric\n* maxLength: 4", + "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.totalRoomTax" : { + "description" : "Total room tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "lodging.totalTax" : { + "description" : "Total tax amount.\n* Format: Numeric\n* maxLength: 12", + "type" : "string" + }, + "travelEntertainmentAuthData.duration" : { + "description" : "Number of nights. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 2", + "type" : "string" + }, + "travelEntertainmentAuthData.market" : { + "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"H\" for Hotel. This should be included in the auth message.\n\n* Format: Alphanumeric\n* maxLength: 1", + "type" : "string" + } + } + }, + "AdditionalDataOpenInvoice" : { + "properties" : { + "openinvoicedata.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.numberOfLines" : { + "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].currencyCode" : { + "description" : "The three-character ISO currency code.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].description" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].itemAmount" : { + "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].itemId" : { + "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].itemVatAmount" : { + "description" : "The VAT due for one item in the invoice line, represented in minor units.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].itemVatPercentage" : { + "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].numberOfItems" : { + "description" : "The number of units purchased of a specific product.", + "type" : "string" + }, + "openinvoicedataLine[itemNr].vatCategory" : { + "description" : "Required for AfterPay. The country-specific VAT category a product falls under.\n\nAllowed values:\n* High\n* Low\n* None.", + "type" : "string" + } + } + }, + "AdditionalDataRatepay" : { + "properties" : { + "ratepay.installmentAmount" : { + "description" : "Amount the customer has to pay each month.", + "type" : "string" + }, + "ratepay.interestRate" : { + "description" : "Interest rate of this installment.", + "type" : "string" + }, + "ratepay.lastInstallmentAmount" : { + "description" : "Amount of the last installment.", + "type" : "string" + }, + "ratepay.paymentFirstday" : { + "description" : "Calendar day of the first payment.", + "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" + }, + "ratepaydata.invoiceDate" : { + "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.", + "type" : "string" + }, + "ratepaydata.invoiceId" : { + "description" : "Identification name or number for the invoice, defined by the merchant.", + "type" : "string" + } + } + }, + "AdditionalDataRetry" : { + "properties" : { + "retry.chainAttemptNumber" : { + "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" + }, + "retry.orderAttemptNumber" : { + "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" + }, + "retry.skipRetry" : { + "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.", + "type" : "string" + } + } + }, + "AdditionalDataRisk" : { + "properties" : { + "riskdata.[customFieldName]" : { + "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].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].brand" : { + "description" : "Brand 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].currency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].itemID" : { + "description" : "ID of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].manufacturer" : { + "description" : "Manufacturer of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].productTitle" : { + "description" : "A text description of the product the invoice line refers to.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].quantity" : { + "description" : "Quantity of the item purchased.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].receiverEmail" : { + "description" : "Email associated with the given product in the basket (usually in electronic gift cards).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].size" : { + "description" : "Size of the item.", + "type" : "string" + }, + "riskdata.basket.item[itemNr].sku" : { + "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).", + "type" : "string" + }, + "riskdata.basket.item[itemNr].upc" : { + "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionCode" : { + "description" : "Code of the promotion.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : { + "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : { + "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : { + "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.", + "type" : "string" + }, + "riskdata.promotions.promotion[itemNr].promotionName" : { + "description" : "Name of the promotion.", + "type" : "string" + } + } + }, + "AdditionalDataRiskStandalone" : { + "properties" : { + "PayPal.CountryCode" : { + "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.", + "type" : "string" + }, + "PayPal.EmailId" : { + "description" : "Shopper's email.", + "type" : "string" + }, + "PayPal.FirstName" : { + "description" : "Shopper's first name.", + "type" : "string" + }, + "PayPal.LastName" : { + "description" : "Shopper's last name.", + "type" : "string" + }, + "PayPal.PayerId" : { + "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.", + "type" : "string" + }, + "PayPal.Phone" : { + "description" : "Shopper's phone number.", + "type" : "string" + }, + "PayPal.ProtectionEligibility" : { + "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.", + "type" : "string" + }, + "PayPal.TransactionId" : { + "description" : "Unique transaction ID of the payment.", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available. Example: D", + "type" : "string" + }, + "bin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).", + "type" : "string" + }, + "cvcResultRaw" : { + "description" : "Raw CVC result received from the acquirer, where available. Example: 1", + "type" : "string" + }, + "riskToken" : { + "description" : "Unique identifier or token for the shopper's card details.", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true", + "type" : "string" + }, + "tokenDataType" : { + "description" : "Required for PayPal payments only. The only supported value is: **paypal**.", + "type" : "string" + } + } + }, + "AdditionalDataTemporaryServices" : { + "properties" : { + "enhancedSchemeData.customerReference" : { + "description" : "Customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25", + "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.regularHoursRate" : { + "description" : "Amount paid per regular hours worked, minor units.\n* maxLength: 7", + "type" : "string" + }, + "enhancedSchemeData.regularHoursWorked" : { + "description" : "Amount of time worked during a normal operation for the task or job.\n* maxLength: 7", + "type" : "string" + }, + "enhancedSchemeData.requestName" : { + "description" : "Name of the individual requesting temporary services.\n* maxLength: 40", + "type" : "string" + }, + "enhancedSchemeData.tempStartDate" : { + "description" : "Date for the beginning of the pay period.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.tempWeekEnding" : { + "description" : "Date of the end of the billing cycle.\n* Format: ddMMyy\n* maxLength: 6", + "type" : "string" + }, + "enhancedSchemeData.totalTaxAmount" : { + "description" : "Total tax amount, in minor units. For example, 2000 means USD 20.00\n* maxLength: 12", + "type" : "string" + } + } + }, + "AdditionalDataWallets" : { + "properties" : { + "androidpay.token" : { + "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" : { + "description" : "The name of the city.", + "type" : "string" + }, + "country" : { + "description" : "The two-character country code as defined in ISO-3166-1 alpha-2. For example, **US**.\n> If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.", + "type" : "string" + }, + "houseNumberOrName" : { + "description" : "The number or name of the house.", + "type" : "string" + }, + "postalCode" : { + "description" : "A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.", + "type" : "string" + }, + "stateOrProvince" : { + "description" : "State or province codes as defined in ISO 3166-2. For example, **CA** in the US or **ON** in Canada.\n> Required for the US and Canada.", + "type" : "string" + }, + "street" : { + "description" : "The name of the street.\n> The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.", + "type" : "string" + } + }, + "required" : [ + "street", + "houseNumberOrName", + "city", + "postalCode", + "country" + ] + }, + "AmazonPayDetails" : { + "properties" : { + "amazonPayToken" : { + "type" : "string" + }, + "checkoutSessionId" : { + "type" : "string" + }, + "type" : { + "default" : "amazonpay", + "description" : "**amazonpay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "Amount" : { + "properties" : { + "currency" : { + "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "maxLength" : 3, + "minLength" : 3, + "type" : "string" + }, + "value" : { + "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "format" : "int64", + "type" : "integer" + } + }, + "required" : [ + "value", + "currency" + ] + }, + "AndroidPayDetails" : { + "properties" : { + "androidPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "androidPayToken" + ] + }, + "ApplePayDetails" : { + "properties" : { + "applePayToken" : { + "description" : "", + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "applepay", + "description" : "**applepay**", + "type" : "string" + } + }, + "required" : [ + "type", + "applePayToken" + ] + }, + "ApplicationInfo" : { + "properties" : { + "adyenLibrary" : { + "description" : "Adyen-developed software, such as libraries and plugins, used to interact with the Adyen API. For example, Magento plugin, Java API library, etc.", + "$ref" : "#/components/schemas/CommonField" + }, + "adyenPaymentSource" : { + "description" : "Adyen-developed software to get payment details. For example, Checkout SDK, Secured Fields SDK, etc.", + "$ref" : "#/components/schemas/CommonField" + }, + "externalPlatform" : { + "description" : "Third-party developed platform used to initiate payment requests. For example, Magento, Zuora, etc.", + "$ref" : "#/components/schemas/ExternalPlatform" + }, + "merchantApplication" : { + "description" : "Merchant developed software, such as cashier application, used to interact with the Adyen API.", + "$ref" : "#/components/schemas/CommonField" + }, + "merchantDevice" : { + "description" : "Merchant device information.", + "$ref" : "#/components/schemas/MerchantDevice" + }, + "shopperInteractionDevice" : { + "description" : "Shopper interaction device, such as terminal, mobile device or web browser, to initiate payment requests.", + "$ref" : "#/components/schemas/ShopperInteractionDevice" + } + } + }, + "Avs" : { + "properties" : { + "addressEditable" : { + "description" : "Indicates whether the shopper is allowed to modify the billing address for the current payment request.", + "type" : "boolean" + }, + "enabled" : { + "description" : "Specifies whether the shopper should enter their billing address during checkout.\n\nAllowed values:\n* yes — Perform AVS checks for every card payment.\n* automatic — Perform AVS checks only when required to optimize the conversion rate.\n* no — Do not perform AVS checks.", + "enum" : [ + "yes", + "no", + "automatic" + ], + "type" : "string" + } + } + }, + "BankAccount" : { + "properties" : { + "bankAccountNumber" : { + "description" : "The bank account number (without separators).", + "type" : "string" + }, + "bankCity" : { + "description" : "The bank city.", + "type" : "string" + }, + "bankLocationId" : { + "description" : "The location id of the bank. The field value is `nil` in most cases.", + "type" : "string" + }, + "bankName" : { + "description" : "The name of the bank.", + "type" : "string" + }, + "bic" : { + "description" : "The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases.", + "type" : "string" + }, + "countryCode" : { + "description" : "Country code where the bank is located.\n\nA valid value is an ISO two-character country code (e.g. 'NL').", + "type" : "string" + }, + "iban" : { + "description" : "The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN).", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.", + "type" : "string" + }, + "taxId" : { + "description" : "The bank account holder's tax ID.", + "type" : "string" + } + } + }, + "BillDeskOnlineDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_online", + "description" : "**billdesk_online**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BillDeskWalletDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "billdesk_wallet", + "description" : "**billdesk_wallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "BlikDetails" : { + "properties" : { + "blikCode" : { + "description" : "BLIK code consisting of 6 digits.", + "type" : "string" + }, + "type" : { + "description" : "**blik**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "BrowserInfo" : { + "properties" : { + "acceptHeader" : { + "description" : "The accept header value of the shopper's browser.", + "maxLength" : 50, + "minLength" : 10, + "type" : "string" + }, + "colorDepth" : { + "description" : "The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.", + "format" : "int32", + "type" : "integer" + }, + "javaEnabled" : { + "description" : "Boolean value indicating if the shopper's browser is able to execute Java.", + "type" : "boolean" + }, + "javaScriptEnabled" : { + "default" : "true", + "description" : "Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.", + "type" : "boolean" + }, + "language" : { + "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).", + "type" : "string" + }, + "screenHeight" : { + "description" : "The total height of the shopper's device screen in pixels.", + "format" : "int32", + "type" : "integer" + }, + "screenWidth" : { + "description" : "The total width of the shopper's device screen in pixels.", + "format" : "int32", + "type" : "integer" + }, + "timeZoneOffset" : { + "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.", + "format" : "int32", + "type" : "integer" + }, + "userAgent" : { + "description" : "The user agent value of the shopper's browser.", + "maxLength" : 50, + "minLength" : 10, + "type" : "string" + } + }, + "required" : [ + "userAgent", + "acceptHeader", + "javaEnabled", + "colorDepth", + "screenHeight", + "screenWidth", + "timeZoneOffset", + "language" + ] + }, + "Card" : { + "properties" : { + "cvc" : { + "description" : "The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits\n> If you are using [Client-Side Encryption](https://docs.adyen.com/classic-integration/cse-integration-ecommerce), the CVC code is present in the encrypted data. You must never post the card details to the server.\n> This field must be always present in a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments).\n> When this value is returned in a response, it is always empty because it is not stored.", + "maxLength" : 20, + "minLength" : 1, + "type" : "string" + }, + "expiryMonth" : { + "description" : "The card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November", + "maxLength" : 2, + "minLength" : 1, + "type" : "string" + }, + "expiryYear" : { + "description" : "The card expiry year.\nFormat: 4 digits. For example: 2020", + "maxLength" : 4, + "minLength" : 4, + "type" : "string" + }, + "holderName" : { + "description" : "The name of the cardholder, as printed on the card.", + "maxLength" : 50, + "minLength" : 1, + "type" : "string" + }, + "issueNumber" : { + "description" : "The issue number of the card (for some UK debit cards only).", + "maxLength" : 2, + "minLength" : 1, + "type" : "string" + }, + "number" : { + "description" : "The card number (4-19 characters). Do not use any separators.\nWhen this value is returned in a response, only the last 4 digits of the card number are returned.", + "maxLength" : 19, + "minLength" : 4, + "type" : "string" + }, + "startMonth" : { + "description" : "The month component of the start date (for some UK debit cards only).", + "maxLength" : 2, + "minLength" : 1, + "type" : "string" + }, + "startYear" : { + "description" : "The year component of the start date (for some UK debit cards only).", + "maxLength" : 4, + "minLength" : 4, + "type" : "string" + } + }, + "required" : [ + "number", + "expiryMonth", + "expiryYear", + "holderName" + ] + }, + "CardDetails" : { + "properties" : { + "cupsecureplus.smscode" : { + "deprecated" : true, + "type" : "string" + }, + "cvc" : { + "type" : "string" + }, + "encryptedCardNumber" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryMonth" : { + "description" : "", + "type" : "string" + }, + "encryptedExpiryYear" : { + "description" : "", + "type" : "string" + }, + "expiryMonth" : { + "type" : "string" + }, + "expiryYear" : { + "type" : "string" + }, + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "holderName" : { + "type" : "string" + }, + "number" : { + "type" : "string" + }, + "type" : { + "default" : "scheme", + "description" : "**scheme**", + "type" : "string" + } + }, + "required" : [ + "type", + "encryptedCardNumber", + "encryptedExpiryMonth", + "encryptedExpiryYear" + ] + }, + "CheckoutAwaitAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutBalanceCheckRequest" : { + "properties" : { + "accountInfo" : { + "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/AccountInfo" + }, + "additionalAmount" : { + "description" : "If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).\nRequired to be in the same currency as the `amount`. ", + "$ref" : "#/components/schemas/Amount" + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "browserInfo" : { + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "$ref" : "#/components/schemas/BrowserInfo" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "deviceFingerprint" : { + "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", + "type" : "string" + }, + "enableRealTimeUpdate" : { + "deprecated" : true, + "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", + "type" : "boolean" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "merchantRiskIndicator" : { + "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/MerchantRiskIndicator" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "paymentMethod" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The collection that contains the type of the payment method and its specific information.", + "type" : "object" + }, + "recurring" : { + "description" : "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).", + "$ref" : "#/components/schemas/Recurring" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "selectedBrand" : { + "description" : "Some payment methods require defining a value for this field to specify how to process the transaction.\n\nFor the Bancontact payment method, it can be set to:\n* `maestro` (default), to be processed like a Maestro card, or\n* `bcmc`, to be processed like a Bancontact card.", + "type" : "string" + }, + "selectedRecurringDetailReference" : { + "description" : "The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.", + "type" : "string" + }, + "sessionId" : { + "description" : "A session ID used to identify a payment session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "threeDS2RequestData" : { + "description" : "Request fields for 3D Secure 2.", + "$ref" : "#/components/schemas/ThreeDS2RequestData" + }, + "threeDSAuthenticationOnly" : { + "default" : "false", + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "type" : "boolean" + }, + "totalsGroup" : { + "description" : "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "paymentMethod" + ] + }, + "CheckoutBalanceCheckResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "balance" : { + "description" : "The balance for the payment method.", + "$ref" : "#/components/schemas/Amount" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "balance" + ] + }, + "CheckoutCancelOrderRequest" : { + "properties" : { + "merchantAccount" : { + "description" : "The merchant account identifier that orderData belongs to.", + "type" : "string" + }, + "order" : { + "description" : "The order request object that contains a pspReference that represents the order and the matching encrypted order data.", + "$ref" : "#/components/schemas/CheckoutOrder" + } + }, + "required" : [ + "order", + "merchantAccount" + ] + }, + "CheckoutCancelOrderResponse" : { + "properties" : { + "pspReference" : { + "description" : "A unique reference of the cancellation request.", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the cancellation request.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "resultCode" + ] + }, + "CheckoutCreateOrderRequest" : { + "properties" : { + "amount" : { + "description" : "The total amount of the order.", + "$ref" : "#/components/schemas/Amount" + }, + "expiresAt" : { + "description" : "The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the order.", + "type" : "string" + }, + "reference" : { + "description" : "A custom reference identifying the order.", + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "amount" + ] + }, + "CheckoutCreateOrderResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "expiresAt" : { + "description" : "The date that the order will expire.", + "type" : "string" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "orderData" : { + "description" : "The encrypted data that will be used by merchant for adding payments to the order.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The remaining amount in the order.", + "$ref" : "#/components/schemas/Amount" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + }, + "required" : [ + "remainingAmount", + "expiresAt", + "orderData" + ] + }, + "CheckoutDonationAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutOneTimePasscodeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect as fallback, this object contains information about the redirect.", + "$ref" : "#/components/schemas/Redirect" + }, + "resendInterval" : { + "description" : "The interval in second between OTP resend.", + "format" : "int32", + "type" : "integer" + }, + "resendMaxAttempts" : { + "description" : "The maximum number of OTP resend attempts.", + "format" : "int32", + "type" : "integer" + }, + "resendUrl" : { + "description" : "The URL, to which you make POST request to trigger OTP resend.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutOrder" : { + "properties" : { + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + } + }, + "required" : [ + "pspReference", + "orderData" + ] + }, + "CheckoutOrderResponse" : { + "properties" : { + "expiresAt" : { + "description" : "The expiry date for the order.", + "type" : "string" + }, + "orderData" : { + "description" : "The encrypted order data.", + "type" : "string" + }, + "pspReference" : { + "description" : "The `pspReference` that belongs to the order.", + "type" : "string" + }, + "reference" : { + "description" : "The merchant reference for the order.", + "type" : "string" + }, + "remainingAmount" : { + "description" : "The updated remaining amount.", + "$ref" : "#/components/schemas/Amount" + } + }, + "required" : [ + "pspReference" + ] + }, + "CheckoutQrCodeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "qrCodeData" : { + "description" : "The contents of the QR code as a UTF8 string.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutRedirectAction" : { + "properties" : { + "data" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", + "type" : "object" + }, + "method" : { + "description" : "Specifies the HTTP method, for example GET or POST.", + "type" : "string" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutSDKAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "sdkData" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The data to pass to the SDK.", + "type" : "object" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutThreeDS2ChallengeAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the challenge.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutThreeDS2FingerPrintAction" : { + "properties" : { + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "token" : { + "description" : "A token to pass to the 3DS2 Component to get the fingerprint.", + "type" : "string" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CheckoutUtilityRequest" : { + "properties" : { + "originDomains" : { + "description" : "The list of origin domains, for which origin keys are requested.", + "items" : { + "type" : "string" + }, + "type" : "array" + } + }, + "required" : [ + "originDomains" + ] + }, + "CheckoutUtilityResponse" : { + "properties" : { + "originKeys" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.", + "type" : "object" + } + } + }, + "CheckoutVoucherAction" : { + "properties" : { + "alternativeReference" : { + "description" : "The voucher alternative reference code.", + "type" : "string" + }, + "downloadUrl" : { + "description" : "The URL to download the voucher.", + "type" : "string" + }, + "entity" : { + "description" : "An entity number of Multibanco.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date time of the voucher expiry.", + "type" : "string" + }, + "initialAmount" : { + "description" : "The initial amount.", + "$ref" : "#/components/schemas/Amount" + }, + "instructionsUrl" : { + "description" : "The URL to the detailed instructions to make payment using the voucher.", + "type" : "string" + }, + "issuer" : { + "description" : "The issuer of the voucher.", + "type" : "string" + }, + "maskedTelephoneNumber" : { + "description" : "The shopper telephone number (partially masked).", + "type" : "string" + }, + "merchantName" : { + "description" : "The merchant name.", + "type" : "string" + }, + "merchantReference" : { + "description" : "The merchant reference.", + "type" : "string" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.", + "type" : "string" + }, + "paymentMethodType" : { + "description" : "Specifies the payment method.", + "type" : "string" + }, + "reference" : { + "description" : "The voucher reference code.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper email.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper name.", + "type" : "string" + }, + "surcharge" : { + "description" : "The surcharge amount.", + "$ref" : "#/components/schemas/Amount" + }, + "totalAmount" : { + "description" : "The total amount (initial plus surcharge amount).", + "$ref" : "#/components/schemas/Amount" + }, + "url" : { + "description" : "Specifies the URL to redirect to.", + "type" : "string" + } + } + }, + "CommonField" : { + "properties" : { + "name" : { + "description" : "Name of the field. For example, Name of External Platform.", + "type" : "string" + }, + "version" : { + "description" : "Version of the field. For example, Version of External Platform.", + "type" : "string" + } + } + }, + "Company" : { + "properties" : { + "homepage" : { + "description" : "The company website's home page.", + "type" : "string" + }, + "name" : { + "description" : "The company name.", + "type" : "string" + }, + "registrationNumber" : { + "description" : "Registration number of the company.", + "type" : "string" + }, + "registryLocation" : { + "description" : "Registry location of the company.", + "type" : "string" + }, + "taxId" : { + "description" : "Tax ID of the company.", + "type" : "string" + }, + "type" : { + "description" : "The company type.", + "type" : "string" + } + } + }, + "Configuration" : { + "properties" : { + "avs" : { + "description" : "Describes the configuration for AVS ([Address Verification System](https://en.wikipedia.org/wiki/Address_Verification_System)).", + "$ref" : "#/components/schemas/Avs" + }, + "cardHolderName" : { + "description" : "Determines whether the cardholder name should be provided or not.\n\nPermitted values:\n* NONE\n* OPTIONAL\n* REQUIRED", + "enum" : [ + "NONE", + "OPTIONAL", + "REQUIRED" + ], + "type" : "string" + }, + "installments" : { + "description" : "Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", + "$ref" : "#/components/schemas/Installments" + }, + "shopperInput" : { + "description" : "Determines how to display the details fields.", + "$ref" : "#/components/schemas/ShopperInput" + } + } + }, + "CreatePaymentLinkRequest" : { + "properties" : { + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The payment amount and currency.", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "countryCode" : { + "description" : "The shopper's two-letter country code.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "description" : { + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "type" : "string" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "merchantAccount" : { + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations:\n* Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\"\n* Maximum 20 characters per key. When exceeding, the \"178\" error occurs: \"Metadata key size exceeds limit\"\n* A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id", + "type" : "object" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", + "type" : "string" + }, + "returnUrl" : { + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", + "type" : "string" + }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, + "shopperEmail" : { + "description" : "The shopper's email address.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "type" : "string" + }, + "storePaymentMethod" : { + "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", + "type" : "boolean" + } + }, + "required" : [ + "amount", + "reference", + "merchantAccount" + ] + }, + "DetailsRequest" : { + "properties" : { + "details" : { + "additionalProperties" : { + "type" : "string" + }, + "deprecated" : true, + "description" : "Use this collection to submit the details that were returned as a result of the `/payments` call.", + "type" : "object" + }, + "paymentData" : { + "description" : "The `paymentData` value that you received in the response to the `/payments` call.", + "type" : "string" + }, + "threeDSAuthenticationOnly" : { + "description" : "Change the `authenticationOnly` indicator originally set in the `/payments` request. Only needs to be set if you want to modify the value set previously.", + "type" : "boolean" + } + }, + "required" : [ + "details" + ] + }, + "DeviceRenderOptions" : { + "properties" : { + "sdkInterface" : { + "default" : "both", + "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both", + "enum" : [ + "native", + "html", + "both" + ], + "type" : "string" + }, + "sdkUiType" : { + "default" : "", + "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect", + "items" : { + "enum" : [ + "multiSelect", + "otherHtml", + "outOfBand", + "singleSelect", + "text" + ], + "type" : "string" + }, + "type" : "array" + } + } + }, + "DokuDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "infix" : { + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "ovoId" : { + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "type" : { + "description" : "**doku**", + "enum" : [ + "doku_mandiri_va", + "doku_cimb_va", + "doku_danamon_va", + "doku_bni_va", + "doku_permata_lite_atm", + "doku_bri_va", + "doku_bca_va", + "doku_alfamart", + "doku_indomaret" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail" + ] + }, + "DotpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "dotpay", + "description" : "**dotpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "DragonpayDetails" : { + "properties" : { + "issuer" : { + "description" : "The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper’s email address.", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "EcontextVoucherDetails" : { + "properties" : { + "firstName" : { + "description" : "The shopper's first name.", + "type" : "string" + }, + "lastName" : { + "description" : "The shopper's last name.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email.", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "The shopper's contact number.", + "type" : "string" + }, + "type" : { + "description" : "**econtextvoucher**", + "enum" : [ + "econtext_seveneleven", + "econtext_stores" + ], + "type" : "string" + } + }, + "required" : [ + "type", + "firstName", + "lastName", + "shopperEmail", + "telephoneNumber" + ] + }, + "EntercashDetails" : { + "properties" : { + "issuer" : { + "description" : "The issuer id of the shopper's selected bank.", + "type" : "string" + }, + "type" : { + "default" : "entercash", + "description" : "**entercash**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "ExternalPlatform" : { + "properties" : { + "integrator" : { + "description" : "External platform integrator.", + "type" : "string" + }, + "name" : { + "description" : "Name of the field. For example, Name of External Platform.", + "type" : "string" + }, + "version" : { + "description" : "Version of the field. For example, Version of External Platform.", + "type" : "string" + } + } + }, + "ForexQuote" : { + "properties" : { + "account" : { + "description" : "The account name.", + "type" : "string" + }, + "accountType" : { + "description" : "The account type.", + "type" : "string" + }, + "baseAmount" : { + "description" : "The base amount.", + "$ref" : "#/components/schemas/Amount" + }, + "basePoints" : { + "description" : "The base points.", + "format" : "int32", + "type" : "integer" + }, + "buy" : { + "description" : "The buy rate.", + "$ref" : "#/components/schemas/Amount" + }, + "interbank" : { + "description" : "The interbank amount.", + "$ref" : "#/components/schemas/Amount" + }, + "reference" : { + "description" : "The reference assigned to the forex quote request.", + "type" : "string" + }, + "sell" : { + "description" : "The sell rate.", + "$ref" : "#/components/schemas/Amount" + }, + "signature" : { + "description" : "The signature to validate the integrity.", + "type" : "string" + }, + "source" : { + "description" : "The source of the forex quote.", + "type" : "string" + }, + "type" : { + "description" : "The type of forex.", + "type" : "string" + }, + "validTill" : { + "description" : "The date until which the forex quote is valid.", + "format" : "date-time", + "type" : "string" + } + }, + "required" : [ + "validTill", + "basePoints" + ] + }, + "FraudCheckResult" : { + "properties" : { + "accountScore" : { + "description" : "The fraud score generated by the risk check.", + "format" : "int32", + "type" : "integer" + }, + "checkId" : { + "description" : "The ID of the risk check.", + "format" : "int32", + "type" : "integer" + }, + "name" : { + "description" : "The name of the risk check.", + "type" : "string" + } + }, + "required" : [ + "checkId", + "name", + "accountScore" + ] + }, + "FraudResult" : { + "properties" : { + "accountScore" : { + "description" : "The total fraud score generated by the risk checks.", + "format" : "int32", + "type" : "integer" + }, + "results" : { + "description" : "The result of the individual risk checks.", + "items" : { + "$ref" : "#/components/schemas/FraudCheckResult" + }, + "type" : "array" + } + }, + "required" : [ + "accountScore" + ] + }, + "GiropayDetails" : { + "properties" : { + "type" : { + "default" : "giropay", + "description" : "**giropay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "GooglePayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "googlePayCardNetwork" : { + "description" : "", + "type" : "string" + }, + "googlePayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "paywithgoogle", + "description" : "**paywithgoogle**", + "type" : "string" + } + }, + "required" : [ + "type", + "googlePayToken", + "googlePayCardNetwork" + ] + }, + "IdealDetails" : { + "properties" : { + "issuer" : { + "description" : "The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it.", + "type" : "string" + }, + "type" : { + "default" : "ideal", + "description" : "**ideal**", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "InputDetail" : { + "properties" : { + "configuration" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Configuration parameters for the required input.", + "type" : "object" + }, + "details" : { + "description" : "Input details can also be provided recursively.", + "items" : { + "$ref" : "#/components/schemas/SubInputDetail" + }, + "type" : "array" + }, + "inputDetails" : { + "deprecated" : true, + "description" : "Input details can also be provided recursively (deprecated).", + "items" : { + "$ref" : "#/components/schemas/SubInputDetail" + }, + "type" : "array" + }, + "itemSearchUrl" : { + "description" : "In case of a select, the URL from which to query the items.", + "type" : "string" + }, + "items" : { + "description" : "In case of a select, the items to choose from.", + "items" : { + "$ref" : "#/components/schemas/Item" + }, + "type" : "array" + }, + "key" : { + "description" : "The value to provide in the result.", + "type" : "string" + }, + "optional" : { + "description" : "True if this input value is optional.", + "type" : "boolean" + }, + "type" : { + "description" : "The type of the required input.", + "type" : "string" + }, + "value" : { + "description" : "The value can be pre-filled, if available.", + "type" : "string" + } + } + }, + "Installments" : { + "properties" : { + "value" : { + "description" : "Defines the number of installments. Its value needs to be greater than zero.\n\nUsually, the maximum allowed number of installments is capped. For example, it may not be possible to split a payment in more than 24 installments. The acquirer sets this upper limit, so its value may vary.", + "format" : "int32", + "type" : "integer" + } + }, + "required" : [ + "value" + ] + }, + "Item" : { + "properties" : { + "id" : { + "description" : "The value to provide in the result.", + "type" : "string" + }, + "name" : { + "description" : "The display name.", + "type" : "string" + } + } + }, + "KlarnaDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "token" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "LianLianPayDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "LineItem" : { + "properties" : { + "amountExcludingTax" : { + "description" : "Item amount excluding the tax, in minor units.", + "format" : "int64", + "type" : "integer" + }, + "amountIncludingTax" : { + "description" : "Item amount including the tax, in minor units.", + "format" : "int64", + "type" : "integer" + }, + "description" : { + "description" : "Description of the line item.", + "type" : "string" + }, + "id" : { + "description" : "ID of the line item.", + "type" : "string" + }, + "quantity" : { + "description" : "Number of items.", + "format" : "int64", + "type" : "integer" + }, + "taxAmount" : { + "description" : "Tax amount, in minor units.", + "format" : "int64", + "type" : "integer" + }, + "taxCategory" : { + "description" : "Required for AfterPay. Tax category: High, Low, None, Zero", + "enum" : [ + "High", + "Low", + "None", + "Zero" + ], + "type" : "string" + }, + "taxPercentage" : { + "description" : "Tax percentage, in minor units.", + "format" : "int64", + "type" : "integer" + } + } + }, + "MasterpassDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "masterpassTransactionId" : { + "description" : "The Masterpass transaction ID.", + "type" : "string" + }, + "type" : { + "default" : "masterpass", + "description" : "**masterpass**", + "type" : "string" + } + }, + "required" : [ + "type", + "masterpassTransactionId" + ] + }, + "MbwayDetails" : { + "properties" : { + "shopperEmail" : { + "description" : "", + "type" : "string" + }, + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber", + "shopperEmail" + ] + }, + "MerchantDevice" : { + "properties" : { + "os" : { + "description" : "Operating system running on the merchant device.", + "type" : "string" + }, + "osVersion" : { + "description" : "Version of the operating system on the merchant device.", + "type" : "string" + }, + "reference" : { + "description" : "Merchant device reference.", + "type" : "string" + } + } + }, + "MerchantRiskIndicator" : { + "properties" : { + "addressMatch" : { + "description" : "Whether the chosen delivery address is identical to the billing address.", + "type" : "boolean" + }, + "deliveryAddressIndicator" : { + "description" : "Indicator regarding the delivery address.\nAllowed values:\n* `shipToBillingAddress`\n* `shipToVerifiedAddress`\n* `shipToNewAddress`\n* `shipToStore`\n* `digitalGoods`\n* `goodsNotShipped`\n* `other`", + "enum" : [ + "shipToBillingAddress", + "shipToVerifiedAddress", + "shipToNewAddress", + "shipToStore", + "digitalGoods", + "goodsNotShipped", + "other" + ], + "type" : "string" + }, + "deliveryEmail" : { + "description" : "The delivery email address (for digital goods).", + "type" : "string" + }, + "deliveryTimeframe" : { + "description" : "The estimated delivery time for the shopper to receive the goods.\nAllowed values:\n* `electronicDelivery`\n* `sameDayShipping`\n* `overnightShipping`\n* `twoOrMoreDaysShipping`", + "enum" : [ + "electronicDelivery", + "sameDayShipping", + "overnightShipping", + "twoOrMoreDaysShipping" + ], + "type" : "string" + }, + "giftCardAmount" : { + "description" : "The amount of prepaid or gift cards used for this purchase.", + "$ref" : "#/components/schemas/Amount" + }, + "giftCardCount" : { + "description" : "Number of individual prepaid or gift cards used for this purchase.", + "format" : "int32", + "type" : "integer" + }, + "preOrderDate" : { + "description" : "For pre-order purchases, the expected date this product will be available to the shopper.", + "format" : "date-time", + "type" : "string" + }, + "preOrderPurchase" : { + "description" : "Indicator for whether this transaction is for pre-ordering a product.", + "type" : "boolean" + }, + "reorderItems" : { + "description" : "Indicator for whether the shopper has already purchased the same items in the past.", + "type" : "boolean" + } + } + }, + "MobilePayDetails" : { + "properties" : { + "type" : { + "default" : "mobilepay", + "description" : "**mobilepay**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "MolPayDetails" : { + "properties" : { + "issuer" : { + "description" : "", + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type", + "issuer" + ] + }, + "Name" : { + "properties" : { + "firstName" : { + "description" : "The first name.", + "type" : "string" + }, + "gender" : { + "description" : "The gender.\n>The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`.", + "enum" : [ + "MALE", + "FEMALE", + "UNKNOWN" + ], + "maxLength" : 1, + "minLength" : 1, + "type" : "string" + }, + "infix" : { + "description" : "The name's infix, if applicable.\n>A maximum length of twenty (20) characters is imposed.", + "type" : "string" + }, + "lastName" : { + "description" : "The last name.", + "type" : "string" + } + }, + "required" : [ + "firstName", + "lastName", + "gender" + ] + }, + "NexoRouterDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + }, + "uniqueTerminalId" : { + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "OpenInvoiceDetails" : { + "properties" : { + "bankAccount" : { + "type" : "string" + }, + "billingAddress" : { + "type" : "string" + }, + "deliveryAddress" : { + "type" : "string" + }, + "installmentConfigurationKey" : { + "type" : "string" + }, + "personalDetails" : { + "type" : "string" + }, + "separateDeliveryAddress" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PayPalDetails" : { + "properties" : { + "orderID" : { + "type" : "string" + }, + "payerID" : { + "type" : "string" + }, + "subtype" : { + "description" : "The type of flow to initiate.", + "enum" : [ + "redirect", + "sdk" + ], + "type" : "string" + }, + "type" : { + "default" : "paypal", + "description" : "**paypal**", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentDetails" : { + "properties" : { + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "PaymentLinkResource" : { + "properties" : { + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The payment amount and currency.", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "countryCode" : { + "description" : "The shopper's two-letter country code.", + "type" : "string" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "description" : { + "description" : "A short description visible on the payment page.\nMaximum length: 280 characters.", + "type" : "string" + }, + "expiresAt" : { + "description" : "The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.", + "type" : "string" + }, + "id" : { + "description" : "A unique identifier of the payment link.", + "readOnly" : true, + "type" : "string" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "merchantAccount" : { + "description" : "The merchant account identifier for which the payment link is created.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.", + "type" : "string" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "reference" : { + "description" : "A reference that is used to uniquely identify the payment in future communications about the payment status.", + "type" : "string" + }, + "returnUrl" : { + "description" : "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.", + "type" : "string" + }, + "reusable" : { + "description" : "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.", + "type" : "boolean" + }, + "shopperEmail" : { + "description" : "The shopper's email address.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "A unique identifier for the shopper (for example, user ID or account ID).", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "status" : { + "description" : "Status of the payment link. Possible values:\n* **active**\n* **paid**\n* **expired**", + "enum" : [ + "active", + "expired", + "paid" + ], + "type" : "string" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "type" : "string" + }, + "storePaymentMethod" : { + "description" : "When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.", + "type" : "boolean" + }, + "url" : { + "description" : "The URL at which the shopper can complete the payment.", + "readOnly" : true, + "type" : "string" + } + }, + "required" : [ + "amount", + "reference", + "merchantAccount", + "id", + "url", + "status" + ] + }, + "PaymentMethod" : { + "properties" : { + "brands" : { + "description" : "List of possible brands. For example: visa, mc.", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "configuration" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The configuration of the payment method.", + "type" : "object" + }, + "details" : { + "description" : "All input details to be provided to complete the payment with this payment method.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fundingSource" : { + "description" : "The funding source of the payment method.", + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "group" : { + "description" : "The group where this payment method belongs to.", + "$ref" : "#/components/schemas/PaymentMethodGroup" + }, + "inputDetails" : { + "deprecated" : true, + "description" : "All input details to be provided to complete the payment with this payment method.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "name" : { + "description" : "The displayable name of this payment method.", + "type" : "string" + }, + "paymentMethodData" : { + "description" : "Echo data required to send in next calls.", + "type" : "string" + }, + "supportsRecurring" : { + "description" : "Indicates whether this payment method supports tokenization or not.", + "type" : "boolean" + }, + "type" : { + "description" : "The unique payment method code.", + "type" : "string" + } + } + }, + "PaymentMethodGroup" : { + "properties" : { + "name" : { + "description" : "The name of the group.", + "type" : "string" + }, + "paymentMethodData" : { + "description" : "Echo data to be used if the payment method is displayed as part of this group.", + "type" : "string" + }, + "type" : { + "description" : "The unique code of the group.", + "type" : "string" + } + } + }, + "PaymentMethodsGroup" : { + "properties" : { + "groupType" : { + "description" : "The type to submit for any payment method in this group.", + "type" : "string" + }, + "name" : { + "description" : "The human-readable name of this group.", + "type" : "string" + }, + "types" : { + "description" : "The types of payment methods that belong in this group.", + "items" : { + "type" : "string" + }, + "type" : "array" + } + } + }, + "PaymentMethodsRequest" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$ref" : "#/components/schemas/Amount" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "channel" : { + "description" : "The platform where a payment transaction takes place. This field can be used for filtering out payment methods that are only available on specific platforms. Possible values:\n* iOS\n* Android\n* Web", + "enum" : [ + "iOS", + "Android", + "Web" + ], + "type" : "string" + }, + "countryCode" : { + "description" : "The shopper's country code.", + "type" : "string" + }, + "enableRealTimeUpdate" : { + "deprecated" : true, + "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", + "type" : "boolean" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "splitCardFundingSources" : { + "default" : "false", + "description" : "Boolean value indicating whether the card payment method should be split into separate debit and credit options.", + "type" : "boolean" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + } + }, + "required" : [ + "merchantAccount", + "reference" + ] + }, + "PaymentMethodsResponse" : { + "properties" : { + "groups" : { + "description" : "Groups of payment methods.", + "items" : { + "$ref" : "#/components/schemas/PaymentMethodsGroup" + }, + "type" : "array" + }, + "oneClickPaymentMethods" : { + "description" : "Detailed list of one-click payment methods.", + "items" : { + "$ref" : "#/components/schemas/RecurringDetail" + }, + "type" : "array" + }, + "paymentMethods" : { + "description" : "Detailed list of payment methods required to generate payment forms.", + "items" : { + "$ref" : "#/components/schemas/PaymentMethod" + }, + "type" : "array" + }, + "storedPaymentMethods" : { + "description" : "List of all stored payment methods.", + "items" : { + "$ref" : "#/components/schemas/StoredPaymentMethod" + }, + "type" : "array" + } + } + }, + "PaymentRequest" : { + "properties" : { + "accountInfo" : { + "description" : "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/AccountInfo" + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$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).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "browserInfo" : { + "description" : "The shopper's browser information.\n> For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**).", + "$ref" : "#/components/schemas/BrowserInfo" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "channel" : { + "description" : "The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the `sdkVersion` or `token`.\n\nPossible values:\n* iOS\n* Android\n* Web", + "enum" : [ + "iOS", + "Android", + "Web" + ], + "type" : "string" + }, + "company" : { + "description" : "Information regarding the company.", + "$ref" : "#/components/schemas/Company" + }, + "conversionId" : { + "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", + "type" : "string" + }, + "countryCode" : { + "description" : "The shopper country.\n\nFormat: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\nExample: NL or DE", + "type" : "string" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "deviceFingerprint" : { + "description" : "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).", + "type" : "string" + }, + "enableOneClick" : { + "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", + "type" : "boolean" + }, + "enablePayOut" : { + "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", + "type" : "boolean" + }, + "enableRealTimeUpdate" : { + "deprecated" : true, + "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", + "type" : "boolean" + }, + "enableRecurring" : { + "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", + "type" : "boolean" + }, + "entityType" : { + "description" : "The type of the entity the payment is processed for.", + "enum" : [ + "NaturalPerson", + "CompanyName" + ], + "type" : "string" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", + "$ref" : "#/components/schemas/Installments" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, and RatePay.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "merchantRiskIndicator" : { + "description" : "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.", + "$ref" : "#/components/schemas/MerchantRiskIndicator" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "mpiData" : { + "description" : "Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure).", + "$ref" : "#/components/schemas/ThreeDSecureData" + }, + "order" : { + "description" : "Contains the order information which is required for partial payments.", + "$ref" : "#/components/schemas/CheckoutOrder" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "origin" : { + "description" : "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.", + "type" : "string" + }, + "paymentMethod" : { + "description" : "The type and required details of a payment method to use.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/ApplePayDetails" + }, + { + "$ref" : "#/components/schemas/SamsungPayDetails" + }, + { + "$ref" : "#/components/schemas/AndroidPayDetails" + }, + { + "$ref" : "#/components/schemas/VisaCheckoutDetails" + }, + { + "$ref" : "#/components/schemas/GooglePayDetails" + }, + { + "$ref" : "#/components/schemas/AmazonPayDetails" + }, + { + "$ref" : "#/components/schemas/MasterpassDetails" + }, + { + "$ref" : "#/components/schemas/PaymentDetails" + }, + { + "$ref" : "#/components/schemas/CardDetails" + }, + { + "$ref" : "#/components/schemas/AchDetails" + }, + { + "$ref" : "#/components/schemas/KlarnaDetails" + }, + { + "$ref" : "#/components/schemas/IdealDetails" + }, + { + "$ref" : "#/components/schemas/PayPalDetails" + }, + { + "$ref" : "#/components/schemas/SepaDirectDebitDetails" + }, + { + "$ref" : "#/components/schemas/QiwiWalletDetails" + }, + { + "$ref" : "#/components/schemas/VippsDetails" + }, + { + "$ref" : "#/components/schemas/MobilePayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayDetails" + }, + { + "$ref" : "#/components/schemas/WeChatPayMiniProgramDetails" + }, + { + "$ref" : "#/components/schemas/LianLianPayDetails" + }, + { + "$ref" : "#/components/schemas/MolPayDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskOnlineDetails" + }, + { + "$ref" : "#/components/schemas/BillDeskWalletDetails" + }, + { + "$ref" : "#/components/schemas/DotpayDetails" + }, + { + "$ref" : "#/components/schemas/EntercashDetails" + }, + { + "$ref" : "#/components/schemas/OpenInvoiceDetails" + }, + { + "$ref" : "#/components/schemas/DokuDetails" + }, + { + "$ref" : "#/components/schemas/EcontextVoucherDetails" + }, + { + "$ref" : "#/components/schemas/DragonpayDetails" + }, + { + "$ref" : "#/components/schemas/GiropayDetails" + }, + { + "$ref" : "#/components/schemas/NexoRouterDetails" + }, + { + "$ref" : "#/components/schemas/BlikDetails" + }, + { + "$ref" : "#/components/schemas/MbwayDetails" + } + ] + }, + "recurringExpiry" : { + "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", + "type" : "string" + }, + "recurringFrequency" : { + "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", + "type" : "string" + }, + "recurringProcessingModel" : { + "description" : "Defines a recurring payment type.\nAllowed values:\n* `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.\n* `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n", + "enum" : [ + "CardOnFile", + "Subscription", + "UnscheduledCardOnFile" + ], + "type" : "string" + }, + "redirectFromIssuerMethod" : { + "description" : "Specifies the redirect method (GET or POST) when redirecting back from the issuer.", + "type" : "string" + }, + "redirectToIssuerMethod" : { + "description" : "Specifies the redirect method (GET or POST) when redirecting to the issuer.", + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "returnUrl" : { + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", + "type" : "string" + }, + "riskData" : { + "description" : "Contains risk data, such as client-side data, used to identify risk for a transaction.", + "$ref" : "#/components/schemas/RiskData" + }, + "sessionValidity" : { + "description" : "The maximum validity of the session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "store" : { + "description" : "The physical store, for which this payment is processed.", + "maxLength" : 16, + "minLength" : 1, + "type" : "string" + }, + "storePaymentMethod" : { + "description" : "When true and `shopperReference` is provided, the payment details will be stored.", + "type" : "boolean" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "threeDS2RequestData" : { + "description" : "Request fields for 3D Secure 2.", + "$ref" : "#/components/schemas/ThreeDS2RequestData" + }, + "threeDSAuthenticationOnly" : { + "default" : "false", + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "type" : "boolean" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "returnUrl", + "paymentMethod" + ] + }, + "PaymentResponse" : { + "properties" : { + "action" : { + "description" : "Action to be taken for completing the payment.", + "oneOf" : [ + { + "$ref" : "#/components/schemas/CheckoutDonationAction" + }, + { + "$ref" : "#/components/schemas/CheckoutQrCodeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutRedirectAction" + }, + { + "$ref" : "#/components/schemas/CheckoutSDKAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2ChallengeAction" + }, + { + "$ref" : "#/components/schemas/CheckoutThreeDS2FingerPrintAction" + }, + { + "$ref" : "#/components/schemas/CheckoutAwaitAction" + }, + { + "$ref" : "#/components/schemas/CheckoutVoucherAction" + }, + { + "$ref" : "#/components/schemas/CheckoutOneTimePasscodeAction" + } + ] + }, + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "amount" : { + "description" : "Authorised amount in the transaction.", + "$ref" : "#/components/schemas/Amount" + }, + "authentication" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ", + "type" : "object" + }, + "details" : { + "description" : "When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "merchantReference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "outputDetails" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Contains the details that will be presented to the shopper.", + "type" : "object" + }, + "paymentData" : { + "description" : "When non-empty, contains a value that you must submit to the `/payments/details` endpoint.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "redirect" : { + "description" : "When the payment flow requires a redirect, this object contains information about the redirect URL.", + "$ref" : "#/components/schemas/Redirect" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + } + } + }, + "PaymentSetupRequest" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/AdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/AdditionalData3DSecure" + }, + { + "$ref" : "#/components/schemas/AdditionalDataAirline" + }, + { + "$ref" : "#/components/schemas/AdditionalDataCarRental" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLevel23" + }, + { + "$ref" : "#/components/schemas/AdditionalDataLodging" + }, + { + "$ref" : "#/components/schemas/AdditionalDataOpenInvoice" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRatepay" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRetry" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRisk" + }, + { + "$ref" : "#/components/schemas/AdditionalDataRiskStandalone" + }, + { + "$ref" : "#/components/schemas/AdditionalDataTemporaryServices" + }, + { + "$ref" : "#/components/schemas/AdditionalDataWallets" + } + ], + "description" : "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value." + }, + "allowedPaymentMethods" : { + "description" : "List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "amount" : { + "description" : "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).", + "$ref" : "#/components/schemas/Amount" + }, + "applicationInfo" : { + "description" : "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).", + "$ref" : "#/components/schemas/ApplicationInfo" + }, + "billingAddress" : { + "description" : "The address where to send the invoice.\n> For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object.", + "$ref" : "#/components/schemas/Address" + }, + "blockedPaymentMethods" : { + "description" : "List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "captureDelayHours" : { + "description" : "The delay between the authorisation and scheduled auto-capture, specified in hours.", + "format" : "int32", + "type" : "integer" + }, + "channel" : { + "description" : "The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the `sdkVersion` or `token`.\n\nPossible values:\n* iOS\n* Android\n* Web", + "enum" : [ + "iOS", + "Android", + "Web" + ], + "type" : "string" + }, + "company" : { + "description" : "Information regarding the company.", + "$ref" : "#/components/schemas/Company" + }, + "configuration" : { + "description" : "Specify configurations to enable additional features.", + "$ref" : "#/components/schemas/Configuration" + }, + "conversionId" : { + "description" : "Conversion ID that corresponds to the Id generated for tracking user payment journey.", + "type" : "string" + }, + "countryCode" : { + "description" : "The shopper country.\n\nFormat: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\nExample: NL or DE", + "type" : "string" + }, + "dateOfBirth" : { + "description" : "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD", + "format" : "date-time", + "type" : "string" + }, + "dccQuote" : { + "description" : "The forex quote as returned in the response of the forex service.", + "$ref" : "#/components/schemas/ForexQuote" + }, + "deliveryAddress" : { + "description" : "The address where the purchased goods should be delivered.", + "$ref" : "#/components/schemas/Address" + }, + "deliveryDate" : { + "description" : "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00", + "format" : "date-time", + "type" : "string" + }, + "enableOneClick" : { + "description" : "When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.", + "type" : "boolean" + }, + "enablePayOut" : { + "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for payouts.", + "type" : "boolean" + }, + "enableRealTimeUpdate" : { + "deprecated" : true, + "description" : "Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.", + "type" : "boolean" + }, + "enableRecurring" : { + "description" : "When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.", + "type" : "boolean" + }, + "entityType" : { + "description" : "The type of the entity the payment is processed for.", + "enum" : [ + "NaturalPerson", + "CompanyName" + ], + "type" : "string" + }, + "fraudOffset" : { + "description" : "An integer value that is added to the normal fraud score. The value can be either positive or negative.", + "format" : "int32", + "type" : "integer" + }, + "installments" : { + "description" : "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).", + "$ref" : "#/components/schemas/Installments" + }, + "lineItems" : { + "description" : "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for Klarna, AfterPay, and RatePay.", + "items" : { + "$ref" : "#/components/schemas/LineItem" + }, + "type" : "array" + }, + "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.", + "type" : "string" + }, + "merchantAccount" : { + "description" : "The merchant account identifier, with which you want to process the transaction.", + "type" : "string" + }, + "merchantOrderReference" : { + "description" : "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.", + "type" : "string" + }, + "metadata" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Metadata consists of entries, each of which includes a key and a value.\nLimitations: Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".", + "type" : "object" + }, + "orderReference" : { + "description" : "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.", + "type" : "string" + }, + "origin" : { + "description" : "Required for the Web integration.\n\nSet this parameter to the origin URL of the page that you are loading the SDK from.", + "type" : "string" + }, + "recurringExpiry" : { + "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", + "type" : "string" + }, + "recurringFrequency" : { + "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", + "type" : "string" + }, + "reference" : { + "description" : "The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.", + "type" : "string" + }, + "returnUrl" : { + "description" : "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`", + "type" : "string" + }, + "riskData" : { + "description" : "Contains risk data, such as client-side data, used to identify risk for a transaction.", + "$ref" : "#/components/schemas/RiskData" + }, + "sdkVersion" : { + "description" : "The version of the SDK you are using (for Web SDK integrations only).", + "type" : "string" + }, + "sessionValidity" : { + "description" : "The maximum validity of the session.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**.", + "type" : "string" + }, + "shopperIP" : { + "description" : "The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).\n> Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.\n* `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.", + "enum" : [ + "Ecommerce", + "ContAuth", + "Moto", + "POS" + ], + "type" : "string" + }, + "shopperLocale" : { + "description" : "The combination of a language code and a country code to specify the language to be used in the payment.", + "type" : "string" + }, + "shopperName" : { + "description" : "The shopper's full name and gender (if specified).", + "$ref" : "#/components/schemas/Name" + }, + "shopperReference" : { + "description" : "The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).\n> This field is required for recurring payments.", + "type" : "string" + }, + "shopperStatement" : { + "description" : "The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new).\n We recommend sending a maximum of 25 characters, otherwise banks might truncate the string.", + "type" : "string" + }, + "socialSecurityNumber" : { + "description" : "The shopper's social security number.", + "type" : "string" + }, + "splits" : { + "description" : "Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).", + "items" : { + "$ref" : "#/components/schemas/Split" + }, + "type" : "array" + }, + "storePaymentMethod" : { + "description" : "When true and `shopperReference` is provided, the payment details will be stored.", + "type" : "boolean" + }, + "telephoneNumber" : { + "description" : "The shopper's telephone number.", + "type" : "string" + }, + "threeDSAuthenticationOnly" : { + "default" : "false", + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "type" : "boolean" + }, + "token" : { + "description" : "The token obtained when initializing the SDK.\n\n> This parameter is required for iOS and Android; not required for Web.", + "type" : "string" + }, + "trustedShopper" : { + "description" : "Set to true if the payment should be routed to a trusted MID.", + "type" : "boolean" + } + }, + "required" : [ + "merchantAccount", + "reference", + "amount", + "returnUrl", + "countryCode" + ] + }, + "PaymentSetupResponse" : { + "properties" : { + "paymentSession" : { + "description" : "The encoded payment session that you need to pass to the SDK.", + "type" : "string" + }, + "recurringDetails" : { + "deprecated" : true, + "description" : "The detailed list of stored payment details required to generate payment forms. Will be empty if oneClick is set to false in the request.", + "items" : { + "$ref" : "#/components/schemas/RecurringDetail" + }, + "type" : "array" + } + } + }, + "PaymentVerificationRequest" : { + "properties" : { + "payload" : { + "description" : "Encrypted and signed payment result data. You should receive this value from the Checkout SDK after the shopper completes the payment.", + "type" : "string" + } + }, + "required" : [ + "payload" + ] + }, + "PaymentVerificationResponse" : { + "properties" : { + "additionalData" : { + "anyOf" : [ + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCommon" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataCard" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataDeliveryAddress" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataPayPal" + }, + { + "$ref" : "#/components/schemas/ResponseAdditionalDataSepa" + } + ], + "description" : "This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**." + }, + "fraudResult" : { + "description" : "The fraud result properties of the payment.", + "$ref" : "#/components/schemas/FraudResult" + }, + "merchantReference" : { + "description" : "A unique value that you provided in the initial `/paymentSession` request as a `reference` field.", + "type" : "string" + }, + "order" : { + "description" : "Contains updated information regarding the order in case order information was provided in the request.", + "$ref" : "#/components/schemas/CheckoutOrderResponse" + }, + "paymentMethod" : { + "description" : "The payment method used in the transaction.", + "type" : "string" + }, + "pspReference" : { + "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.\n\n> `pspReference` is returned only for non-redirect payment methods.", + "type" : "string" + }, + "refusalReason" : { + "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "refusalReasonCode" : { + "description" : "Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).", + "type" : "string" + }, + "resultCode" : { + "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.", + "enum" : [ + "AuthenticationFinished", + "Authorised", + "Cancelled", + "ChallengeShopper", + "Error", + "IdentifyShopper", + "Pending", + "PresentToShopper", + "Received", + "RedirectShopper", + "Refused" + ], + "type" : "string" + }, + "serviceError" : { + "description" : "The type of the error.", + "$ref" : "#/components/schemas/ServiceError" + }, + "shopperLocale" : { + "description" : "The shopperLocale value provided in the payment request.", + "type" : "string" + } + }, + "required" : [ + "merchantReference", + "paymentMethod", + "shopperLocale" + ] + }, + "QiwiWalletDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "qiwiwallet", + "description" : "**qiwiwallet**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "Recurring" : { + "properties" : { + "contract" : { + "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts).", + "enum" : [ + "ONECLICK", + "RECURRING", + "PAYOUT" + ], + "type" : "string" + }, + "recurringDetailName" : { + "description" : "A descriptive name for this detail.", + "type" : "string" + }, + "recurringExpiry" : { + "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.", + "format" : "date-time", + "type" : "string" + }, + "recurringFrequency" : { + "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.", + "type" : "string" + }, + "tokenService" : { + "description" : "The name of the token service.", + "enum" : [ + "VISATOKENSERVICE", + "MCTOKENSERVICE" + ], + "type" : "string" + } + } + }, + "RecurringDetail" : { + "properties" : { + "brands" : { + "description" : "List of possible brands. For example: visa, mc.", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "configuration" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "The configuration of the payment method.", + "type" : "object" + }, + "details" : { + "description" : "All input details to be provided to complete the payment with this payment method.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "fundingSource" : { + "description" : "The funding source of the payment method.", + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "group" : { + "description" : "The group where this payment method belongs to.", + "$ref" : "#/components/schemas/PaymentMethodGroup" + }, + "inputDetails" : { + "deprecated" : true, + "description" : "All input details to be provided to complete the payment with this payment method.", + "items" : { + "$ref" : "#/components/schemas/InputDetail" + }, + "type" : "array" + }, + "name" : { + "description" : "The displayable name of this payment method.", + "type" : "string" + }, + "paymentMethodData" : { + "description" : "Echo data required to send in next calls.", + "type" : "string" + }, + "recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring detail.", + "type" : "string" + }, + "storedDetails" : { + "description" : "Contains information on previously stored payment details.", + "$ref" : "#/components/schemas/StoredDetails" + }, + "supportsRecurring" : { + "description" : "Indicates whether this payment method supports tokenization or not.", + "type" : "boolean" + }, + "type" : { + "description" : "The unique payment method code.", + "type" : "string" + } + } + }, + "Redirect" : { + "properties" : { + "data" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "When the redirect URL must be accessed via POST, use this data to post to the redirect URL.", + "type" : "object" + }, + "method" : { + "description" : "The web method that you must use to access the redirect URL.\n\nPossible values: GET, POST.", + "enum" : [ + "GET", + "POST" + ], + "type" : "string" + }, + "url" : { + "description" : "The URL, to which you must redirect a shopper to complete a payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataBillingAddress" : { + "properties" : { + "billingAddress.city" : { + "description" : "The billing address city passed in the payment request.", + "type" : "string" + }, + "billingAddress.country" : { + "description" : "The billing address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "billingAddress.houseNumberOrName" : { + "description" : "The billing address house number or name passed in the payment request.", + "type" : "string" + }, + "billingAddress.postalCode" : { + "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "billingAddress.stateOrProvince" : { + "description" : "The billing address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "billingAddress.street" : { + "description" : "The billing address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCard" : { + "properties" : { + "cardBin" : { + "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number.\n\nExample: 521234", + "type" : "string" + }, + "cardHolderName" : { + "description" : "The cardholder name passed in the payment request.", + "type" : "string" + }, + "cardIssuingBank" : { + "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.", + "type" : "string" + }, + "cardIssuingCountry" : { + "description" : "The country where the card was issued.\n\nExample: US", + "type" : "string" + }, + "cardIssuingCurrency" : { + "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD", + "type" : "string" + }, + "cardPaymentMethod" : { + "description" : "The card payment method used for the transaction.\n\nExample: amex", + "type" : "string" + }, + "cardSummary" : { + "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataCommon" : { + "properties" : { + "acquirerAccountCode" : { + "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.", + "type" : "string" + }, + "acquirerCode" : { + "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer", + "type" : "string" + }, + "acquirerReference" : { + "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9", + "type" : "string" + }, + "alias" : { + "description" : "The Adyen alias of the card.\n\nExample: H167852639363479", + "type" : "string" + }, + "aliasType" : { + "description" : "The type of the card alias.\n\nExample: Default", + "type" : "string" + }, + "authCode" : { + "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747", + "type" : "string" + }, + "authorisedAmountCurrency" : { + "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "authorisedAmountValue" : { + "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "type" : "string" + }, + "avsResult" : { + "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).", + "type" : "string" + }, + "avsResultRaw" : { + "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D", + "type" : "string" + }, + "bic" : { + "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02", + "type" : "string" + }, + "expiryDate" : { + "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.", + "type" : "string" + }, + "extraCostsCurrency" : { + "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR", + "type" : "string" + }, + "extraCostsValue" : { + "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.", + "type" : "string" + }, + "fraudCheck-[itemNr]-[FraudCheckname]" : { + "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.", + "type" : "string" + }, + "fundingSource" : { + "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.", + "type" : "string" + }, + "fundsAvailability" : { + "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".", + "type" : "string" + }, + "inferredRefusalReason" : { + "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card", + "type" : "string" + }, + "issuerCountry" : { + "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP", + "type" : "string" + }, + "mcBankNetReferenceNumber" : { + "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "networkTxReference" : { + "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.", + "type" : "string" + }, + "ownerName" : { + "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.", + "type" : "string" + }, + "paymentAccountReference" : { + "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.", + "type" : "string" + }, + "paymentMethodVariant" : { + "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro", + "type" : "string" + }, + "payoutEligible" : { + "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)", + "type" : "string" + }, + "realtimeAccountUpdaterStatus" : { + "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder", + "type" : "string" + }, + "receiptFreeText" : { + "description" : "Message to be displayed on the terminal.", + "type" : "string" + }, + "recurring.firstPspReference" : { + "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.", + "type" : "string" + }, + "recurring.recurringDetailReference" : { + "description" : "The reference that uniquely identifies the recurring transaction.", + "type" : "string" + }, + "referred" : { + "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true", + "type" : "string" + }, + "refusalReasonRaw" : { + "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED", + "type" : "string" + }, + "shopperInteraction" : { + "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce", + "type" : "string" + }, + "shopperReference" : { + "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX", + "type" : "string" + }, + "terminalId" : { + "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622", + "type" : "string" + }, + "threeDAuthenticated" : { + "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true", + "type" : "string" + }, + "threeDAuthenticatedResponse" : { + "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N", + "type" : "string" + }, + "threeDOffered" : { + "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true", + "type" : "string" + }, + "threeDOfferedResponse" : { + "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The 3D Secure 2 version.", + "type" : "string" + }, + "visaTransactionId" : { + "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.", + "type" : "string" + }, + "xid" : { + "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.\n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=", + "type" : "string" + } + } + }, + "ResponseAdditionalDataDeliveryAddress" : { + "properties" : { + "deliveryAddress.city" : { + "description" : "The delivery address city passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.country" : { + "description" : "The delivery address country passed in the payment request.\n\nExample: NL", + "type" : "string" + }, + "deliveryAddress.houseNumberOrName" : { + "description" : "The delivery address house number or name passed in the payment request.", + "type" : "string" + }, + "deliveryAddress.postalCode" : { + "description" : "The delivery address postal code passed in the payment request.\n\nExample: 1011 DJ", + "type" : "string" + }, + "deliveryAddress.stateOrProvince" : { + "description" : "The delivery address state or province passed in the payment request.\n\nExample: NH", + "type" : "string" + }, + "deliveryAddress.street" : { + "description" : "The delivery address street passed in the payment request.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataInstallments" : { + "properties" : { + "installmentPaymentData.installmentType" : { + "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].annualPercentageRate" : { + "description" : "Annual interest rate.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].firstInstallmentAmount" : { + "description" : "First Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].installmentFee" : { + "description" : "Installment fee amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].interestRate" : { + "description" : "Interest rate for the installment period.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : { + "description" : "Maximum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : { + "description" : "Minimum number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].numberOfInstallments" : { + "description" : "Total number of installments possible for this payment.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : { + "description" : "Subsequent Installment Amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.option[itemNr].totalAmountDue" : { + "description" : "Total amount in minor units.", + "type" : "string" + }, + "installmentPaymentData.paymentOptions" : { + "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments", + "type" : "string" + }, + "installments.value" : { + "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataNetworkTokens" : { + "properties" : { + "networkToken.available" : { + "description" : "Indicates whether a network token is available for the specified card.", + "type" : "string" + }, + "networkToken.bin" : { + "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.", + "type" : "string" + }, + "networkToken.tokenSummary" : { + "description" : "The last four digits of a card number.", + "type" : "string" + } + } + }, + "ResponseAdditionalDataPayPal" : { + "properties" : { + "paypalEmail" : { + "description" : "The buyer's PayPal account email address.\n\nExample: paypaltest@adyen.com", + "type" : "string" + }, + "paypalPayerId" : { + "description" : "The buyer's PayPal ID.\n\nExample: LF5HCWWBRV2KL", + "type" : "string" + }, + "paypalPayerResidenceCountry" : { + "description" : "The buyer's country of residence.\n\nExample: NL", + "type" : "string" + }, + "paypalPayerStatus" : { + "description" : "The status of the buyer's PayPal account.\n\nExample: unverified", + "type" : "string" + }, + "paypalProtectionEligibility" : { + "description" : "The eligibility for PayPal Seller Protection for this payment.\n\nExample: Ineligible", + "type" : "string" + } + } + }, + "ResponseAdditionalDataSepa" : { + "properties" : { + "sepadirectdebit.dateOfSignature" : { + "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd", + "type" : "string" + }, + "sepadirectdebit.mandateId" : { + "description" : "Its value corresponds to the pspReference value of the transaction.", + "type" : "string" + }, + "sepadirectdebit.sequenceType" : { + "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF", + "type" : "string" + } + } + }, + "RiskData" : { + "properties" : { + "clientData" : { + "description" : "Contains client-side data, like the device fingerprint, cookies, and specific browser settings.", + "type" : "string" + } + } + }, + "SDKEphemPubKey" : { + "properties" : { + "crv" : { + "description" : "The `crv` value as received from the 3D Secure 2 SDK.", + "type" : "string" + }, + "kty" : { + "description" : "The `kty` value as received from the 3D Secure 2 SDK.", + "type" : "string" + }, + "x" : { + "description" : "The `x` value as received from the 3D Secure 2 SDK.", + "type" : "string" + }, + "y" : { + "description" : "The `y` value as received from the 3D Secure 2 SDK.", + "type" : "string" + } + } + }, + "SamsungPayDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "samsungPayToken" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "samsungpay", + "description" : "**samsungpay**", + "type" : "string" + } + }, + "required" : [ + "type", + "samsungPayToken" + ] + }, + "SepaDirectDebitDetails" : { + "properties" : { + "iban" : { + "description" : "The International Bank Account Number (IBAN).", + "type" : "string" + }, + "ownerName" : { + "description" : "The name of the bank account holder.", + "type" : "string" + }, + "type" : { + "default" : "sepadirectdebit", + "description" : "**sepadirectdebit**", + "type" : "string" + } + }, + "required" : [ + "type", + "iban", + "ownerName" + ] + }, + "ServiceError" : { + "properties" : { + "errorCode" : { + "type" : "string" + }, + "errorType" : { + "type" : "string" + }, + "message" : { + "type" : "string" + } + } + }, + "ShopperInput" : { + "properties" : { + "billingAddress" : { + "description" : "Specifies visibility of billing address fields.\n\nPermitted values:\n* editable\n* hidden\n* readOnly", + "enum" : [ + "editable", + "hidden", + "readOnly" + ], + "type" : "string" + }, + "deliveryAddress" : { + "description" : "Specifies visibility of delivery address fields.\n\nPermitted values:\n* editable\n* hidden\n* readOnly", + "enum" : [ + "editable", + "hidden", + "readOnly" + ], + "type" : "string" + }, + "personalDetails" : { + "description" : "Specifies visibility of personal details.\n\nPermitted values:\n* editable\n* hidden\n* readOnly", + "enum" : [ + "editable", + "hidden", + "readOnly" + ], + "type" : "string" + } + } + }, + "ShopperInteractionDevice" : { + "properties" : { + "locale" : { + "description" : "Locale on the shopper interaction device.", + "type" : "string" + }, + "os" : { + "description" : "Operating system running on the shopper interaction device.", + "type" : "string" + }, + "osVersion" : { + "description" : "Version of the operating system on the shopper interaction device.", + "type" : "string" + } + } + }, + "Split" : { + "properties" : { + "account" : { + "description" : "The account to which this split applies.\n\n>Required if the type is `MarketPlace`.", + "type" : "string" + }, + "amount" : { + "description" : "The amount of this split.", + "$ref" : "#/components/schemas/SplitAmount" + }, + "description" : { + "description" : "A description of this split.", + "type" : "string" + }, + "reference" : { + "description" : "The reference of this split. Used to link other operations (e.g. captures and refunds) to this split.\n\n>Required if the type is `MarketPlace`.", + "type" : "string" + }, + "type" : { + "description" : "The type of this split.\n\n>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `BalanceAccount`.", + "enum" : [ + "BalanceAccount", + "Commission", + "Default", + "MarketPlace", + "PaymentFee", + "VAT", + "Verification" + ], + "type" : "string" + } + }, + "required" : [ + "amount", + "type" + ] + }, + "SplitAmount" : { + "properties" : { + "currency" : { + "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).\n\nIf this value is not provided, the currency in which the payment is made will be used.", + "maxLength" : 3, + "minLength" : 3, + "type" : "string" + }, + "value" : { + "description" : "The payable amount that can be charged for the transaction.\n\nThe transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).", + "format" : "int64", + "type" : "integer" + } + }, + "required" : [ + "value" + ] + }, + "StoredDetails" : { + "properties" : { + "bank" : { + "description" : "The stored bank account.", + "$ref" : "#/components/schemas/BankAccount" + }, + "card" : { + "description" : "The stored card information.", + "$ref" : "#/components/schemas/Card" + }, + "emailAddress" : { + "description" : "The email associated with stored payment details.", + "type" : "string" + } + } + }, + "StoredPaymentMethod" : { + "properties" : { + "brand" : { + "description" : "The brand of the card.", + "type" : "string" + }, + "expiryMonth" : { + "description" : "The month the card expires.", + "type" : "string" + }, + "expiryYear" : { + "description" : "The year the card expires.", + "type" : "string" + }, + "holderName" : { + "description" : "The unique payment method code.", + "type" : "string" + }, + "id" : { + "description" : "A unique identifier of this stored payment method.", + "type" : "string" + }, + "lastFour" : { + "description" : "The last four digits of the PAN.", + "type" : "string" + }, + "name" : { + "description" : "The display name of the stored payment method.", + "type" : "string" + }, + "shopperEmail" : { + "description" : "The shopper’s email address.", + "type" : "string" + }, + "supportedShopperInteractions" : { + "description" : "The supported shopper interactions for this stored payment method.", + "items" : { + "type" : "string" + }, + "type" : "array" + }, + "type" : { + "description" : "The type of payment method.", + "type" : "string" + } + } + }, + "SubInputDetail" : { + "properties" : { + "configuration" : { + "additionalProperties" : { + "type" : "string" + }, + "description" : "Configuration parameters for the required input.", + "type" : "object" + }, + "items" : { + "description" : "In case of a select, the items to choose from.", + "items" : { + "$ref" : "#/components/schemas/Item" + }, + "type" : "array" + }, + "key" : { + "description" : "The value to provide in the result.", + "type" : "string" + }, + "optional" : { + "description" : "True if this input is optional to provide.", + "type" : "boolean" + }, + "type" : { + "description" : "The type of the required input.", + "type" : "string" + }, + "value" : { + "description" : "The value can be pre-filled, if available.", + "type" : "string" + } + } + }, + "ThreeDS2RequestData" : { + "properties" : { + "acquirerBIN" : { + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "type" : "string" + }, + "acquirerMerchantID" : { + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.", + "type" : "string" + }, + "authenticationOnly" : { + "default" : "false", + "description" : "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.", + "type" : "boolean" + }, + "challengeIndicator" : { + "description" : "Possibility to specify a preference for receiving a challenge from the issuer.\nAllowed values:\n* `noPreference`\n* `requestNoChallenge`\n* `requestChallenge`\n* `requestChallengeAsMandate`\n", + "enum" : [ + "noPreference", + "requestNoChallenge", + "requestChallenge", + "requestChallengeAsMandate" + ], + "type" : "string" + }, + "deviceChannel" : { + "description" : "The environment of the shopper.\nAllowed values:\n* `app`\n* `browser`", + "type" : "string" + }, + "deviceRenderOptions" : { + "description" : "Display options for the 3D Secure 2 SDK.\nOptional 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/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.", + "type" : "string" + }, + "merchantName" : { + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.", + "type" : "string" + }, + "messageVersion" : { + "default" : "2.1.0", + "description" : "The `messageVersion` value indicating the 3D Secure 2 protocol version.", + "type" : "string" + }, + "notificationURL" : { + "description" : "URL to where the issuer should send the `CRes`. Required if you are not using components for `channel` **Web** or if you are using classic integration `deviceChannel` **browser**.", + "type" : "string" + }, + "sdkAppID" : { + "description" : "The `sdkAppID` value as received from the 3D Secure 2 SDK.\nRequired for `deviceChannel` set to **app**.", + "type" : "string" + }, + "sdkEncData" : { + "description" : "The `sdkEncData` value as received from the 3D Secure 2 SDK.\nRequired for `deviceChannel` set to **app**.", + "type" : "string" + }, + "sdkEphemPubKey" : { + "description" : "The `sdkEphemPubKey` value as received from the 3D Secure 2 SDK.\nRequired for `deviceChannel` set to **app**.", + "$ref" : "#/components/schemas/SDKEphemPubKey" + }, + "sdkMaxTimeout" : { + "default" : "60", + "description" : "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.", + "format" : "int32", + "type" : "integer" + }, + "sdkReferenceNumber" : { + "description" : "The `sdkReferenceNumber` value as received from the 3D Secure 2 SDK.\nOnly for `deviceChannel` set to **app**.", + "type" : "string" + }, + "sdkTransID" : { + "description" : "The `sdkTransID` value as received from the 3D Secure 2 SDK.\nOnly for `deviceChannel` set to **app**.", + "type" : "string" + }, + "threeDSCompInd" : { + "description" : "Completion indicator for the device fingerprinting.", + "type" : "string" + }, + "threeDSRequestorID" : { + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.", + "type" : "string" + }, + "threeDSRequestorName" : { + "description" : "Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.", + "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.", + "type" : "string" + }, + "transactionType" : { + "description" : "Identify the type of the transaction being authenticated.", + "enum" : [ + "goodsOrServicePurchase", + "checkAcceptance", + "accountFunding", + "quasiCashTransaction", + "prepaidActivationAndLoad" + ], + "type" : "string" + }, + "whiteListStatus" : { + "description" : "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.", + "type" : "string" + } + }, + "required" : [ + "deviceChannel" + ] + }, + "ThreeDSecureData" : { + "properties" : { + "authenticationResponse" : { + "description" : "In 3D Secure 1, the authentication response if the shopper was redirected.\n\nIn 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.", + "enum" : [ + "Y", + "N", + "U", + "A" + ], + "type" : "string" + }, + "cavv" : { + "description" : "The cardholder authentication value (base64 encoded, 20 bytes in a decoded form).", + "format" : "byte", + "type" : "string" + }, + "cavvAlgorithm" : { + "description" : "The CAVV algorithm used. Include this only for 3D Secure 1.", + "type" : "string" + }, + "directoryResponse" : { + "description" : "In 3D Secure 1, this is the enrollment response from the 3D directory server.\n\nIn 3D Secure 2, this is the `transStatus` from the `ARes`.", + "enum" : [ + "A", + "C", + "D", + "I", + "N", + "R", + "U", + "Y" + ], + "type" : "string" + }, + "dsTransID" : { + "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.", + "type" : "string" + }, + "eci" : { + "description" : "The electronic commerce indicator.", + "type" : "string" + }, + "threeDSVersion" : { + "description" : "The version of the 3D Secure protocol.", + "type" : "string" + }, + "xid" : { + "description" : "Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).", + "format" : "byte", + "type" : "string" + } + } + }, + "UpdatePaymentLinkRequest" : { + "properties" : { + "status" : { + "description" : "Status of the payment link. Possible values:\n* **expired**", + "enum" : [ + "expired" + ], + "type" : "string" + } + }, + "required" : [ + "status" + ] + }, + "VippsDetails" : { + "properties" : { + "telephoneNumber" : { + "description" : "", + "type" : "string" + }, + "type" : { + "default" : "vipps", + "description" : "**vipps**", + "type" : "string" + } + }, + "required" : [ + "type", + "telephoneNumber" + ] + }, + "VisaCheckoutDetails" : { + "properties" : { + "fundingSource" : { + "enum" : [ + "credit", + "debit" + ], + "type" : "string" + }, + "type" : { + "default" : "visacheckout", + "description" : "**visacheckout**", + "type" : "string" + }, + "visaCheckoutCallId" : { + "description" : "", + "type" : "string" + } + }, + "required" : [ + "type", + "visaCheckoutCallId" + ] + }, + "WeChatPayDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + }, + "WeChatPayMiniProgramDetails" : { + "properties" : { + "appId" : { + "type" : "string" + }, + "openid" : { + "type" : "string" + }, + "type" : { + "description" : "The payment method type.", + "type" : "string" + } + }, + "required" : [ + "type" + ] + } + }, + "securitySchemes" : { + "ApiKeyAuth" : { + "in" : "header", + "name" : "X-API-Key", + "type" : "apiKey" + }, + "BasicAuth" : { + "scheme" : "basic", + "type" : "http" + } + } + } +} \ No newline at end of file diff --git a/json/CheckoutUtilityService-v1.json b/json/CheckoutUtilityService-v1.json deleted file mode 100644 index 37c7044..0000000 --- a/json/CheckoutUtilityService-v1.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "openapi" : "3.0.0", - "servers" : [ - { - "url" : "https://checkout-test.adyen.com/v1" - } - ], - "info" : { - "version" : "1", - "title" : "Adyen Checkout Utility API", - "description" : "A web service containing utility functions available for merchants integrating with Checkout APIs.\n## Authentication\nEach request to the Checkout Utility API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example:\n\n```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: Your_Checkout_API_key\" \\\n...\n```\nNote that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nCheckout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://checkout-test.adyen.com/v1/originKeys\n```", - "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions", - "contact" : { - "name" : "Adyen Support", - "url" : "https://support.adyen.com/", - "email" : "support@adyen.com" - } - }, - "x-groups" : [ - "General" - ], - "paths" : { - "/originKeys" : { - "post" : { - "summary" : "Create originKey values for one or more merchant domains.", - "description" : "This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains.", - "x-groupName" : "General", - "x-sortIndex" : 0, - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CheckoutUtilityRequest" - } - } - } - }, - "responses" : { - "200" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CheckoutUtilityResponse" - } - } - }, - "description" : "OK - the request has succeeded." - }, - "400" : { - "description" : "Bad Request - a problem reading or understanding the request." - }, - "422" : { - "description" : "Unprocessable Entity - a request validation error." - }, - "401" : { - "description" : "Unauthorized - authentication required." - }, - "500" : { - "description" : "Internal Server Error - the server could not process the request." - }, - "403" : { - "description" : "Forbidden - insufficient permissions to process the request." - } - } - } - } - }, - "components" : { - "schemas" : { - "CheckoutUtilityRequest" : { - "properties" : { - "originDomains" : { - "description" : "The list of origin domains, for which origin keys are requested.", - "items" : { - "type" : "string" - }, - "type" : "array" - } - }, - "required" : [ - "originDomains" - ] - }, - "CheckoutUtilityResponse" : { - "properties" : { - "originKeys" : { - "description" : "The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.", - "type" : "object" - } - } - } - } - } -} \ No newline at end of file diff --git a/yaml/CheckoutService-v32.yaml b/yaml/CheckoutService-v32.yaml deleted file mode 100644 index 7798461..0000000 --- a/yaml/CheckoutService-v32.yaml +++ /dev/null @@ -1,3037 +0,0 @@ -openapi: 3.0.0 -servers: - - url: 'https://checkout-test.adyen.com/v32' -info: - version: '32' - title: Adyen Checkout API - description: |- - Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort). - - This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout). - - ## Authentication - Each request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example: - - ``` - curl - -H "Content-Type: application/json" \ - -H "X-API-Key: Your_Checkout_API_key" \ - ... - ``` - Note that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints). - - ## Versioning - Checkout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: "vXX", where XX is the version number. - - For example: - ``` - https://checkout-test.adyen.com/v32/payments - ``` - termsOfService: 'https://www.adyen.com/legal/terms-and-conditions' - contact: - name: Adyen Support - url: 'https://support.adyen.com/' - email: support@adyen.com -x-groups: - - API Integration - - SDK Integration -paths: - /paymentLinks: - post: - summary: Creates a payment link. - description: |- - Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request. - - For more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api). - x-groupName: API Integration - x-sortIndex: 8 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePaymentLinkRequest' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePaymentLinkResponse' - description: OK - the request has succeeded. - '400': - description: Bad Request - a problem reading or understanding the request. - '401': - description: Unauthorized - authentication required. - '403': - description: Forbidden - insufficient permissions to process the request. - '422': - description: Unprocessable Entity - a request validation error. - '500': - description: Internal Server Error - the server could not process the request. - /paymentMethods: - post: - summary: Returns available payment methods. - description: |- - Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`). - - Although we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week. - x-groupName: API Integration - x-sortIndex: 1 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentMethodsRequest' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentMethodsResponse' - description: OK - the request has succeeded. - '400': - description: Bad Request - a problem reading or understanding the request. - '401': - description: Unauthorized - authentication required. - '403': - description: Forbidden - insufficient permissions to process the request. - '422': - description: Unprocessable Entity - a request validation error. - '500': - description: Internal Server Error - the server could not process the request. - /paymentSession: - post: - summary: Creates a payment session. - description: |- - Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction. - - For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration - x-sortIndex: 1 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentSetupRequest' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentSetupResponse' - description: OK - the request has succeeded. - '400': - description: Bad Request - a problem reading or understanding the request. - '401': - description: Unauthorized - authentication required. - '403': - description: Forbidden - insufficient permissions to process the request. - '422': - description: Unprocessable Entity - a request validation error. - '500': - description: Internal Server Error - the server could not process the request. - /payments: - post: - summary: Starts a transaction. - description: |- - Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request: - * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`). - * For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. - x-groupName: API Integration - x-sortIndex: 2 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentRequest' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentResponse' - description: OK - the request has succeeded. - '400': - description: Bad Request - a problem reading or understanding the request. - '401': - description: Unauthorized - authentication required. - '403': - description: Forbidden - insufficient permissions to process the request. - '422': - description: Unprocessable Entity - a request validation error. - '500': - description: Internal Server Error - the server could not process the request. - /payments/details: - post: - summary: Submits details for a payment. - description: |- - Submits details for a payment created using `/payments`. This step is only needed when no final state has been reached on the `/payments` request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch). - - The exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request. - - In addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API. - x-groupName: API Integration - x-sortIndex: 3 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DetailsRequest' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentResponse' - description: OK - the request has succeeded. - '400': - description: Bad Request - a problem reading or understanding the request. - '401': - description: Unauthorized - authentication required. - '403': - description: Forbidden - insufficient permissions to process the request. - '422': - description: Unprocessable Entity - a request validation error. - '500': - description: Internal Server Error - the server could not process the request. - /payments/result: - post: - summary: Verifies payment result. - description: |- - Verifies the payment result using the payload returned from the Checkout SDK. - - For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration - x-sortIndex: 2 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentVerificationRequest' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaymentVerificationResponse' - description: OK - the request has succeeded. - '400': - description: Bad Request - a problem reading or understanding the request. - '401': - description: Unauthorized - authentication required. - '403': - description: Forbidden - insufficient permissions to process the request. - '422': - description: Unprocessable Entity - a request validation error. - '500': - description: Internal Server Error - the server could not process the request. -components: - schemas: - 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 - 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 - required: - - airline.passenger_name - 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 - ResponseAdditionalDataCommon: - properties: - acquirerAccountCode: - description: |- - The name of the Adyen acquirer account. - - Example: PayPalSandbox_TestAcquirer - > Only relevant for PayPal transactions. - type: string - acquirerCode: - description: |- - The name of the acquirer processing the payment request. - - Example: TestPmmAcquirer - type: string - acquirerReference: - description: |- - The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. - - Example: 7C9N3FNBKT9 - type: string - alias: - description: |- - The Adyen alias of the card. - - Example: H167852639363479 - type: string - aliasType: - description: |- - The type of the card alias. - - Example: Default - type: string - authCode: - description: |- - Authorisation code: - * When the payment is authorised successfully, this field holds the authorisation code for the payment. - * When the payment is not authorised, this field is empty. - - Example: 58747 - type: string - authorisedAmountCurrency: - description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' - type: string - authorisedAmountValue: - description: |- - Value of the amount authorised. - - This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - type: string - avsResult: - description: |- - The AVS result code of the payment, which provides information about the outcome of the AVS check. - - For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). - type: string - avsResultRaw: - description: |- - Raw AVS result received from the acquirer, where available. - - Example: D - type: string - bic: - description: |- - BIC of a bank account. - - Example: TESTNL01 - > Only relevant for SEPA Direct Debit transactions. - type: string - dsTransID: - description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. - type: string - eci: - description: |- - The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. - - Example: 02 - type: string - expiryDate: - description: |- - The expiry date on the card. - - Example: 6/2016 - > Returned only in case of a card payment. - type: string - extraCostsCurrency: - description: |- - The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. - - Example: EUR - type: string - extraCostsValue: - description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. - type: string - 'fraudCheck-[itemNr]-[FraudCheckname]': - description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. - type: string - fundingSource: - description: |- - Information regarding the funding type of the card. The possible return values are: - * CHARGE - * CREDIT - * DEBIT - * PREPAID - * PREPAID_RELOADABLE - * PREPAID_NONRELOADABLE - * DEFFERED_DEBIT - > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - - For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. - type: string - fundsAvailability: - description: |- - Indicates availability of funds. - - Visa: - * "I" (fast funds are supported) - * "N" (otherwise) - - Mastercard: - * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) - * "N" (otherwise) - - > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". - type: string - inferredRefusalReason: - description: |- - Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". - - Possible values: - * 3D Secure Mandated - * Closed Account - * ContAuth Not Supported - * CVC Mandated - * Ecommerce Not Allowed - * Crossborder Not Supported - * Card Updated - * Low Authrate Bin - * Non-reloadable prepaid card - type: string - issuerCountry: - description: |- - The issuing country of the card based on the BIN list that Adyen maintains. - - Example: JP - type: string - mcBankNetReferenceNumber: - description: |- - The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. - > Contact Support Team to enable this field. - type: string - networkTxReference: - description: |- - Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. - - This contains either the Mastercard Trace ID or the Visa Transaction ID. - type: string - ownerName: - description: |- - The owner name of a bank account. - - Only relevant for SEPA Direct Debit transactions. - type: string - paymentAccountReference: - description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. - type: string - paymentMethodVariant: - description: |- - The Adyen sub-variant of the payment method used for the payment request. - - For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). - - Example: mcpro - type: string - payoutEligible: - description: |- - Indicates whether a payout is eligible or not for this card. - - Visa: - * "Y" - * "N" - - Mastercard: - * "Y" (domestic and cross-border) - * "D" (only domestic) - * "N" (no MoneySend) - * "U" (unknown) - type: string - realtimeAccountUpdaterStatus: - description: |- - The response code from the Real Time Account Updater service. - - Possible return values are: - * CardChanged - * CardExpiryChanged - * CloseAccount - * ContactCardAccountHolder - type: string - receiptFreeText: - description: Message to be displayed on the terminal. - type: string - recurring.firstPspReference: - description: |- - The `pspReference`, of the first recurring payment that created the recurring detail. - - This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - type: string - recurring.recurringDetailReference: - description: The reference that uniquely identifies the recurring transaction. - type: string - referred: - description: |- - If the payment is referred, this field is set to true. - - This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. - - Example: true - type: string - refusalReasonRaw: - description: |- - Raw refusal reason received from the acquirer, where available. - - Example: AUTHORISED - type: string - shopperInteraction: - description: |- - The shopper interaction type of the payment request. - - Example: Ecommerce - type: string - shopperReference: - description: |- - The shopperReference passed in the payment request. - - Example: AdyenTestShopperXX - type: string - terminalId: - description: |- - The terminal ID used in a point-of-sale payment. - - Example: 06022622 - type: string - threeDAuthenticated: - description: |- - A Boolean value indicating whether 3DS authentication was completed on this payment. - - Example: true - type: string - threeDAuthenticatedResponse: - description: |- - The raw 3DS authentication result from the card issuer. - - Example: N - type: string - threeDOffered: - description: |- - A Boolean value indicating whether 3DS was offered for this payment. - - Example: true - type: string - threeDOfferedResponse: - description: |- - The raw enrollment result from the 3DS directory services of the card schemes. - - Example: Y - type: string - threeDSVersion: - description: The 3D Secure 2 version. - type: string - visaTransactionId: - description: |- - The `visaTransactionId`, has a fixed length of 15 numeric characters. - > Contact Support Team to enable this field. - type: string - xid: - description: |- - The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. - - Example: ODgxNDc2MDg2MDExODk5MAAAAAA= - type: string - ResponseAdditionalDataBillingAddress: - properties: - billingAddress.city: - description: The billing address city passed in the payment request. - type: string - billingAddress.country: - description: |- - The billing address country passed in the payment request. - - Example: NL - type: string - billingAddress.houseNumberOrName: - description: The billing address house number or name passed in the payment request. - type: string - billingAddress.postalCode: - description: |- - The billing address postal code passed in the payment request. - - Example: 1011 DJ - type: string - billingAddress.stateOrProvince: - description: |- - The billing address state or province passed in the payment request. - - Example: NH - type: string - billingAddress.street: - description: The billing address street passed in the payment request. - type: string - ResponseAdditionalDataCard: - properties: - cardBin: - description: |- - The Bank Identification Number of a credit card, which is the first six digits of a card number. - - Example: 521234 - type: string - cardHolderName: - description: The cardholder name passed in the payment request. - type: string - cardIssuingBank: - description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. - type: string - cardIssuingCountry: - description: |- - The country where the card was issued. - - Example: US - type: string - cardIssuingCurrency: - description: |- - The currency in which the card is issued, if this information is available. - - Example: USD - type: string - cardPaymentMethod: - description: |- - The card payment method used for the transaction. - - Example: amex - type: string - cardSummary: - description: |- - The last four digits of a card number. - > Returned only in case of a card payment. - type: string - ResponseAdditionalDataDeliveryAddress: - properties: - deliveryAddress.city: - description: The delivery address city passed in the payment request. - type: string - deliveryAddress.country: - description: |- - The delivery address country passed in the payment request. - - Example: NL - type: string - deliveryAddress.houseNumberOrName: - description: The delivery address house number or name passed in the payment request. - type: string - deliveryAddress.postalCode: - description: |- - The delivery address postal code passed in the payment request. - - Example: 1011 DJ - type: string - deliveryAddress.stateOrProvince: - description: |- - The delivery address state or province passed in the payment request. - - Example: NH - type: string - deliveryAddress.street: - description: The delivery address street passed in the payment request. - type: string - ResponseAdditionalDataInstallments: - properties: - installments.value: - description: |- - The number of installments that the payment amount should be charged with. - - Example: 5 - > Only relevant for card payments in countries that support installments. - type: string - installmentPaymentData.installmentType: - description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. - type: string - installmentPaymentData.paymentOptions: - description: |- - Possible values: - * PayInInstallmentsOnly - * PayInFullOnly - * PayInFullOrInstallments - type: string - 'installmentPaymentData.option[itemNr].numberOfInstallments': - description: Total number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].interestRate': - description: Interest rate for the installment period. - type: string - 'installmentPaymentData.option[itemNr].installmentFee': - description: Installment fee amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].annualPercentageRate': - description: Annual interest rate. - type: string - 'installmentPaymentData.option[itemNr].firstInstallmentAmount': - description: First Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': - description: Subsequent Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': - description: Minimum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': - description: Maximum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].totalAmountDue': - description: Total amount in minor units. - type: string - ResponseAdditionalDataPayPal: - properties: - paypalPayerStatus: - description: |- - The status of the buyer's PayPal account. - - Example: unverified - type: string - paypalPayerResidenceCountry: - description: |- - The buyer's country of residence. - - Example: NL - type: string - paypalPayerId: - description: |- - The buyer's PayPal ID. - - Example: LF5HCWWBRV2KL - type: string - paypalEmail: - description: |- - The buyer's PayPal account email address. - - Example: paypaltest@adyen.com - type: string - paypalProtectionEligibility: - description: |- - The eligibility for PayPal Seller Protection for this payment. - - Example: Ineligible - type: string - ResponseAdditionalDataSepa: - properties: - sepadirectdebit.dateOfSignature: - description: |- - The transaction signature date. - - Format: yyyy-MM-dd - type: string - sepadirectdebit.mandateId: - description: Its value corresponds to the pspReference value of the transaction. - type: string - sepadirectdebit.sequenceType: - description: |- - This field can take one of the following values: - * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. - * First: (FRST) Initial/first collection in a series of direct debit instructions. - * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. - * Final: (FNAL) Last/final collection in a series of direct debit instructions. - - Example: OOFF - type: string - Address: - properties: - city: - description: The name of the city. - type: string - country: - description: |- - The two-character country code as defined in ISO-3166-1 alpha-2. For example, **US**. - > If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`. - type: string - houseNumberOrName: - description: The number or name of the house. - type: string - postalCode: - description: 'A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.' - type: string - stateOrProvince: - description: |- - State or province codes as defined in ISO 3166-2. For example, **CA** in the US or **ON** in Canada. - > Required for the US and Canada. - type: string - street: - description: |- - The name of the street. - > The house number should not be included in this field; it should be separately provided via `houseNumberOrName`. - type: string - required: - - street - - houseNumberOrName - - city - - postalCode - - country - Amount: - properties: - currency: - description: 'The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' - maxLength: 3 - minLength: 3 - type: string - value: - description: |- - The payable amount that can be charged for the transaction. - - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - format: int64 - type: integer - required: - - value - - currency - Avs: - properties: - addressEditable: - description: Indicates whether the shopper is allowed to modify the billing address for the current payment request. - type: boolean - enabled: - description: |- - Specifies whether the shopper should enter their billing address during checkout. - - Allowed values: - * yes — Perform AVS checks for every card payment. - * automatic — Perform AVS checks only when required to optimize the conversion rate. - * no — Do not perform AVS checks. - enum: - - 'yes' - - 'no' - - automatic - type: string - BankAccount: - properties: - bankAccountNumber: - description: The bank account number (without separators). - type: string - bankCity: - description: The bank city. - type: string - bankLocationId: - description: The location id of the bank. The field value is `nil` in most cases. - type: string - bankName: - description: The name of the bank. - type: string - bic: - description: 'The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases.' - type: string - countryCode: - description: |- - Country code where the bank is located. - - A valid value is an ISO two-character country code (e.g. 'NL'). - type: string - iban: - description: 'The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN).' - type: string - ownerName: - description: |- - The name of the bank account holder. - If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: - * χ12 is converted to ch12. - * üA is converted to euA. - * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. - After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: - * John17 - allowed. - * J17 - allowed. - * 171 - not allowed. - * John-7 - allowed. - > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. - type: string - taxId: - description: The bank account holder's tax ID. - type: string - BrowserInfo: - properties: - acceptHeader: - description: The accept header value of the shopper's browser. - maxLength: 50 - minLength: 10 - type: string - userAgent: - description: The user agent value of the shopper's browser. - maxLength: 50 - minLength: 10 - type: string - required: - - userAgent - - acceptHeader - Card: - properties: - cvc: - description: |- - The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as: - * CVV2/CVC2 – length: 3 digits - * CID – length: 4 digits - > If you are using [Client-Side Encryption](https://docs.adyen.com/classic-integration/cse-integration-ecommerce), the CVC code is present in the encrypted data. You must never post the card details to the server. - > This field must be always present in a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments). - > When this value is returned in a response, it is always empty because it is not stored. - maxLength: 20 - minLength: 1 - type: string - expiryMonth: - description: |- - The card expiry month. - Format: 2 digits, zero-padded for single digits. For example: - * 03 = March - * 11 = November - maxLength: 2 - minLength: 1 - type: string - expiryYear: - description: |- - The card expiry year. - Format: 4 digits. For example: 2020 - maxLength: 4 - minLength: 4 - type: string - holderName: - description: 'The name of the cardholder, as printed on the card.' - maxLength: 50 - minLength: 1 - type: string - issueNumber: - description: The issue number of the card (for some UK debit cards only). - maxLength: 2 - minLength: 1 - type: string - number: - description: |- - The card number (4-19 characters). Do not use any separators. - When this value is returned in a response, only the last 4 digits of the card number are returned. - maxLength: 19 - minLength: 4 - type: string - startMonth: - description: The month component of the start date (for some UK debit cards only). - maxLength: 2 - minLength: 1 - type: string - startYear: - description: The year component of the start date (for some UK debit cards only). - maxLength: 4 - minLength: 4 - type: string - required: - - number - - expiryMonth - - expiryYear - - holderName - Company: - properties: - homepage: - description: The company website's home page. - type: string - name: - description: The company name. - type: string - registrationNumber: - description: Registration number of the company. - type: string - registryLocation: - description: Registry location of the company. - type: string - taxId: - description: Tax ID of the company. - type: string - type: - description: The company type. - type: string - Configuration: - properties: - avs: - description: 'Describes the configuration for AVS ([Address Verification System](https://en.wikipedia.org/wiki/Address_Verification_System)).' - $ref: '#/components/schemas/Avs' - cardHolderNameRequired: - description: 'When set to true, the shopper has to provide the cardholder name for card payments.' - type: boolean - installments: - description: 'Describes the configuration for [installment payments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).' - $ref: '#/components/schemas/Installments' - CreatePaymentLinkRequest: - properties: - allowedPaymentMethods: - description: |- - List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). - - Example: `"allowedPaymentMethods":["ideal","giropay"]` - items: - type: string - type: array - amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' - $ref: '#/components/schemas/Amount' - billingAddress: - description: |- - The address where to send the invoice. - > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. - $ref: '#/components/schemas/Address' - blockedPaymentMethods: - description: |- - List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). - - Example: `"blockedPaymentMethods":["ideal","giropay"]` - items: - type: string - type: array - countryCode: - description: The shopper's country code. - type: string - deliveryAddress: - description: The address where the purchased goods should be delivered. - $ref: '#/components/schemas/Address' - description: - description: |- - A short description visible on the Pay By Link page. - Maximum length: 280 characters. - type: string - expiresAt: - description: 'The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.' - type: string - merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' - type: string - reference: - description: |- - The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. - If you need to provide multiple references for a transaction, separate them with hyphens ("-"). - Maximum length: 80 characters. - type: string - returnUrl: - description: |- - Website URL used for redirection after payment is completed. - If provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL. - type: string - shopperEmail: - description: |- - The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. - > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. - type: string - shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. - type: string - shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. - type: string - required: - - merchantAccount - - reference - - amount - - countryCode - CreatePaymentLinkResponse: - properties: - amount: - description: The amount for which the Pay By Link URL was created. - $ref: '#/components/schemas/Amount' - expiresAt: - description: 'The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.' - type: string - reference: - description: The reference that was specified when the Pay By Link URL was created. - type: string - url: - description: The URL at which the shopper can complete the payment. - type: string - required: - - reference - - expiresAt - - url - DetailsRequest: - properties: - details: - description: Use this collection to submit the details that were returned as a result of the `/payments` call. - type: object - paymentData: - description: The `paymentData` value that you received in the response to the `/payments` call. - type: string - required: - - details - ForexQuote: - properties: - account: - description: The account name. - type: string - accountType: - description: The account type. - type: string - baseAmount: - description: The base amount. - $ref: '#/components/schemas/Amount' - basePoints: - description: The base points. - format: int32 - type: integer - buy: - description: The buy rate. - $ref: '#/components/schemas/Amount' - interbank: - description: The interbank amount. - $ref: '#/components/schemas/Amount' - reference: - description: The reference assigned to the forex quote request. - type: string - sell: - description: The sell rate. - $ref: '#/components/schemas/Amount' - signature: - description: The signature to validate the integrity. - type: string - source: - description: The source of the forex quote. - type: string - type: - description: The type of forex. - type: string - validTill: - description: The date until which the forex quote is valid. - format: date-time - type: string - required: - - validTill - - basePoints - FraudCheckResult: - properties: - accountScore: - description: The fraud score generated by the risk check. - format: int32 - type: integer - checkId: - description: The ID of the risk check. - format: int32 - type: integer - name: - description: The name of the risk check. - type: string - required: - - checkId - - name - - accountScore - FraudResult: - properties: - accountScore: - description: The total fraud score generated by the risk checks. - format: int32 - type: integer - results: - description: The result of the individual risk checks. - items: - $ref: '#/components/schemas/FraudCheckResult' - type: array - required: - - accountScore - InputDetail: - properties: - configuration: - description: Configuration parameters for the required input. - type: object - details: - description: Input details can also be provided recursively. - items: - $ref: '#/components/schemas/SubInputDetail' - type: array - inputDetails: - deprecated: true - description: Input details can also be provided recursively (deprecated). - items: - $ref: '#/components/schemas/SubInputDetail' - type: array - itemSearchUrl: - description: 'In case of a select, the URL from which to query the items.' - type: string - items: - description: 'In case of a select, the items to choose from.' - items: - $ref: '#/components/schemas/Item' - type: array - key: - description: The value to provide in the result. - type: string - optional: - description: True if this input value is optional. - type: boolean - type: - description: The type of the required input. - type: string - value: - description: 'The value can be pre-filled, if available.' - type: string - Installments: - properties: - value: - description: |- - Defines the number of installments. Its value needs to be greater than zero. - - Usually, the maximum allowed number of installments is capped. For example, it may not be possible to split a payment in more than 24 installments. The acquirer sets this upper limit, so its value may vary. - format: int32 - type: integer - required: - - value - Item: - properties: - id: - description: The value to provide in the result. - type: string - name: - description: The display name. - type: string - LineItem: - properties: - amountExcludingTax: - description: 'Item amount excluding the tax, in minor units.' - format: int64 - type: integer - amountIncludingTax: - description: 'Item amount including the tax, in minor units.' - format: int64 - type: integer - description: - description: Description of the line item. - type: string - id: - description: ID of the line item. - type: string - quantity: - description: Number of items. - format: int64 - type: integer - taxAmount: - description: 'Tax amount, in minor units.' - format: int64 - type: integer - taxCategory: - description: 'Required for AfterPay. Tax category: High, Low, None, Zero' - enum: - - High - - Low - - None - - Zero - type: string - taxPercentage: - description: 'Tax percentage, in minor units.' - format: int64 - type: integer - Name: - properties: - firstName: - description: The first name. - type: string - gender: - description: |- - The gender. - >The following values are permitted: `MALE`, `FEMALE`, `UNKNOWN`. - enum: - - MALE - - FEMALE - - UNKNOWN - maxLength: 1 - minLength: 1 - type: string - infix: - description: |- - The name's infix, if applicable. - >A maximum length of twenty (20) characters is imposed. - type: string - lastName: - description: The last name. - type: string - required: - - firstName - - lastName - - gender - PaymentMethod: - properties: - configuration: - description: The configuration of the payment method. - type: object - details: - description: All input details to be provided to complete the payment with this payment method. - items: - $ref: '#/components/schemas/InputDetail' - type: array - group: - description: The group where this payment method belongs to. - $ref: '#/components/schemas/PaymentMethodGroup' - inputDetails: - deprecated: true - description: All input details to be provided to complete the payment with this payment method. - items: - $ref: '#/components/schemas/InputDetail' - type: array - name: - description: The displayable name of this payment method. - type: string - paymentMethodData: - description: Echo data required to send in next calls. - type: string - supportsRecurring: - description: Indicates whether this payment method supports tokenization or not. - type: boolean - type: - description: The unique payment method code. - type: string - PaymentMethodGroup: - properties: - name: - description: The name of the group. - type: string - paymentMethodData: - description: Echo data to be used if the payment method is displayed as part of this group. - type: string - type: - description: The unique code of the group. - type: string - PaymentMethodsGroup: - properties: - groupType: - description: The type to submit for any payment method in this group. - type: string - name: - description: The human-readable name of this group. - type: string - types: - description: The types of payment methods that belong in this group. - items: - type: string - type: array - PaymentMethodsRequest: - properties: - additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. - anyOf: - - $ref: '#/components/schemas/AdditionalDataCommon' - - $ref: '#/components/schemas/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' - amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' - $ref: '#/components/schemas/Amount' - channel: - description: |- - The platform where a payment transaction takes place. This field can be used for filtering out payment methods that are only available on specific platforms. Possible values: - * iOS - * Android - * Web - enum: - - iOS - - Android - - Web - type: string - countryCode: - description: The shopper's country code. - type: string - merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' - type: string - shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. - type: string - shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. - type: string - required: - - merchantAccount - - reference - PaymentMethodsResponse: - properties: - groups: - description: Groups of payment methods. - items: - $ref: '#/components/schemas/PaymentMethodsGroup' - type: array - oneClickPaymentMethods: - description: Detailed list of one-click payment methods. - items: - $ref: '#/components/schemas/RecurringDetail' - type: array - paymentMethods: - description: Detailed list of payment methods required to generate payment forms. - items: - $ref: '#/components/schemas/PaymentMethod' - type: array - PaymentRequest: - properties: - additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. - anyOf: - - $ref: '#/components/schemas/AdditionalDataCommon' - - $ref: '#/components/schemas/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' - amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' - $ref: '#/components/schemas/Amount' - billingAddress: - description: |- - The address where to send the invoice. - > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. - $ref: '#/components/schemas/Address' - browserInfo: - description: |- - The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). - $ref: '#/components/schemas/BrowserInfo' - captureDelayHours: - description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' - format: int32 - type: integer - channel: - description: |- - The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the `sdkVersion` or `token`. - - Possible values: - * iOS - * Android - * Web - enum: - - iOS - - Android - - Web - type: string - company: - description: Information regarding the company. - $ref: '#/components/schemas/Company' - countryCode: - description: |- - The shopper country. - - Format: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - Example: NL or DE - type: string - dateOfBirth: - description: |- - The shopper's date of birth. - - Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD - format: date-time - type: string - dccQuote: - description: The forex quote as returned in the response of the forex service. - $ref: '#/components/schemas/ForexQuote' - deliveryAddress: - description: The address where the purchased goods should be delivered. - $ref: '#/components/schemas/Address' - deliveryDate: - description: |- - The date and time the purchased goods should be delivered. - - Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD - - Example: 2017-07-17T13:42:40.428+01:00 - format: date-time - type: string - deviceFingerprint: - description: 'A string containing the shopper''s device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).' - type: string - enableOneClick: - description: 'When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.' - type: boolean - enablePayOut: - description: 'When true and `shopperReference` is provided, the payment details will be tokenized for payouts.' - type: boolean - enableRecurring: - description: 'When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.' - type: boolean - entityType: - description: The type of the entity the payment is processed for. - enum: - - NaturalPerson - - CompanyName - type: string - fraudOffset: - description: An integer value that is added to the normal fraud score. The value can be either positive or negative. - format: int32 - type: integer - installments: - description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).' - $ref: '#/components/schemas/Installments' - lineItems: - description: |- - Price and product information about the purchased items, to be included on the invoice sent to the shopper. - > This field is required for Klarna, AfterPay, and RatePay. - items: - $ref: '#/components/schemas/LineItem' - type: array - 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.' - type: string - merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' - type: string - merchantOrderReference: - description: |- - This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. - The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. - > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. - type: string - metadata: - description: |- - Metadata consists of entries, each of which includes a key and a value. - Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". - type: object - mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). - $ref: '#/components/schemas/ThreeDSecureData' - orderReference: - description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' - type: string - paymentMethod: - description: The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`). - type: object - recurringExpiry: - description: Date after which no further authorisations shall be performed. Only for 3D Secure 2. - type: string - recurringFrequency: - description: Minimum number of days between authorisations. Only for 3D Secure 2. - type: string - recurringProcessingModel: - description: | - Defines a recurring payment type. - Allowed values: - * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. - * `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. - enum: - - CardOnFile - - Subscription - - UnscheduledCardOnFile - type: string - redirectFromIssuerMethod: - description: Specifies the redirect method (GET or POST) when redirecting back from the issuer. - type: string - redirectToIssuerMethod: - description: Specifies the redirect method (GET or POST) when redirecting to the issuer. - type: string - reference: - description: |- - The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. - If you need to provide multiple references for a transaction, separate them with hyphens ("-"). - Maximum length: 80 characters. - type: string - returnUrl: - description: The URL to return to. - type: string - riskData: - description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' - $ref: '#/components/schemas/RiskData' - sessionValidity: - description: The maximum validity of the session. - type: string - shopperEmail: - description: |- - The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. - > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. - type: string - shopperIP: - description: |- - The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). - > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). - type: string - shopperInteraction: - description: |- - Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. - For the web service API, Adyen assumes Ecommerce shopper interaction by default. - - This field has the following possible values: - * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. - * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). - * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. - * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. - enum: - - Ecommerce - - ContAuth - - Moto - - POS - type: string - shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. - type: string - shopperName: - description: The shopper's full name and gender (if specified). - $ref: '#/components/schemas/Name' - shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. - type: string - shopperStatement: - description: The text to appear on the shopper's bank statement. - type: string - socialSecurityNumber: - description: The shopper's social security number. - type: string - telephoneNumber: - description: The shopper's telephone number. - type: string - required: - - merchantAccount - - reference - - amount - - returnUrl - - paymentMethod - PaymentResponse: - properties: - additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' - anyOf: - - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - - $ref: '#/components/schemas/ResponseAdditionalDataCard' - - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' - - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - - $ref: '#/components/schemas/ResponseAdditionalDataSepa' - details: - description: 'When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.' - items: - $ref: '#/components/schemas/InputDetail' - type: array - fraudResult: - description: The fraud result properties of the payment. - $ref: '#/components/schemas/FraudResult' - outputDetails: - description: Contains the details that will be presented to the shopper. - type: object - paymentData: - description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint.' - type: string - pspReference: - description: |- - Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. - - > `pspReference` is returned only for non-redirect payment methods. - type: string - redirect: - description: 'When the payment flow requires a redirect, this object contains information about the redirect URL.' - $ref: '#/components/schemas/Redirect' - refusalReason: - description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. - - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - type: string - resultCode: - description: |- - The result of the payment. Possible values: - - * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. - * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. - * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. - * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. - * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). - * **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. - * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. - enum: - - AuthenticationFinished - - Authorised - - Cancelled - - ChallengeShopper - - Error - - IdentifyShopper - - Pending - - PresentToShopper - - Received - - RedirectShopper - - Refused - type: string - PaymentSetupRequest: - properties: - additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. - anyOf: - - $ref: '#/components/schemas/AdditionalDataCommon' - - $ref: '#/components/schemas/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' - amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' - $ref: '#/components/schemas/Amount' - billingAddress: - description: |- - The address where to send the invoice. - > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. - $ref: '#/components/schemas/Address' - captureDelayHours: - description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' - format: int32 - type: integer - channel: - description: |- - The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the `sdkVersion` or `token`. - - Possible values: - * iOS - * Android - * Web - enum: - - iOS - - Android - - Web - type: string - company: - description: Information regarding the company. - $ref: '#/components/schemas/Company' - configuration: - description: Specify configurations to enable additional features. - $ref: '#/components/schemas/Configuration' - countryCode: - description: |- - The shopper country. - - Format: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) - Example: NL or DE - type: string - dateOfBirth: - description: |- - The shopper's date of birth. - - Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD - format: date-time - type: string - dccQuote: - description: The forex quote as returned in the response of the forex service. - $ref: '#/components/schemas/ForexQuote' - deliveryAddress: - description: The address where the purchased goods should be delivered. - $ref: '#/components/schemas/Address' - deliveryDate: - description: |- - The date and time the purchased goods should be delivered. - - Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD - - Example: 2017-07-17T13:42:40.428+01:00 - format: date-time - type: string - enableOneClick: - description: 'When true and `shopperReference` is provided, the shopper will be asked if the payment details should be stored for future one-click payments.' - type: boolean - enablePayOut: - description: 'When true and `shopperReference` is provided, the payment details will be tokenized for payouts.' - type: boolean - enableRecurring: - description: 'When true and `shopperReference` is provided, the payment details will be tokenized for recurring payments.' - type: boolean - entityType: - description: The type of the entity the payment is processed for. - enum: - - NaturalPerson - - CompanyName - type: string - fraudOffset: - description: An integer value that is added to the normal fraud score. The value can be either positive or negative. - format: int32 - type: integer - installments: - description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).' - $ref: '#/components/schemas/Installments' - lineItems: - description: |- - Price and product information about the purchased items, to be included on the invoice sent to the shopper. - > This field is required for Klarna, AfterPay, and RatePay. - items: - $ref: '#/components/schemas/LineItem' - type: array - 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.' - type: string - merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' - type: string - merchantOrderReference: - description: |- - This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. - The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. - > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. - type: string - metadata: - description: |- - Metadata consists of entries, each of which includes a key and a value. - Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". - type: object - orderReference: - description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' - type: string - origin: - description: |- - Required for the Web integration. - - Set this parameter to the origin URL of the page that you are loading the SDK from. - type: string - recurringExpiry: - description: Date after which no further authorisations shall be performed. Only for 3D Secure 2. - type: string - recurringFrequency: - description: Minimum number of days between authorisations. Only for 3D Secure 2. - type: string - reference: - description: |- - The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. - If you need to provide multiple references for a transaction, separate them with hyphens ("-"). - Maximum length: 80 characters. - type: string - returnUrl: - description: The URL to return to. - type: string - riskData: - description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' - $ref: '#/components/schemas/RiskData' - sdkVersion: - description: The version of the SDK you are using (for Web SDK integrations only). - type: string - sessionValidity: - description: The maximum validity of the session. - type: string - shopperEmail: - description: |- - The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. - > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. - type: string - shopperIP: - description: |- - The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). - > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). - type: string - shopperInteraction: - description: |- - Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. - For the web service API, Adyen assumes Ecommerce shopper interaction by default. - - This field has the following possible values: - * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. - * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). - * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. - * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. - enum: - - Ecommerce - - ContAuth - - Moto - - POS - type: string - shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. - type: string - shopperName: - description: The shopper's full name and gender (if specified). - $ref: '#/components/schemas/Name' - shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. - type: string - shopperStatement: - description: The text to appear on the shopper's bank statement. - type: string - socialSecurityNumber: - description: The shopper's social security number. - type: string - telephoneNumber: - description: The shopper's telephone number. - type: string - token: - description: |- - The token obtained when initializing the SDK. - - > This parameter is required for iOS and Android; not required for Web. - type: string - required: - - merchantAccount - - reference - - amount - - returnUrl - - countryCode - PaymentSetupResponse: - properties: - paymentSession: - description: The encoded payment session that you need to pass to the SDK. - type: string - recurringDetails: - deprecated: true - description: The detailed list of stored payment details required to generate payment forms. Will be empty if oneClick is set to false in the request. - items: - $ref: '#/components/schemas/RecurringDetail' - type: array - PaymentVerificationRequest: - properties: - payload: - description: Encrypted and signed payment result data. You should receive this value from the Checkout SDK after the shopper completes the payment. - type: string - required: - - payload - PaymentVerificationResponse: - properties: - additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' - anyOf: - - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - - $ref: '#/components/schemas/ResponseAdditionalDataCard' - - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' - - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - - $ref: '#/components/schemas/ResponseAdditionalDataSepa' - authResponse: - description: |- - The authorisation code representing the authentication result. - - Possible values: - * Received - * Authorised - * Error - * Refused - * Cancelled - * Unknown - type: string - errorMessage: - description: The error message. - type: string - fraudResult: - description: The fraud result properties of the payment. - $ref: '#/components/schemas/FraudResult' - merchantReference: - description: A unique value that you provided in the initial `/paymentSession` request as a `reference` field. - type: string - paymentMethod: - description: The payment method used in the transaction. - type: string - pspReference: - description: |- - Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. - - > `pspReference` is returned only for non-redirect payment methods. - type: string - refusalReason: - description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. - - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - type: string - resultCode: - description: |- - The result of the payment. Possible values: - - * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. - * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. - * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. - * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. - * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). - * **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. - * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. - enum: - - AuthenticationFinished - - Authorised - - Cancelled - - ChallengeShopper - - Error - - IdentifyShopper - - Pending - - PresentToShopper - - Received - - RedirectShopper - - Refused - type: string - serviceError: - description: The type of the error. - $ref: '#/components/schemas/ServiceError' - shopperLocale: - description: The shopperLocale value provided in the payment request. - type: string - required: - - authResponse - - merchantReference - - paymentMethod - - shopperLocale - Recurring: - properties: - contract: - description: |- - The type of recurring contract to be used. - Possible values: - * `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid). - * `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp). - * `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not. - * `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/checkout/online-payouts). - enum: - - ONECLICK - - RECURRING - - PAYOUT - type: string - recurringDetailName: - description: A descriptive name for this detail. - type: string - tokenService: - description: The name of the token service. - enum: - - VISATOKENSERVICE - - MCTOKENSERVICE - type: string - RecurringDetail: - properties: - configuration: - description: The configuration of the payment method. - type: object - details: - description: All input details to be provided to complete the payment with this payment method. - items: - $ref: '#/components/schemas/InputDetail' - type: array - group: - description: The group where this payment method belongs to. - $ref: '#/components/schemas/PaymentMethodGroup' - inputDetails: - deprecated: true - description: All input details to be provided to complete the payment with this payment method. - items: - $ref: '#/components/schemas/InputDetail' - type: array - name: - description: The displayable name of this payment method. - type: string - paymentMethodData: - description: Echo data required to send in next calls. - type: string - recurringDetailReference: - description: The reference that uniquely identifies the recurring detail. - type: string - storedDetails: - description: Contains information on previously stored payment details. - $ref: '#/components/schemas/StoredDetails' - supportsRecurring: - description: Indicates whether this payment method supports tokenization or not. - type: boolean - type: - description: The unique payment method code. - type: string - Redirect: - properties: - data: - description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' - type: object - method: - description: |- - The web method that you must use to access the redirect URL. - - Possible values: GET, POST. - enum: - - GET - - POST - type: string - url: - description: 'The URL, to which you must redirect a shopper to complete a payment.' - type: string - RiskData: - properties: - clientData: - description: 'Contains client-side data, like the device fingerprint, cookies, and specific browser settings.' - type: string - ServiceError: - properties: - errorCode: - type: string - errorType: - type: string - message: - type: string - StoredDetails: - properties: - bank: - description: The stored bank account. - $ref: '#/components/schemas/BankAccount' - card: - description: The stored card information. - $ref: '#/components/schemas/Card' - emailAddress: - description: The email associated with stored payment details. - type: string - SubInputDetail: - properties: - configuration: - description: Configuration parameters for the required input. - type: object - items: - description: 'In case of a select, the items to choose from.' - items: - $ref: '#/components/schemas/Item' - type: array - key: - description: The value to provide in the result. - type: string - optional: - description: True if this input is optional to provide. - type: boolean - type: - description: The type of the required input. - type: string - value: - description: 'The value can be pre-filled, if available.' - type: string - ThreeDSecureData: - properties: - authenticationResponse: - description: |- - In 3D Secure 1, the authentication response if the shopper was redirected. - - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. - enum: - - 'Y' - - 'N' - - U - - A - type: string - cavv: - description: 'The cardholder authentication value (base64 encoded, 20 bytes in a decoded form).' - format: byte - type: string - cavvAlgorithm: - description: The CAVV algorithm used. Include this only for 3D Secure 1. - type: string - directoryResponse: - description: |- - In 3D Secure 1, this is the enrollment response from the 3D directory server. - - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. - enum: - - A - - C - - D - - I - - 'N' - - R - - U - - 'Y' - type: string - eci: - description: The electronic commerce indicator. - type: string - xid: - description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' - format: byte - type: string diff --git a/yaml/CheckoutService-v37.yaml b/yaml/CheckoutService-v37.yaml index 8b9330b..3d18412 100644 --- a/yaml/CheckoutService-v37.yaml +++ b/yaml/CheckoutService-v37.yaml @@ -1,11 +1,11 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://checkout-test.adyen.com/v37' info: version: '37' title: Adyen Checkout API description: |- - Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort). + Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort). This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout). @@ -33,9 +33,101 @@ info: url: 'https://support.adyen.com/' email: support@adyen.com x-groups: - - API Integration - - SDK Integration + - Payments + - Payment links + - Orders + - Classic Checkout SDK + - Utility paths: + /orders: + post: + summary: Creates an order for the given amount. + description: Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods. + operationId: post-orders + x-groupName: Orders + x-sortIndex: 2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /orders/cancel: + post: + summary: Cancels the given order. + description: 'Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.' + operationId: post-orders-cancel + x-groupName: Orders + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /originKeys: + post: + summary: Create originKey values for one or more merchant domains. + description: |- + This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. + > Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. + operationId: post-originKeys + x-groupName: Utility + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentLinks: post: summary: Creates a payment link. @@ -43,8 +135,9 @@ paths: Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request. For more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api). - x-groupName: API Integration - x-sortIndex: 8 + operationId: post-paymentLinks + x-groupName: Payment links + x-sortIndex: 1 requestBody: content: application/json: @@ -55,7 +148,75 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreatePaymentLinkResponse' + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '201': + description: Created - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + '/paymentLinks/{linkId}': + get: + summary: Retrieve a payment link. + description: Retrieves the payment link details using the payment link `id`. + operationId: get-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 2 + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + patch: + summary: Update the status of a payment link + description: 'Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).' + operationId: patch-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePaymentLinkRequest' + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. @@ -74,7 +235,8 @@ paths: Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`). Although we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week. - x-groupName: API Integration + operationId: post-paymentMethods + x-groupName: Payments x-sortIndex: 1 requestBody: content: @@ -98,6 +260,35 @@ paths: description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. + /paymentMethods/balance: + post: + summary: Returns the available balance on gift card. + description: 'Retrieves the balance remaining on a shopper''s gift card. To check a gift card''s balance, make a POST `/paymentMethods/balance` call and include the gift card''s details inside a `paymentMethod` object.' + operationId: post-paymentMethods-balance + x-groupName: Orders + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentSession: post: summary: Creates a payment session. @@ -105,7 +296,8 @@ paths: Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-paymentSession + x-groupName: Classic Checkout SDK x-sortIndex: 1 requestBody: content: @@ -133,10 +325,11 @@ paths: post: summary: Starts a transaction. description: |- - Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request: - * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`). - * For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. - x-groupName: API Integration + Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request: + * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**). + * For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. + operationId: post-payments + x-groupName: Payments x-sortIndex: 2 requestBody: content: @@ -169,7 +362,8 @@ paths: The exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request. In addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API. - x-groupName: API Integration + operationId: post-payments-details + x-groupName: Payments x-sortIndex: 3 requestBody: content: @@ -200,7 +394,8 @@ paths: Verifies the payment result using the payload returned from the Checkout SDK. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-payments-result + x-groupName: Classic Checkout SDK x-sortIndex: 2 requestBody: content: @@ -226,8 +421,418 @@ paths: description: Internal Server Error - the server could not process the request. components: schemas: + AchDetails: + properties: + bankAccountNumber: + description: The bank account number (without separators). + type: string + bankLocationId: + description: The bank routing number of the account. The field value is `nil` in most cases. + type: string + encryptedBankAccountNumber: + description: Encrypted bank account number. The bank account number (without separators). + type: string + encryptedBankLocationId: + description: Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases. + type: string + ownerName: + description: |- + The name of the bank account holder. + If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: + * χ12 is converted to ch12. + * üA is converted to euA. + * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. + After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: + * John17 - allowed. + * J17 - allowed. + * 171 - not allowed. + * John-7 - allowed. + > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. + type: string + type: + default: ach + description: '**ach**' + type: string + required: + - type + - bankAccountNumber + AdditionalData3DSecure: + properties: + allow3DS2: + description: |- + This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: + * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + type: string + scaExemption: + description: |- + Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + type: string authorisationType: description: |- Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types). @@ -252,431 +857,89 @@ components: Submit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: description: |- - This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: - * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - required: - - airline.passenger_name - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -685,84 +948,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -773,60 +1065,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -847,9 +1109,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -859,14 +1139,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -879,34 +1172,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -919,21 +1218,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -941,60 +1234,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1002,12 +1295,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1020,8 +1319,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1031,7 +1363,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1043,34 +1375,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1079,11 +1383,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1094,6 +1393,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1106,20 +1420,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1141,480 +1445,6 @@ components: visacheckout.callId: description: The Visa Checkout Call ID retrieved from the SDK. type: string - ResponseAdditionalDataCommon: - properties: - acquirerAccountCode: - description: |- - The name of the Adyen acquirer account. - - Example: PayPalSandbox_TestAcquirer - > Only relevant for PayPal transactions. - type: string - acquirerCode: - description: |- - The name of the acquirer processing the payment request. - - Example: TestPmmAcquirer - type: string - acquirerReference: - description: |- - The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. - - Example: 7C9N3FNBKT9 - type: string - alias: - description: |- - The Adyen alias of the card. - - Example: H167852639363479 - type: string - aliasType: - description: |- - The type of the card alias. - - Example: Default - type: string - authCode: - description: |- - Authorisation code: - * When the payment is authorised successfully, this field holds the authorisation code for the payment. - * When the payment is not authorised, this field is empty. - - Example: 58747 - type: string - authorisedAmountCurrency: - description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' - type: string - authorisedAmountValue: - description: |- - Value of the amount authorised. - - This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - type: string - avsResult: - description: |- - The AVS result code of the payment, which provides information about the outcome of the AVS check. - - For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). - type: string - avsResultRaw: - description: |- - Raw AVS result received from the acquirer, where available. - - Example: D - type: string - bic: - description: |- - BIC of a bank account. - - Example: TESTNL01 - > Only relevant for SEPA Direct Debit transactions. - type: string - dsTransID: - description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. - type: string - eci: - description: |- - The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. - - Example: 02 - type: string - expiryDate: - description: |- - The expiry date on the card. - - Example: 6/2016 - > Returned only in case of a card payment. - type: string - extraCostsCurrency: - description: |- - The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. - - Example: EUR - type: string - extraCostsValue: - description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. - type: string - 'fraudCheck-[itemNr]-[FraudCheckname]': - description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. - type: string - fundingSource: - description: |- - Information regarding the funding type of the card. The possible return values are: - * CHARGE - * CREDIT - * DEBIT - * PREPAID - * PREPAID_RELOADABLE - * PREPAID_NONRELOADABLE - * DEFFERED_DEBIT - > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - - For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. - type: string - fundsAvailability: - description: |- - Indicates availability of funds. - - Visa: - * "I" (fast funds are supported) - * "N" (otherwise) - - Mastercard: - * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) - * "N" (otherwise) - - > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". - type: string - inferredRefusalReason: - description: |- - Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". - - Possible values: - * 3D Secure Mandated - * Closed Account - * ContAuth Not Supported - * CVC Mandated - * Ecommerce Not Allowed - * Crossborder Not Supported - * Card Updated - * Low Authrate Bin - * Non-reloadable prepaid card - type: string - issuerCountry: - description: |- - The issuing country of the card based on the BIN list that Adyen maintains. - - Example: JP - type: string - mcBankNetReferenceNumber: - description: |- - The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. - > Contact Support Team to enable this field. - type: string - networkTxReference: - description: |- - Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. - - This contains either the Mastercard Trace ID or the Visa Transaction ID. - type: string - ownerName: - description: |- - The owner name of a bank account. - - Only relevant for SEPA Direct Debit transactions. - type: string - paymentAccountReference: - description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. - type: string - paymentMethodVariant: - description: |- - The Adyen sub-variant of the payment method used for the payment request. - - For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). - - Example: mcpro - type: string - payoutEligible: - description: |- - Indicates whether a payout is eligible or not for this card. - - Visa: - * "Y" - * "N" - - Mastercard: - * "Y" (domestic and cross-border) - * "D" (only domestic) - * "N" (no MoneySend) - * "U" (unknown) - type: string - realtimeAccountUpdaterStatus: - description: |- - The response code from the Real Time Account Updater service. - - Possible return values are: - * CardChanged - * CardExpiryChanged - * CloseAccount - * ContactCardAccountHolder - type: string - receiptFreeText: - description: Message to be displayed on the terminal. - type: string - recurring.firstPspReference: - description: |- - The `pspReference`, of the first recurring payment that created the recurring detail. - - This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - type: string - recurring.recurringDetailReference: - description: The reference that uniquely identifies the recurring transaction. - type: string - referred: - description: |- - If the payment is referred, this field is set to true. - - This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. - - Example: true - type: string - refusalReasonRaw: - description: |- - Raw refusal reason received from the acquirer, where available. - - Example: AUTHORISED - type: string - shopperInteraction: - description: |- - The shopper interaction type of the payment request. - - Example: Ecommerce - type: string - shopperReference: - description: |- - The shopperReference passed in the payment request. - - Example: AdyenTestShopperXX - type: string - terminalId: - description: |- - The terminal ID used in a point-of-sale payment. - - Example: 06022622 - type: string - threeDAuthenticated: - description: |- - A Boolean value indicating whether 3DS authentication was completed on this payment. - - Example: true - type: string - threeDAuthenticatedResponse: - description: |- - The raw 3DS authentication result from the card issuer. - - Example: N - type: string - threeDOffered: - description: |- - A Boolean value indicating whether 3DS was offered for this payment. - - Example: true - type: string - threeDOfferedResponse: - description: |- - The raw enrollment result from the 3DS directory services of the card schemes. - - Example: Y - type: string - threeDSVersion: - description: The 3D Secure 2 version. - type: string - visaTransactionId: - description: |- - The `visaTransactionId`, has a fixed length of 15 numeric characters. - > Contact Support Team to enable this field. - type: string - xid: - description: |- - The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. - - Example: ODgxNDc2MDg2MDExODk5MAAAAAA= - type: string - ResponseAdditionalDataBillingAddress: - properties: - billingAddress.city: - description: The billing address city passed in the payment request. - type: string - billingAddress.country: - description: |- - The billing address country passed in the payment request. - - Example: NL - type: string - billingAddress.houseNumberOrName: - description: The billing address house number or name passed in the payment request. - type: string - billingAddress.postalCode: - description: |- - The billing address postal code passed in the payment request. - - Example: 1011 DJ - type: string - billingAddress.stateOrProvince: - description: |- - The billing address state or province passed in the payment request. - - Example: NH - type: string - billingAddress.street: - description: The billing address street passed in the payment request. - type: string - ResponseAdditionalDataCard: - properties: - cardBin: - description: |- - The Bank Identification Number of a credit card, which is the first six digits of a card number. - - Example: 521234 - type: string - cardHolderName: - description: The cardholder name passed in the payment request. - type: string - cardIssuingBank: - description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. - type: string - cardIssuingCountry: - description: |- - The country where the card was issued. - - Example: US - type: string - cardIssuingCurrency: - description: |- - The currency in which the card is issued, if this information is available. - - Example: USD - type: string - cardPaymentMethod: - description: |- - The card payment method used for the transaction. - - Example: amex - type: string - cardSummary: - description: |- - The last four digits of a card number. - > Returned only in case of a card payment. - type: string - ResponseAdditionalDataDeliveryAddress: - properties: - deliveryAddress.city: - description: The delivery address city passed in the payment request. - type: string - deliveryAddress.country: - description: |- - The delivery address country passed in the payment request. - - Example: NL - type: string - deliveryAddress.houseNumberOrName: - description: The delivery address house number or name passed in the payment request. - type: string - deliveryAddress.postalCode: - description: |- - The delivery address postal code passed in the payment request. - - Example: 1011 DJ - type: string - deliveryAddress.stateOrProvince: - description: |- - The delivery address state or province passed in the payment request. - - Example: NH - type: string - deliveryAddress.street: - description: The delivery address street passed in the payment request. - type: string - ResponseAdditionalDataInstallments: - properties: - installments.value: - description: |- - The number of installments that the payment amount should be charged with. - - Example: 5 - > Only relevant for card payments in countries that support installments. - type: string - installmentPaymentData.installmentType: - description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. - type: string - installmentPaymentData.paymentOptions: - description: |- - Possible values: - * PayInInstallmentsOnly - * PayInFullOnly - * PayInFullOrInstallments - type: string - 'installmentPaymentData.option[itemNr].numberOfInstallments': - description: Total number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].interestRate': - description: Interest rate for the installment period. - type: string - 'installmentPaymentData.option[itemNr].installmentFee': - description: Installment fee amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].annualPercentageRate': - description: Annual interest rate. - type: string - 'installmentPaymentData.option[itemNr].firstInstallmentAmount': - description: First Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': - description: Subsequent Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': - description: Minimum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': - description: Maximum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].totalAmountDue': - description: Total amount in minor units. - type: string - ResponseAdditionalDataPayPal: - properties: - paypalPayerStatus: - description: |- - The status of the buyer's PayPal account. - - Example: unverified - type: string - paypalPayerResidenceCountry: - description: |- - The buyer's country of residence. - - Example: NL - type: string - paypalPayerId: - description: |- - The buyer's PayPal ID. - - Example: LF5HCWWBRV2KL - type: string - paypalEmail: - description: |- - The buyer's PayPal account email address. - - Example: paypaltest@adyen.com - type: string - paypalProtectionEligibility: - description: |- - The eligibility for PayPal Seller Protection for this payment. - - Example: Ineligible - type: string - ResponseAdditionalDataSepa: - properties: - sepadirectdebit.dateOfSignature: - description: |- - The transaction signature date. - - Format: yyyy-MM-dd - type: string - sepadirectdebit.mandateId: - description: Its value corresponds to the pspReference value of the transaction. - type: string - sepadirectdebit.sequenceType: - description: |- - This field can take one of the following values: - * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. - * First: (FRST) Initial/first collection in a series of direct debit instructions. - * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. - * Final: (FNAL) Last/final collection in a series of direct debit instructions. - - Example: OOFF - type: string Address: properties: city: @@ -1647,6 +1477,18 @@ components: - city - postalCode - country + AmazonPayDetails: + properties: + amazonPayToken: + type: string + checkoutSessionId: + type: string + type: + default: amazonpay + description: '**amazonpay**' + type: string + required: + - type Amount: properties: currency: @@ -1664,6 +1506,54 @@ components: required: - value - currency + AndroidPayDetails: + properties: + androidPayToken: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - androidPayToken + ApplePayDetails: + properties: + applePayToken: + description: '' + type: string + fundingSource: + enum: + - credit + - debit + type: string + type: + default: applepay + description: '**applepay**' + type: string + required: + - type + - applePayToken + ApplicationInfo: + properties: + adyenLibrary: + description: 'Adyen-developed software, such as libraries and plugins, used to interact with the Adyen API. For example, Magento plugin, Java API library, etc.' + $ref: '#/components/schemas/CommonField' + adyenPaymentSource: + description: 'Adyen-developed software to get payment details. For example, Checkout SDK, Secured Fields SDK, etc.' + $ref: '#/components/schemas/CommonField' + externalPlatform: + description: 'Third-party developed platform used to initiate payment requests. For example, Magento, Zuora, etc.' + $ref: '#/components/schemas/ExternalPlatform' + merchantApplication: + description: 'Merchant developed software, such as cashier application, used to interact with the Adyen API.' + $ref: '#/components/schemas/CommonField' + merchantDevice: + description: Merchant device information. + $ref: '#/components/schemas/MerchantDevice' + shopperInteractionDevice: + description: 'Shopper interaction device, such as terminal, mobile device or web browser, to initiate payment requests.' + $ref: '#/components/schemas/ShopperInteractionDevice' Avs: properties: addressEditable: @@ -1725,6 +1615,40 @@ components: taxId: description: The bank account holder's tax ID. type: string + BillDeskOnlineDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_online + description: '**billdesk_online**' + type: string + required: + - type + - issuer + BillDeskWalletDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_wallet + description: '**billdesk_wallet**' + type: string + required: + - type + - issuer + BlikDetails: + properties: + blikCode: + description: BLIK code consisting of 6 digits. + type: string + type: + description: '**blik**' + type: string + required: + - type BrowserInfo: properties: acceptHeader: @@ -1801,6 +1725,479 @@ components: - expiryMonth - expiryYear - holderName + CardDetails: + properties: + cupsecureplus.smscode: + deprecated: true + type: string + cvc: + type: string + encryptedCardNumber: + description: '' + type: string + encryptedExpiryMonth: + description: '' + type: string + encryptedExpiryYear: + description: '' + type: string + expiryMonth: + type: string + expiryYear: + type: string + fundingSource: + enum: + - credit + - debit + type: string + holderName: + type: string + number: + type: string + type: + default: scheme + description: '**scheme**' + type: string + required: + - type + - encryptedCardNumber + - encryptedExpiryMonth + - encryptedExpiryYear + CheckoutBalanceCheckRequest: + properties: + additionalAmount: + description: |- + If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification). + Required to be in the same currency as the `amount`. + $ref: '#/components/schemas/Amount' + additionalData: + anyOf: + - $ref: '#/components/schemas/AdditionalDataCommon' + - $ref: '#/components/schemas/AdditionalData3DSecure' + - $ref: '#/components/schemas/AdditionalDataAirline' + - $ref: '#/components/schemas/AdditionalDataCarRental' + - $ref: '#/components/schemas/AdditionalDataLevel23' + - $ref: '#/components/schemas/AdditionalDataLodging' + - $ref: '#/components/schemas/AdditionalDataOpenInvoice' + - $ref: '#/components/schemas/AdditionalDataRatepay' + - $ref: '#/components/schemas/AdditionalDataRetry' + - $ref: '#/components/schemas/AdditionalDataRisk' + - $ref: '#/components/schemas/AdditionalDataRiskStandalone' + - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. + amount: + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + $ref: '#/components/schemas/Amount' + billingAddress: + description: |- + The address where to send the invoice. + > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + $ref: '#/components/schemas/Address' + browserInfo: + description: |- + The shopper's browser information. + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + $ref: '#/components/schemas/BrowserInfo' + captureDelayHours: + description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' + format: int32 + type: integer + dateOfBirth: + description: |- + The shopper's date of birth. + + Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD + format: date-time + type: string + dccQuote: + description: The forex quote as returned in the response of the forex service. + $ref: '#/components/schemas/ForexQuote' + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + deliveryDate: + description: |- + The date and time the purchased goods should be delivered. + + Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD + + Example: 2017-07-17T13:42:40.428+01:00 + format: date-time + type: string + deviceFingerprint: + description: 'A string containing the shopper''s device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).' + type: string + fraudOffset: + description: An integer value that is added to the normal fraud score. The value can be either positive or negative. + format: int32 + type: integer + installments: + 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.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the transaction.' + type: string + merchantOrderReference: + description: |- + This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. + The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. + > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. + type: string + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". + type: object + orderReference: + description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' + type: string + paymentMethod: + additionalProperties: + type: string + description: The collection that contains the type of the payment method and its specific information. + type: object + recurring: + description: 'The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).' + $ref: '#/components/schemas/Recurring' + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: |- + The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. + If you need to provide multiple references for a transaction, separate them with hyphens ("-"). + Maximum length: 80 characters. + type: string + selectedBrand: + description: |- + Some payment methods require defining a value for this field to specify how to process the transaction. + + For the Bancontact payment method, it can be set to: + * `maestro` (default), to be processed like a Maestro card, or + * `bcmc`, to be processed like a Bancontact card. + type: string + selectedRecurringDetailReference: + description: The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. + type: string + sessionId: + description: A session ID used to identify a payment session. + type: string + shopperEmail: + description: |- + The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. + > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + type: string + shopperIP: + description: |- + The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). + > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). + type: string + shopperInteraction: + description: |- + Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. + For the web service API, Adyen assumes Ecommerce shopper interaction by default. + + This field has the following possible values: + * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. + * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). + * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. + * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. + enum: + - Ecommerce + - ContAuth + - Moto + - POS + type: string + shopperLocale: + description: The combination of a language code and a country code to specify the language to be used in the payment. + type: string + shopperName: + description: The shopper's full name and gender (if specified). + $ref: '#/components/schemas/Name' + shopperReference: + description: |- + The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). + > This field is required for recurring payments. + type: string + shopperStatement: + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. + type: string + socialSecurityNumber: + description: The shopper's social security number. + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string + telephoneNumber: + description: The shopper's telephone number. + type: string + totalsGroup: + description: 'The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).' + maxLength: 16 + minLength: 1 + type: string + trustedShopper: + description: Set to true if the payment should be routed to a trusted MID. + type: boolean + required: + - merchantAccount + - reference + - amount + - paymentMethod + CheckoutBalanceCheckResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + balance: + description: The balance for the payment method. + $ref: '#/components/schemas/Amount' + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - balance + CheckoutCancelOrderRequest: + properties: + merchantAccount: + description: The merchant account identifier that orderData belongs to. + type: string + order: + description: The order request object that contains a pspReference that represents the order and the matching encrypted order data. + $ref: '#/components/schemas/CheckoutOrder' + required: + - order + - merchantAccount + CheckoutCancelOrderResponse: + properties: + pspReference: + description: A unique reference of the cancellation request. + type: string + resultCode: + description: The result of the cancellation request. + type: string + required: + - pspReference + - resultCode + CheckoutCreateOrderRequest: + properties: + amount: + description: The total amount of the order. + $ref: '#/components/schemas/Amount' + expiresAt: + description: 'The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the order.' + type: string + reference: + description: A custom reference identifying the order. + type: string + required: + - merchantAccount + - amount + CheckoutCreateOrderResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + expiresAt: + description: The date that the order will expire. + type: string + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + orderData: + description: The encrypted data that will be used by merchant for adding payments to the order. + type: string + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + remainingAmount: + description: The remaining amount in the order. + $ref: '#/components/schemas/Amount' + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - remainingAmount + - expiresAt + - orderData + CheckoutOrder: + properties: + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + required: + - pspReference + - orderData + CheckoutOrderResponse: + properties: + expiresAt: + description: The expiry date for the order. + type: string + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + reference: + description: The merchant reference for the order. + type: string + remainingAmount: + description: The updated remaining amount. + $ref: '#/components/schemas/Amount' + required: + - pspReference + CheckoutUtilityRequest: + properties: + originDomains: + description: 'The list of origin domains, for which origin keys are requested.' + items: + type: string + type: array + required: + - originDomains + CheckoutUtilityResponse: + properties: + originKeys: + additionalProperties: + type: string + description: 'The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.' + type: object + CommonField: + properties: + name: + description: 'Name of the field. For example, Name of External Platform.' + type: string + version: + description: 'Version of the field. For example, Version of External Platform.' + type: string Company: properties: homepage: @@ -1856,12 +2253,13 @@ components: type: string type: array amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: The payment amount and currency. $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).' + $ref: '#/components/schemas/ApplicationInfo' billingAddress: - description: |- - The address where to send the invoice. - > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + description: The address where to send the invoice. $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- @@ -1872,72 +2270,95 @@ components: type: string type: array countryCode: - description: The shopper's country code. + description: The shopper's two-letter country code. type: string deliveryAddress: description: The address where the purchased goods should be delivered. $ref: '#/components/schemas/Address' description: description: |- - A short description visible on the Pay By Link page. + A short description visible on the payment page. Maximum length: 280 characters. type: string expiresAt: - description: 'The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.' + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: + * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit" + * Maximum 20 characters per key. When exceeding, the "178" error occurs: "Metadata key size exceeds limit" + * A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id + type: object + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile type: string reference: - description: |- - The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. - If you need to provide multiple references for a transaction, separate them with hyphens ("-"). - Maximum length: 80 characters. + description: A reference that is used to uniquely identify the payment in future communications about the payment status. type: string returnUrl: description: |- Website URL used for redirection after payment is completed. - If provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean shopperEmail: - description: |- - The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. - > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + description: The shopper's email address. type: string shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' type: string required: - - merchantAccount - - reference - amount - - countryCode - CreatePaymentLinkResponse: - properties: - amount: - description: The amount for which the Pay By Link URL was created. - $ref: '#/components/schemas/Amount' - expiresAt: - description: 'The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.' - type: string - reference: - description: The reference that was specified when the Pay By Link URL was created. - type: string - url: - description: The URL at which the shopper can complete the payment. - type: string - required: - reference - - expiresAt - - url + - merchantAccount DetailsRequest: properties: details: + additionalProperties: + type: string + deprecated: true description: Use this collection to submit the details that were returned as a result of the `/payments` call. type: object paymentData: @@ -1945,6 +2366,114 @@ components: type: string required: - details + DokuDetails: + properties: + firstName: + description: The shopper's first name. + type: string + infix: + type: string + lastName: + description: The shopper's last name. + type: string + ovoId: + type: string + shopperEmail: + description: The shopper's email. + type: string + type: + description: '**doku**' + enum: + - doku_mandiri_va + - doku_cimb_va + - doku_danamon_va + - doku_bni_va + - doku_permata_lite_atm + - doku_bri_va + - doku_bca_va + - doku_alfamart + - doku_indomaret + type: string + required: + - type + - firstName + - lastName + - shopperEmail + DotpayDetails: + properties: + issuer: + description: The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it. + type: string + type: + default: dotpay + description: '**dotpay**' + type: string + required: + - type + - issuer + DragonpayDetails: + properties: + issuer: + description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. + type: string + shopperEmail: + description: The shopper’s email address. + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer + EcontextVoucherDetails: + properties: + firstName: + description: The shopper's first name. + type: string + lastName: + description: The shopper's last name. + type: string + shopperEmail: + description: The shopper's email. + type: string + telephoneNumber: + description: The shopper's contact number. + type: string + type: + description: '**econtextvoucher**' + enum: + - econtext_seveneleven + - econtext_stores + type: string + required: + - type + - firstName + - lastName + - shopperEmail + - telephoneNumber + EntercashDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: entercash + description: '**entercash**' + type: string + required: + - type + - issuer + ExternalPlatform: + properties: + integrator: + description: External platform integrator. + type: string + name: + description: 'Name of the field. For example, Name of External Platform.' + type: string + version: + description: 'Version of the field. For example, Version of External Platform.' + type: string ForexQuote: properties: account: @@ -2018,9 +2547,52 @@ components: type: array required: - accountScore + GiropayDetails: + properties: + type: + default: giropay + description: '**giropay**' + type: string + required: + - type + GooglePayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + googlePayCardNetwork: + description: '' + type: string + googlePayToken: + description: '' + type: string + type: + default: paywithgoogle + description: '**paywithgoogle**' + type: string + required: + - type + - googlePayToken + - googlePayCardNetwork + IdealDetails: + properties: + issuer: + description: The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it. + type: string + type: + default: ideal + description: '**ideal**' + type: string + required: + - type + - issuer InputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object details: @@ -2073,6 +2645,38 @@ components: name: description: The display name. type: string + KlarnaDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + token: + type: string + type: + description: The payment method type. + type: string + required: + - type + LianLianPayDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber LineItem: properties: amountExcludingTax: @@ -2109,6 +2713,68 @@ components: description: 'Tax percentage, in minor units.' format: int64 type: integer + MasterpassDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + masterpassTransactionId: + description: The Masterpass transaction ID. + type: string + type: + default: masterpass + description: '**masterpass**' + type: string + required: + - type + - masterpassTransactionId + MbwayDetails: + properties: + shopperEmail: + description: '' + type: string + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber + - shopperEmail + MerchantDevice: + properties: + os: + description: Operating system running on the merchant device. + type: string + osVersion: + description: Version of the operating system on the merchant device. + type: string + reference: + description: Merchant device reference. + type: string + MobilePayDetails: + properties: + type: + default: mobilepay + description: '**mobilepay**' + type: string + required: + - type + MolPayDetails: + properties: + issuer: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer Name: properties: firstName: @@ -2137,9 +2803,187 @@ components: - firstName - lastName - gender + NexoRouterDetails: + properties: + type: + description: The payment method type. + type: string + uniqueTerminalId: + type: string + required: + - type + OpenInvoiceDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + type: + description: The payment method type. + type: string + required: + - type + PayPalDetails: + properties: + orderID: + type: string + payerID: + type: string + subtype: + description: The type of flow to initiate. + enum: + - redirect + - sdk + type: string + type: + default: paypal + description: '**paypal**' + type: string + required: + - type + PaymentDetails: + properties: + type: + description: The payment method type. + type: string + required: + - type + PaymentLinkResource: + properties: + allowedPaymentMethods: + description: |- + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"allowedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + amount: + description: The payment amount and currency. + $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).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: The address where to send the invoice. + $ref: '#/components/schemas/Address' + blockedPaymentMethods: + description: |- + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"blockedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + countryCode: + description: The shopper's two-letter country code. + type: string + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + description: + description: |- + A short description visible on the payment page. + Maximum length: 280 characters. + type: string + expiresAt: + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' + type: string + id: + description: A unique identifier of the payment link. + readOnly: true + type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array + merchantAccount: + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: A reference that is used to uniquely identify the payment in future communications about the payment status. + type: string + returnUrl: + description: |- + Website URL used for redirection after payment is completed. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. + type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean + shopperEmail: + description: The shopper's email address. + type: string + shopperLocale: + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' + type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' + shopperReference: + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + status: + description: |- + Status of the payment link. Possible values: + * **active** + * **paid** + * **expired** + enum: + - active + - expired + - paid + type: string + store: + description: 'The physical store, for which this payment is processed.' + type: string + url: + description: The URL at which the shopper can complete the payment. + readOnly: true + type: string + required: + - amount + - reference + - merchantAccount + - id + - url + - status PaymentMethod: properties: configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -2195,10 +3039,6 @@ components: PaymentMethodsRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2212,6 +3052,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). @@ -2256,6 +3101,11 @@ components: The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). > This field is required for recurring payments. type: string + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string required: - merchantAccount - reference @@ -2279,10 +3129,6 @@ components: PaymentRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2296,6 +3142,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. amount: description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' @@ -2307,7 +3158,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -2403,19 +3254,57 @@ components: > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. type: string metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' + order: + description: Contains the order information which is required for partial payments. + $ref: '#/components/schemas/CheckoutOrder' orderReference: description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' type: string paymentMethod: - description: The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`). - type: object + description: The type and required details of a payment method to use. + oneOf: + - $ref: '#/components/schemas/ApplePayDetails' + - $ref: '#/components/schemas/SamsungPayDetails' + - $ref: '#/components/schemas/AndroidPayDetails' + - $ref: '#/components/schemas/VisaCheckoutDetails' + - $ref: '#/components/schemas/GooglePayDetails' + - $ref: '#/components/schemas/AmazonPayDetails' + - $ref: '#/components/schemas/MasterpassDetails' + - $ref: '#/components/schemas/PaymentDetails' + - $ref: '#/components/schemas/CardDetails' + - $ref: '#/components/schemas/AchDetails' + - $ref: '#/components/schemas/KlarnaDetails' + - $ref: '#/components/schemas/IdealDetails' + - $ref: '#/components/schemas/PayPalDetails' + - $ref: '#/components/schemas/SepaDirectDebitDetails' + - $ref: '#/components/schemas/QiwiWalletDetails' + - $ref: '#/components/schemas/VippsDetails' + - $ref: '#/components/schemas/MobilePayDetails' + - $ref: '#/components/schemas/WeChatPayDetails' + - $ref: '#/components/schemas/WeChatPayMiniProgramDetails' + - $ref: '#/components/schemas/LianLianPayDetails' + - $ref: '#/components/schemas/MolPayDetails' + - $ref: '#/components/schemas/BillDeskOnlineDetails' + - $ref: '#/components/schemas/BillDeskWalletDetails' + - $ref: '#/components/schemas/DotpayDetails' + - $ref: '#/components/schemas/EntercashDetails' + - $ref: '#/components/schemas/OpenInvoiceDetails' + - $ref: '#/components/schemas/DokuDetails' + - $ref: '#/components/schemas/EcontextVoucherDetails' + - $ref: '#/components/schemas/DragonpayDetails' + - $ref: '#/components/schemas/GiropayDetails' + - $ref: '#/components/schemas/NexoRouterDetails' + - $ref: '#/components/schemas/BlikDetails' + - $ref: '#/components/schemas/MbwayDetails' recurringExpiry: description: Date after which no further authorisations shall be performed. Only for 3D Secure 2. type: string @@ -2427,8 +3316,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. - * `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. enum: - CardOnFile - Subscription @@ -2447,7 +3336,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -2493,16 +3390,23 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string telephoneNumber: description: The shopper's telephone number. type: string @@ -2518,15 +3422,16 @@ components: PaymentResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' details: description: 'When non-empty, contains all the fields that you must submit to the `/payments/details` endpoint.' items: @@ -2535,7 +3440,12 @@ components: fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' outputDetails: + additionalProperties: + type: string description: Contains the details that will be presented to the shopper. type: object paymentData: @@ -2552,16 +3462,18 @@ components: $ref: '#/components/schemas/Redirect' refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -2569,7 +3481,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2590,10 +3502,6 @@ components: PaymentSetupRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2607,9 +3515,14 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- - List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"allowedPaymentMethods":["ideal","giropay"]` items: @@ -2625,7 +3538,7 @@ components: $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- - List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"blockedPaymentMethods":["ideal","giropay"]` items: @@ -2725,6 +3638,8 @@ components: > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. type: string metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". @@ -2751,7 +3666,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -2800,13 +3723,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -2849,15 +3774,16 @@ components: PaymentVerificationResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' authResponse: description: |- The authorisation code representing the authentication result. @@ -2876,6 +3802,9 @@ components: merchantReference: description: A unique value that you provided in the initial `/paymentSession` request as a `reference` field. type: string + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' paymentMethod: description: The payment method used in the transaction. type: string @@ -2887,16 +3816,18 @@ components: type: string refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -2904,7 +3835,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2933,6 +3864,18 @@ components: - merchantReference - paymentMethod - shopperLocale + QiwiWalletDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: qiwiwallet + description: '**qiwiwallet**' + type: string + required: + - type + - telephoneNumber Recurring: properties: contract: @@ -2960,6 +3903,8 @@ components: RecurringDetail: properties: configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -2997,6 +3942,8 @@ components: Redirect: properties: data: + additionalProperties: + type: string description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' type: object method: @@ -3011,11 +3958,542 @@ components: url: description: 'The URL, to which you must redirect a shopper to complete a payment.' type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string RiskData: properties: clientData: description: 'Contains client-side data, like the device fingerprint, cookies, and specific browser settings.' type: string + SamsungPayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + samsungPayToken: + description: '' + type: string + type: + default: samsungpay + description: '**samsungpay**' + type: string + required: + - type + - samsungPayToken + SepaDirectDebitDetails: + properties: + iban: + description: The International Bank Account Number (IBAN). + type: string + ownerName: + description: The name of the bank account holder. + type: string + type: + default: sepadirectdebit + description: '**sepadirectdebit**' + type: string + required: + - type + - iban + - ownerName ServiceError: properties: errorCode: @@ -3065,6 +4543,17 @@ components: - hidden - readOnly type: string + ShopperInteractionDevice: + properties: + locale: + description: Locale on the shopper interaction device. + type: string + os: + description: Operating system running on the shopper interaction device. + type: string + osVersion: + description: Version of the operating system on the shopper interaction device. + type: string Split: properties: account: @@ -3135,6 +4624,8 @@ components: SubInputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object items: @@ -3160,7 +4651,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -3178,7 +4669,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -3196,3 +4687,73 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + UpdatePaymentLinkRequest: + properties: + status: + description: |- + Status of the payment link. Possible values: + * **expired** + enum: + - expired + type: string + required: + - status + VippsDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: vipps + description: '**vipps**' + type: string + required: + - type + - telephoneNumber + VisaCheckoutDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + type: + default: visacheckout + description: '**visacheckout**' + type: string + visaCheckoutCallId: + description: '' + type: string + required: + - type + - visaCheckoutCallId + WeChatPayDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + WeChatPayMiniProgramDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/CheckoutService-v40.yaml b/yaml/CheckoutService-v40.yaml index d94428a..70e0aed 100644 --- a/yaml/CheckoutService-v40.yaml +++ b/yaml/CheckoutService-v40.yaml @@ -1,11 +1,11 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://checkout-test.adyen.com/v40' info: version: '40' title: Adyen Checkout API description: |- - Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort). + Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort). This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout). @@ -33,9 +33,101 @@ info: url: 'https://support.adyen.com/' email: support@adyen.com x-groups: - - API Integration - - SDK Integration + - Payments + - Payment links + - Orders + - Classic Checkout SDK + - Utility paths: + /orders: + post: + summary: Creates an order for the given amount. + description: Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods. + operationId: post-orders + x-groupName: Orders + x-sortIndex: 2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /orders/cancel: + post: + summary: Cancels the given order. + description: 'Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.' + operationId: post-orders-cancel + x-groupName: Orders + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /originKeys: + post: + summary: Create originKey values for one or more merchant domains. + description: |- + This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. + > Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. + operationId: post-originKeys + x-groupName: Utility + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentLinks: post: summary: Creates a payment link. @@ -43,8 +135,9 @@ paths: Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request. For more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api). - x-groupName: API Integration - x-sortIndex: 8 + operationId: post-paymentLinks + x-groupName: Payment links + x-sortIndex: 1 requestBody: content: application/json: @@ -55,7 +148,75 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreatePaymentLinkResponse' + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '201': + description: Created - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + '/paymentLinks/{linkId}': + get: + summary: Retrieve a payment link. + description: Retrieves the payment link details using the payment link `id`. + operationId: get-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 2 + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + patch: + summary: Update the status of a payment link + description: 'Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).' + operationId: patch-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePaymentLinkRequest' + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. @@ -74,7 +235,8 @@ paths: Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`). Although we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week. - x-groupName: API Integration + operationId: post-paymentMethods + x-groupName: Payments x-sortIndex: 1 requestBody: content: @@ -98,6 +260,35 @@ paths: description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. + /paymentMethods/balance: + post: + summary: Returns the available balance on gift card. + description: 'Retrieves the balance remaining on a shopper''s gift card. To check a gift card''s balance, make a POST `/paymentMethods/balance` call and include the gift card''s details inside a `paymentMethod` object.' + operationId: post-paymentMethods-balance + x-groupName: Orders + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentSession: post: summary: Creates a payment session. @@ -105,7 +296,8 @@ paths: Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-paymentSession + x-groupName: Classic Checkout SDK x-sortIndex: 1 requestBody: content: @@ -133,10 +325,11 @@ paths: post: summary: Starts a transaction. description: |- - Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request: - * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`). - * For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. - x-groupName: API Integration + Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request: + * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**). + * For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. + operationId: post-payments + x-groupName: Payments x-sortIndex: 2 requestBody: content: @@ -169,7 +362,8 @@ paths: The exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request. In addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API. - x-groupName: API Integration + operationId: post-payments-details + x-groupName: Payments x-sortIndex: 3 requestBody: content: @@ -200,7 +394,8 @@ paths: Verifies the payment result using the payload returned from the Checkout SDK. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-payments-result + x-groupName: Classic Checkout SDK x-sortIndex: 2 requestBody: content: @@ -352,8 +547,418 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + AchDetails: + properties: + bankAccountNumber: + description: The bank account number (without separators). + type: string + bankLocationId: + description: The bank routing number of the account. The field value is `nil` in most cases. + type: string + encryptedBankAccountNumber: + description: Encrypted bank account number. The bank account number (without separators). + type: string + encryptedBankLocationId: + description: Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases. + type: string + ownerName: + description: |- + The name of the bank account holder. + If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: + * χ12 is converted to ch12. + * üA is converted to euA. + * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. + After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: + * John17 - allowed. + * J17 - allowed. + * 171 - not allowed. + * John-7 - allowed. + > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. + type: string + type: + default: ach + description: '**ach**' + type: string + required: + - type + - bankAccountNumber + AdditionalData3DSecure: + properties: + allow3DS2: + description: |- + This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: + * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + type: string + scaExemption: + description: |- + Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + type: string authorisationType: description: |- Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types). @@ -378,431 +983,89 @@ components: Submit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: description: |- - This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: - * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - required: - - airline.passenger_name - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -811,84 +1074,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -899,60 +1191,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -973,9 +1235,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -985,14 +1265,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -1005,34 +1298,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1045,21 +1344,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1067,60 +1360,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1128,12 +1421,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1146,8 +1445,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1157,7 +1489,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1169,34 +1501,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1205,11 +1509,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1220,6 +1519,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1232,20 +1546,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1267,480 +1571,6 @@ components: visacheckout.callId: description: The Visa Checkout Call ID retrieved from the SDK. type: string - ResponseAdditionalDataCommon: - properties: - acquirerAccountCode: - description: |- - The name of the Adyen acquirer account. - - Example: PayPalSandbox_TestAcquirer - > Only relevant for PayPal transactions. - type: string - acquirerCode: - description: |- - The name of the acquirer processing the payment request. - - Example: TestPmmAcquirer - type: string - acquirerReference: - description: |- - The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. - - Example: 7C9N3FNBKT9 - type: string - alias: - description: |- - The Adyen alias of the card. - - Example: H167852639363479 - type: string - aliasType: - description: |- - The type of the card alias. - - Example: Default - type: string - authCode: - description: |- - Authorisation code: - * When the payment is authorised successfully, this field holds the authorisation code for the payment. - * When the payment is not authorised, this field is empty. - - Example: 58747 - type: string - authorisedAmountCurrency: - description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' - type: string - authorisedAmountValue: - description: |- - Value of the amount authorised. - - This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - type: string - avsResult: - description: |- - The AVS result code of the payment, which provides information about the outcome of the AVS check. - - For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). - type: string - avsResultRaw: - description: |- - Raw AVS result received from the acquirer, where available. - - Example: D - type: string - bic: - description: |- - BIC of a bank account. - - Example: TESTNL01 - > Only relevant for SEPA Direct Debit transactions. - type: string - dsTransID: - description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. - type: string - eci: - description: |- - The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. - - Example: 02 - type: string - expiryDate: - description: |- - The expiry date on the card. - - Example: 6/2016 - > Returned only in case of a card payment. - type: string - extraCostsCurrency: - description: |- - The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. - - Example: EUR - type: string - extraCostsValue: - description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. - type: string - 'fraudCheck-[itemNr]-[FraudCheckname]': - description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. - type: string - fundingSource: - description: |- - Information regarding the funding type of the card. The possible return values are: - * CHARGE - * CREDIT - * DEBIT - * PREPAID - * PREPAID_RELOADABLE - * PREPAID_NONRELOADABLE - * DEFFERED_DEBIT - > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - - For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. - type: string - fundsAvailability: - description: |- - Indicates availability of funds. - - Visa: - * "I" (fast funds are supported) - * "N" (otherwise) - - Mastercard: - * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) - * "N" (otherwise) - - > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". - type: string - inferredRefusalReason: - description: |- - Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". - - Possible values: - * 3D Secure Mandated - * Closed Account - * ContAuth Not Supported - * CVC Mandated - * Ecommerce Not Allowed - * Crossborder Not Supported - * Card Updated - * Low Authrate Bin - * Non-reloadable prepaid card - type: string - issuerCountry: - description: |- - The issuing country of the card based on the BIN list that Adyen maintains. - - Example: JP - type: string - mcBankNetReferenceNumber: - description: |- - The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. - > Contact Support Team to enable this field. - type: string - networkTxReference: - description: |- - Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. - - This contains either the Mastercard Trace ID or the Visa Transaction ID. - type: string - ownerName: - description: |- - The owner name of a bank account. - - Only relevant for SEPA Direct Debit transactions. - type: string - paymentAccountReference: - description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. - type: string - paymentMethodVariant: - description: |- - The Adyen sub-variant of the payment method used for the payment request. - - For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). - - Example: mcpro - type: string - payoutEligible: - description: |- - Indicates whether a payout is eligible or not for this card. - - Visa: - * "Y" - * "N" - - Mastercard: - * "Y" (domestic and cross-border) - * "D" (only domestic) - * "N" (no MoneySend) - * "U" (unknown) - type: string - realtimeAccountUpdaterStatus: - description: |- - The response code from the Real Time Account Updater service. - - Possible return values are: - * CardChanged - * CardExpiryChanged - * CloseAccount - * ContactCardAccountHolder - type: string - receiptFreeText: - description: Message to be displayed on the terminal. - type: string - recurring.firstPspReference: - description: |- - The `pspReference`, of the first recurring payment that created the recurring detail. - - This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - type: string - recurring.recurringDetailReference: - description: The reference that uniquely identifies the recurring transaction. - type: string - referred: - description: |- - If the payment is referred, this field is set to true. - - This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. - - Example: true - type: string - refusalReasonRaw: - description: |- - Raw refusal reason received from the acquirer, where available. - - Example: AUTHORISED - type: string - shopperInteraction: - description: |- - The shopper interaction type of the payment request. - - Example: Ecommerce - type: string - shopperReference: - description: |- - The shopperReference passed in the payment request. - - Example: AdyenTestShopperXX - type: string - terminalId: - description: |- - The terminal ID used in a point-of-sale payment. - - Example: 06022622 - type: string - threeDAuthenticated: - description: |- - A Boolean value indicating whether 3DS authentication was completed on this payment. - - Example: true - type: string - threeDAuthenticatedResponse: - description: |- - The raw 3DS authentication result from the card issuer. - - Example: N - type: string - threeDOffered: - description: |- - A Boolean value indicating whether 3DS was offered for this payment. - - Example: true - type: string - threeDOfferedResponse: - description: |- - The raw enrollment result from the 3DS directory services of the card schemes. - - Example: Y - type: string - threeDSVersion: - description: The 3D Secure 2 version. - type: string - visaTransactionId: - description: |- - The `visaTransactionId`, has a fixed length of 15 numeric characters. - > Contact Support Team to enable this field. - type: string - xid: - description: |- - The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. - - Example: ODgxNDc2MDg2MDExODk5MAAAAAA= - type: string - ResponseAdditionalDataBillingAddress: - properties: - billingAddress.city: - description: The billing address city passed in the payment request. - type: string - billingAddress.country: - description: |- - The billing address country passed in the payment request. - - Example: NL - type: string - billingAddress.houseNumberOrName: - description: The billing address house number or name passed in the payment request. - type: string - billingAddress.postalCode: - description: |- - The billing address postal code passed in the payment request. - - Example: 1011 DJ - type: string - billingAddress.stateOrProvince: - description: |- - The billing address state or province passed in the payment request. - - Example: NH - type: string - billingAddress.street: - description: The billing address street passed in the payment request. - type: string - ResponseAdditionalDataCard: - properties: - cardBin: - description: |- - The Bank Identification Number of a credit card, which is the first six digits of a card number. - - Example: 521234 - type: string - cardHolderName: - description: The cardholder name passed in the payment request. - type: string - cardIssuingBank: - description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. - type: string - cardIssuingCountry: - description: |- - The country where the card was issued. - - Example: US - type: string - cardIssuingCurrency: - description: |- - The currency in which the card is issued, if this information is available. - - Example: USD - type: string - cardPaymentMethod: - description: |- - The card payment method used for the transaction. - - Example: amex - type: string - cardSummary: - description: |- - The last four digits of a card number. - > Returned only in case of a card payment. - type: string - ResponseAdditionalDataDeliveryAddress: - properties: - deliveryAddress.city: - description: The delivery address city passed in the payment request. - type: string - deliveryAddress.country: - description: |- - The delivery address country passed in the payment request. - - Example: NL - type: string - deliveryAddress.houseNumberOrName: - description: The delivery address house number or name passed in the payment request. - type: string - deliveryAddress.postalCode: - description: |- - The delivery address postal code passed in the payment request. - - Example: 1011 DJ - type: string - deliveryAddress.stateOrProvince: - description: |- - The delivery address state or province passed in the payment request. - - Example: NH - type: string - deliveryAddress.street: - description: The delivery address street passed in the payment request. - type: string - ResponseAdditionalDataInstallments: - properties: - installments.value: - description: |- - The number of installments that the payment amount should be charged with. - - Example: 5 - > Only relevant for card payments in countries that support installments. - type: string - installmentPaymentData.installmentType: - description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. - type: string - installmentPaymentData.paymentOptions: - description: |- - Possible values: - * PayInInstallmentsOnly - * PayInFullOnly - * PayInFullOrInstallments - type: string - 'installmentPaymentData.option[itemNr].numberOfInstallments': - description: Total number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].interestRate': - description: Interest rate for the installment period. - type: string - 'installmentPaymentData.option[itemNr].installmentFee': - description: Installment fee amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].annualPercentageRate': - description: Annual interest rate. - type: string - 'installmentPaymentData.option[itemNr].firstInstallmentAmount': - description: First Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': - description: Subsequent Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': - description: Minimum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': - description: Maximum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].totalAmountDue': - description: Total amount in minor units. - type: string - ResponseAdditionalDataPayPal: - properties: - paypalPayerStatus: - description: |- - The status of the buyer's PayPal account. - - Example: unverified - type: string - paypalPayerResidenceCountry: - description: |- - The buyer's country of residence. - - Example: NL - type: string - paypalPayerId: - description: |- - The buyer's PayPal ID. - - Example: LF5HCWWBRV2KL - type: string - paypalEmail: - description: |- - The buyer's PayPal account email address. - - Example: paypaltest@adyen.com - type: string - paypalProtectionEligibility: - description: |- - The eligibility for PayPal Seller Protection for this payment. - - Example: Ineligible - type: string - ResponseAdditionalDataSepa: - properties: - sepadirectdebit.dateOfSignature: - description: |- - The transaction signature date. - - Format: yyyy-MM-dd - type: string - sepadirectdebit.mandateId: - description: Its value corresponds to the pspReference value of the transaction. - type: string - sepadirectdebit.sequenceType: - description: |- - This field can take one of the following values: - * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. - * First: (FRST) Initial/first collection in a series of direct debit instructions. - * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. - * Final: (FNAL) Last/final collection in a series of direct debit instructions. - - Example: OOFF - type: string Address: properties: city: @@ -1773,6 +1603,18 @@ components: - city - postalCode - country + AmazonPayDetails: + properties: + amazonPayToken: + type: string + checkoutSessionId: + type: string + type: + default: amazonpay + description: '**amazonpay**' + type: string + required: + - type Amount: properties: currency: @@ -1790,6 +1632,34 @@ components: required: - value - currency + AndroidPayDetails: + properties: + androidPayToken: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - androidPayToken + ApplePayDetails: + properties: + applePayToken: + description: '' + type: string + fundingSource: + enum: + - credit + - debit + type: string + type: + default: applepay + description: '**applepay**' + type: string + required: + - type + - applePayToken ApplicationInfo: properties: adyenLibrary: @@ -1871,6 +1741,40 @@ components: taxId: description: The bank account holder's tax ID. type: string + BillDeskOnlineDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_online + description: '**billdesk_online**' + type: string + required: + - type + - issuer + BillDeskWalletDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_wallet + description: '**billdesk_wallet**' + type: string + required: + - type + - issuer + BlikDetails: + properties: + blikCode: + description: BLIK code consisting of 6 digits. + type: string + type: + description: '**blik**' + type: string + required: + - type BrowserInfo: properties: acceptHeader: @@ -1879,13 +1783,14 @@ components: minLength: 10 type: string colorDepth: - description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.' + description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.' format: int32 type: integer javaEnabled: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + default: 'true' description: Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present. type: boolean language: @@ -1978,6 +1883,487 @@ components: - expiryMonth - expiryYear - holderName + CardDetails: + properties: + cupsecureplus.smscode: + deprecated: true + type: string + cvc: + type: string + encryptedCardNumber: + description: '' + type: string + encryptedExpiryMonth: + description: '' + type: string + encryptedExpiryYear: + description: '' + type: string + expiryMonth: + type: string + expiryYear: + type: string + fundingSource: + enum: + - credit + - debit + type: string + holderName: + type: string + number: + type: string + type: + default: scheme + description: '**scheme**' + type: string + required: + - type + - encryptedCardNumber + - encryptedExpiryMonth + - encryptedExpiryYear + CheckoutBalanceCheckRequest: + properties: + accountInfo: + description: |- + Shopper account information for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/AccountInfo' + additionalAmount: + description: |- + If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification). + Required to be in the same currency as the `amount`. + $ref: '#/components/schemas/Amount' + additionalData: + anyOf: + - $ref: '#/components/schemas/AdditionalDataCommon' + - $ref: '#/components/schemas/AdditionalData3DSecure' + - $ref: '#/components/schemas/AdditionalDataAirline' + - $ref: '#/components/schemas/AdditionalDataCarRental' + - $ref: '#/components/schemas/AdditionalDataLevel23' + - $ref: '#/components/schemas/AdditionalDataLodging' + - $ref: '#/components/schemas/AdditionalDataOpenInvoice' + - $ref: '#/components/schemas/AdditionalDataRatepay' + - $ref: '#/components/schemas/AdditionalDataRetry' + - $ref: '#/components/schemas/AdditionalDataRisk' + - $ref: '#/components/schemas/AdditionalDataRiskStandalone' + - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. + amount: + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + $ref: '#/components/schemas/Amount' + applicationInfo: + description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: |- + The address where to send the invoice. + > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + $ref: '#/components/schemas/Address' + browserInfo: + description: |- + The shopper's browser information. + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + $ref: '#/components/schemas/BrowserInfo' + captureDelayHours: + description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' + format: int32 + type: integer + dateOfBirth: + description: |- + The shopper's date of birth. + + Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD + format: date-time + type: string + dccQuote: + description: The forex quote as returned in the response of the forex service. + $ref: '#/components/schemas/ForexQuote' + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + deliveryDate: + description: |- + The date and time the purchased goods should be delivered. + + Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD + + Example: 2017-07-17T13:42:40.428+01:00 + format: date-time + type: string + deviceFingerprint: + description: 'A string containing the shopper''s device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).' + type: string + fraudOffset: + description: An integer value that is added to the normal fraud score. The value can be either positive or negative. + format: int32 + type: integer + installments: + 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.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the transaction.' + type: string + merchantOrderReference: + description: |- + This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. + The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. + > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. + type: string + merchantRiskIndicator: + description: |- + Additional risk fields for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/MerchantRiskIndicator' + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". + type: object + orderReference: + description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' + type: string + paymentMethod: + additionalProperties: + type: string + description: The collection that contains the type of the payment method and its specific information. + type: object + recurring: + description: 'The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).' + $ref: '#/components/schemas/Recurring' + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: |- + The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. + If you need to provide multiple references for a transaction, separate them with hyphens ("-"). + Maximum length: 80 characters. + type: string + selectedBrand: + description: |- + Some payment methods require defining a value for this field to specify how to process the transaction. + + For the Bancontact payment method, it can be set to: + * `maestro` (default), to be processed like a Maestro card, or + * `bcmc`, to be processed like a Bancontact card. + type: string + selectedRecurringDetailReference: + description: The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. + type: string + sessionId: + description: A session ID used to identify a payment session. + type: string + shopperEmail: + description: |- + The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. + > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + type: string + shopperIP: + description: |- + The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). + > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). + type: string + shopperInteraction: + description: |- + Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. + For the web service API, Adyen assumes Ecommerce shopper interaction by default. + + This field has the following possible values: + * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. + * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). + * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. + * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. + enum: + - Ecommerce + - ContAuth + - Moto + - POS + type: string + shopperLocale: + description: The combination of a language code and a country code to specify the language to be used in the payment. + type: string + shopperName: + description: The shopper's full name and gender (if specified). + $ref: '#/components/schemas/Name' + shopperReference: + description: |- + The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). + > This field is required for recurring payments. + type: string + shopperStatement: + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. + type: string + socialSecurityNumber: + description: The shopper's social security number. + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string + telephoneNumber: + description: The shopper's telephone number. + type: string + threeDS2RequestData: + description: Request fields for 3D Secure 2. + $ref: '#/components/schemas/ThreeDS2RequestData' + totalsGroup: + description: 'The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).' + maxLength: 16 + minLength: 1 + type: string + trustedShopper: + description: Set to true if the payment should be routed to a trusted MID. + type: boolean + required: + - merchantAccount + - reference + - amount + - paymentMethod + CheckoutBalanceCheckResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + balance: + description: The balance for the payment method. + $ref: '#/components/schemas/Amount' + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - balance + CheckoutCancelOrderRequest: + properties: + merchantAccount: + description: The merchant account identifier that orderData belongs to. + type: string + order: + description: The order request object that contains a pspReference that represents the order and the matching encrypted order data. + $ref: '#/components/schemas/CheckoutOrder' + required: + - order + - merchantAccount + CheckoutCancelOrderResponse: + properties: + pspReference: + description: A unique reference of the cancellation request. + type: string + resultCode: + description: The result of the cancellation request. + type: string + required: + - pspReference + - resultCode + CheckoutCreateOrderRequest: + properties: + amount: + description: The total amount of the order. + $ref: '#/components/schemas/Amount' + expiresAt: + description: 'The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the order.' + type: string + reference: + description: A custom reference identifying the order. + type: string + required: + - merchantAccount + - amount + CheckoutCreateOrderResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + expiresAt: + description: The date that the order will expire. + type: string + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + orderData: + description: The encrypted data that will be used by merchant for adding payments to the order. + type: string + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + remainingAmount: + description: The remaining amount in the order. + $ref: '#/components/schemas/Amount' + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - remainingAmount + - expiresAt + - orderData + CheckoutOrder: + properties: + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + required: + - pspReference + - orderData + CheckoutOrderResponse: + properties: + expiresAt: + description: The expiry date for the order. + type: string + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + reference: + description: The merchant reference for the order. + type: string + remainingAmount: + description: The updated remaining amount. + $ref: '#/components/schemas/Amount' + required: + - pspReference + CheckoutUtilityRequest: + properties: + originDomains: + description: 'The list of origin domains, for which origin keys are requested.' + items: + type: string + type: array + required: + - originDomains + CheckoutUtilityResponse: + properties: + originKeys: + additionalProperties: + type: string + description: 'The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.' + type: object CommonField: properties: name: @@ -2041,12 +2427,13 @@ components: type: string type: array amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: The payment amount and currency. $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).' + $ref: '#/components/schemas/ApplicationInfo' billingAddress: - description: |- - The address where to send the invoice. - > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + description: The address where to send the invoice. $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- @@ -2057,72 +2444,95 @@ components: type: string type: array countryCode: - description: The shopper's country code. + description: The shopper's two-letter country code. type: string deliveryAddress: description: The address where the purchased goods should be delivered. $ref: '#/components/schemas/Address' description: description: |- - A short description visible on the Pay By Link page. + A short description visible on the payment page. Maximum length: 280 characters. type: string expiresAt: - description: 'The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.' + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: + * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit" + * Maximum 20 characters per key. When exceeding, the "178" error occurs: "Metadata key size exceeds limit" + * A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id + type: object + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile type: string reference: - description: |- - The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. - If you need to provide multiple references for a transaction, separate them with hyphens ("-"). - Maximum length: 80 characters. + description: A reference that is used to uniquely identify the payment in future communications about the payment status. type: string returnUrl: description: |- Website URL used for redirection after payment is completed. - If provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean shopperEmail: - description: |- - The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. - > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + description: The shopper's email address. type: string shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' type: string required: - - merchantAccount - - reference - amount - - countryCode - CreatePaymentLinkResponse: - properties: - amount: - description: The amount for which the Pay By Link URL was created. - $ref: '#/components/schemas/Amount' - expiresAt: - description: 'The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.' - type: string - reference: - description: The reference that was specified when the Pay By Link URL was created. - type: string - url: - description: The URL at which the shopper can complete the payment. - type: string - required: - reference - - expiresAt - - url + - merchantAccount DetailsRequest: properties: details: + additionalProperties: + type: string + deprecated: true description: Use this collection to submit the details that were returned as a result of the `/payments` call. type: object paymentData: @@ -2136,18 +2546,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -2165,6 +2577,103 @@ components: - text type: string type: array + DokuDetails: + properties: + firstName: + description: The shopper's first name. + type: string + infix: + type: string + lastName: + description: The shopper's last name. + type: string + ovoId: + type: string + shopperEmail: + description: The shopper's email. + type: string + type: + description: '**doku**' + enum: + - doku_mandiri_va + - doku_cimb_va + - doku_danamon_va + - doku_bni_va + - doku_permata_lite_atm + - doku_bri_va + - doku_bca_va + - doku_alfamart + - doku_indomaret + type: string + required: + - type + - firstName + - lastName + - shopperEmail + DotpayDetails: + properties: + issuer: + description: The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it. + type: string + type: + default: dotpay + description: '**dotpay**' + type: string + required: + - type + - issuer + DragonpayDetails: + properties: + issuer: + description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. + type: string + shopperEmail: + description: The shopper’s email address. + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer + EcontextVoucherDetails: + properties: + firstName: + description: The shopper's first name. + type: string + lastName: + description: The shopper's last name. + type: string + shopperEmail: + description: The shopper's email. + type: string + telephoneNumber: + description: The shopper's contact number. + type: string + type: + description: '**econtextvoucher**' + enum: + - econtext_seveneleven + - econtext_stores + type: string + required: + - type + - firstName + - lastName + - shopperEmail + - telephoneNumber + EntercashDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: entercash + description: '**entercash**' + type: string + required: + - type + - issuer ExternalPlatform: properties: integrator: @@ -2249,9 +2758,52 @@ components: type: array required: - accountScore + GiropayDetails: + properties: + type: + default: giropay + description: '**giropay**' + type: string + required: + - type + GooglePayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + googlePayCardNetwork: + description: '' + type: string + googlePayToken: + description: '' + type: string + type: + default: paywithgoogle + description: '**paywithgoogle**' + type: string + required: + - type + - googlePayToken + - googlePayCardNetwork + IdealDetails: + properties: + issuer: + description: The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it. + type: string + type: + default: ideal + description: '**ideal**' + type: string + required: + - type + - issuer InputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object details: @@ -2304,6 +2856,38 @@ components: name: description: The display name. type: string + KlarnaDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + token: + type: string + type: + description: The payment method type. + type: string + required: + - type + LianLianPayDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber LineItem: properties: amountExcludingTax: @@ -2340,6 +2924,38 @@ components: description: 'Tax percentage, in minor units.' format: int64 type: integer + MasterpassDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + masterpassTransactionId: + description: The Masterpass transaction ID. + type: string + type: + default: masterpass + description: '**masterpass**' + type: string + required: + - type + - masterpassTransactionId + MbwayDetails: + properties: + shopperEmail: + description: '' + type: string + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber + - shopperEmail MerchantDevice: properties: os: @@ -2410,6 +3026,25 @@ components: reorderItems: description: Indicator for whether the shopper has already purchased the same items in the past. type: boolean + MobilePayDetails: + properties: + type: + default: mobilepay + description: '**mobilepay**' + type: string + required: + - type + MolPayDetails: + properties: + issuer: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer Name: properties: firstName: @@ -2438,9 +3073,187 @@ components: - firstName - lastName - gender + NexoRouterDetails: + properties: + type: + description: The payment method type. + type: string + uniqueTerminalId: + type: string + required: + - type + OpenInvoiceDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + type: + description: The payment method type. + type: string + required: + - type + PayPalDetails: + properties: + orderID: + type: string + payerID: + type: string + subtype: + description: The type of flow to initiate. + enum: + - redirect + - sdk + type: string + type: + default: paypal + description: '**paypal**' + type: string + required: + - type + PaymentDetails: + properties: + type: + description: The payment method type. + type: string + required: + - type + PaymentLinkResource: + properties: + allowedPaymentMethods: + description: |- + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"allowedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + amount: + description: The payment amount and currency. + $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).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: The address where to send the invoice. + $ref: '#/components/schemas/Address' + blockedPaymentMethods: + description: |- + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"blockedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + countryCode: + description: The shopper's two-letter country code. + type: string + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + description: + description: |- + A short description visible on the payment page. + Maximum length: 280 characters. + type: string + expiresAt: + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' + type: string + id: + description: A unique identifier of the payment link. + readOnly: true + type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array + merchantAccount: + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: A reference that is used to uniquely identify the payment in future communications about the payment status. + type: string + returnUrl: + description: |- + Website URL used for redirection after payment is completed. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. + type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean + shopperEmail: + description: The shopper's email address. + type: string + shopperLocale: + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' + type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' + shopperReference: + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + status: + description: |- + Status of the payment link. Possible values: + * **active** + * **paid** + * **expired** + enum: + - active + - expired + - paid + type: string + store: + description: 'The physical store, for which this payment is processed.' + type: string + url: + description: The URL at which the shopper can complete the payment. + readOnly: true + type: string + required: + - amount + - reference + - merchantAccount + - id + - url + - status PaymentMethod: properties: configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -2496,10 +3309,6 @@ components: PaymentMethodsRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2513,6 +3322,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). @@ -2557,6 +3371,11 @@ components: The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). > This field is required for recurring payments. type: string + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string required: - merchantAccount - reference @@ -2585,10 +3404,6 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/AccountInfo' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2602,6 +3417,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. amount: description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' @@ -2616,7 +3436,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -2717,13 +3537,18 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/MerchantRiskIndicator' metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' + order: + description: Contains the order information which is required for partial payments. + $ref: '#/components/schemas/CheckoutOrder' orderReference: description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' type: string @@ -2734,8 +3559,41 @@ components: Set this parameter to the origin URL of the page that you are loading the 3D Secure Component from. type: string paymentMethod: - description: The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`). - type: object + description: The type and required details of a payment method to use. + oneOf: + - $ref: '#/components/schemas/ApplePayDetails' + - $ref: '#/components/schemas/SamsungPayDetails' + - $ref: '#/components/schemas/AndroidPayDetails' + - $ref: '#/components/schemas/VisaCheckoutDetails' + - $ref: '#/components/schemas/GooglePayDetails' + - $ref: '#/components/schemas/AmazonPayDetails' + - $ref: '#/components/schemas/MasterpassDetails' + - $ref: '#/components/schemas/PaymentDetails' + - $ref: '#/components/schemas/CardDetails' + - $ref: '#/components/schemas/AchDetails' + - $ref: '#/components/schemas/KlarnaDetails' + - $ref: '#/components/schemas/IdealDetails' + - $ref: '#/components/schemas/PayPalDetails' + - $ref: '#/components/schemas/SepaDirectDebitDetails' + - $ref: '#/components/schemas/QiwiWalletDetails' + - $ref: '#/components/schemas/VippsDetails' + - $ref: '#/components/schemas/MobilePayDetails' + - $ref: '#/components/schemas/WeChatPayDetails' + - $ref: '#/components/schemas/WeChatPayMiniProgramDetails' + - $ref: '#/components/schemas/LianLianPayDetails' + - $ref: '#/components/schemas/MolPayDetails' + - $ref: '#/components/schemas/BillDeskOnlineDetails' + - $ref: '#/components/schemas/BillDeskWalletDetails' + - $ref: '#/components/schemas/DotpayDetails' + - $ref: '#/components/schemas/EntercashDetails' + - $ref: '#/components/schemas/OpenInvoiceDetails' + - $ref: '#/components/schemas/DokuDetails' + - $ref: '#/components/schemas/EcontextVoucherDetails' + - $ref: '#/components/schemas/DragonpayDetails' + - $ref: '#/components/schemas/GiropayDetails' + - $ref: '#/components/schemas/NexoRouterDetails' + - $ref: '#/components/schemas/BlikDetails' + - $ref: '#/components/schemas/MbwayDetails' recurringExpiry: description: Date after which no further authorisations shall be performed. Only for 3D Secure 2. type: string @@ -2747,8 +3605,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. - * `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. enum: - CardOnFile - Subscription @@ -2767,7 +3625,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -2813,16 +3679,23 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string telephoneNumber: description: The shopper's telephone number. type: string @@ -2841,16 +3714,19 @@ components: PaymentResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' authentication: + additionalProperties: + type: string description: 'Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ' type: object details: @@ -2861,7 +3737,12 @@ components: fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' outputDetails: + additionalProperties: + type: string description: Contains the details that will be presented to the shopper. type: object paymentData: @@ -2878,16 +3759,18 @@ components: $ref: '#/components/schemas/Redirect' refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -2895,7 +3778,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2916,10 +3799,6 @@ components: PaymentSetupRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2933,9 +3812,14 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- - List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"allowedPaymentMethods":["ideal","giropay"]` items: @@ -2954,7 +3838,7 @@ components: $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- - List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"blockedPaymentMethods":["ideal","giropay"]` items: @@ -3054,6 +3938,8 @@ components: > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. type: string metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". @@ -3080,7 +3966,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -3129,13 +4023,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -3178,21 +4074,25 @@ components: PaymentVerificationResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' merchantReference: description: A unique value that you provided in the initial `/paymentSession` request as a `reference` field. type: string + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' paymentMethod: description: The payment method used in the transaction. type: string @@ -3204,16 +4104,18 @@ components: type: string refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -3221,7 +4123,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -3249,6 +4151,18 @@ components: - merchantReference - paymentMethod - shopperLocale + QiwiWalletDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: qiwiwallet + description: '**qiwiwallet**' + type: string + required: + - type + - telephoneNumber Recurring: properties: contract: @@ -3283,6 +4197,8 @@ components: RecurringDetail: properties: configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -3320,6 +4236,8 @@ components: Redirect: properties: data: + additionalProperties: + type: string description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' type: object method: @@ -3334,6 +4252,504 @@ components: url: description: 'The URL, to which you must redirect a shopper to complete a payment.' type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string RiskData: properties: clientData: @@ -3353,6 +4769,39 @@ components: 'y': description: The `y` value as received from the 3D Secure 2 SDK. type: string + SamsungPayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + samsungPayToken: + description: '' + type: string + type: + default: samsungpay + description: '**samsungpay**' + type: string + required: + - type + - samsungPayToken + SepaDirectDebitDetails: + properties: + iban: + description: The International Bank Account Number (IBAN). + type: string + ownerName: + description: The name of the bank account holder. + type: string + type: + default: sepadirectdebit + description: '**sepadirectdebit**' + type: string + required: + - type + - iban + - ownerName ServiceError: properties: errorCode: @@ -3483,6 +4932,8 @@ components: SubInputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object items: @@ -3505,6 +4956,7 @@ components: ThreeDS2RequestData: properties: authenticationOnly: + default: 'false' description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' type: boolean challengeIndicator: @@ -3534,6 +4986,7 @@ components: Optional and only for `deviceChannel` **app**. $ref: '#/components/schemas/DeviceRenderOptions' messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -3555,6 +5008,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -3590,7 +5044,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -3608,7 +5062,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -3629,3 +5083,73 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + UpdatePaymentLinkRequest: + properties: + status: + description: |- + Status of the payment link. Possible values: + * **expired** + enum: + - expired + type: string + required: + - status + VippsDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: vipps + description: '**vipps**' + type: string + required: + - type + - telephoneNumber + VisaCheckoutDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + type: + default: visacheckout + description: '**visacheckout**' + type: string + visaCheckoutCallId: + description: '' + type: string + required: + - type + - visaCheckoutCallId + WeChatPayDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + WeChatPayMiniProgramDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/CheckoutService-v41.yaml b/yaml/CheckoutService-v41.yaml index 2aa58fc..d9f97a4 100644 --- a/yaml/CheckoutService-v41.yaml +++ b/yaml/CheckoutService-v41.yaml @@ -1,11 +1,11 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://checkout-test.adyen.com/v41' info: version: '41' title: Adyen Checkout API description: |- - Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort). + Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort). This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout). @@ -33,9 +33,101 @@ info: url: 'https://support.adyen.com/' email: support@adyen.com x-groups: - - API Integration - - SDK Integration + - Payments + - Payment links + - Orders + - Classic Checkout SDK + - Utility paths: + /orders: + post: + summary: Creates an order for the given amount. + description: Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods. + operationId: post-orders + x-groupName: Orders + x-sortIndex: 2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /orders/cancel: + post: + summary: Cancels the given order. + description: 'Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.' + operationId: post-orders-cancel + x-groupName: Orders + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /originKeys: + post: + summary: Create originKey values for one or more merchant domains. + description: |- + This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. + > Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. + operationId: post-originKeys + x-groupName: Utility + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentLinks: post: summary: Creates a payment link. @@ -43,8 +135,9 @@ paths: Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request. For more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api). - x-groupName: API Integration - x-sortIndex: 8 + operationId: post-paymentLinks + x-groupName: Payment links + x-sortIndex: 1 requestBody: content: application/json: @@ -55,7 +148,75 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreatePaymentLinkResponse' + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '201': + description: Created - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + '/paymentLinks/{linkId}': + get: + summary: Retrieve a payment link. + description: Retrieves the payment link details using the payment link `id`. + operationId: get-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 2 + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + patch: + summary: Update the status of a payment link + description: 'Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).' + operationId: patch-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePaymentLinkRequest' + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. @@ -74,7 +235,8 @@ paths: Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`). Although we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week. - x-groupName: API Integration + operationId: post-paymentMethods + x-groupName: Payments x-sortIndex: 1 requestBody: content: @@ -98,6 +260,35 @@ paths: description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. + /paymentMethods/balance: + post: + summary: Returns the available balance on gift card. + description: 'Retrieves the balance remaining on a shopper''s gift card. To check a gift card''s balance, make a POST `/paymentMethods/balance` call and include the gift card''s details inside a `paymentMethod` object.' + operationId: post-paymentMethods-balance + x-groupName: Orders + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentSession: post: summary: Creates a payment session. @@ -105,7 +296,8 @@ paths: Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-paymentSession + x-groupName: Classic Checkout SDK x-sortIndex: 1 requestBody: content: @@ -133,10 +325,11 @@ paths: post: summary: Starts a transaction. description: |- - Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request: - * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`). - * For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. - x-groupName: API Integration + Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request: + * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**). + * For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. + operationId: post-payments + x-groupName: Payments x-sortIndex: 2 requestBody: content: @@ -169,7 +362,8 @@ paths: The exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request. In addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API. - x-groupName: API Integration + operationId: post-payments-details + x-groupName: Payments x-sortIndex: 3 requestBody: content: @@ -200,7 +394,8 @@ paths: Verifies the payment result using the payload returned from the Checkout SDK. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-payments-result + x-groupName: Classic Checkout SDK x-sortIndex: 2 requestBody: content: @@ -352,8 +547,418 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + AchDetails: + properties: + bankAccountNumber: + description: The bank account number (without separators). + type: string + bankLocationId: + description: The bank routing number of the account. The field value is `nil` in most cases. + type: string + encryptedBankAccountNumber: + description: Encrypted bank account number. The bank account number (without separators). + type: string + encryptedBankLocationId: + description: Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases. + type: string + ownerName: + description: |- + The name of the bank account holder. + If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: + * χ12 is converted to ch12. + * üA is converted to euA. + * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. + After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: + * John17 - allowed. + * J17 - allowed. + * 171 - not allowed. + * John-7 - allowed. + > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. + type: string + type: + default: ach + description: '**ach**' + type: string + required: + - type + - bankAccountNumber + AdditionalData3DSecure: + properties: + allow3DS2: + description: |- + This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: + * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + type: string + scaExemption: + description: |- + Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + type: string authorisationType: description: |- Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types). @@ -378,431 +983,89 @@ components: Submit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: description: |- - This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: - * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - required: - - airline.passenger_name - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -811,84 +1074,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -899,60 +1191,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -973,9 +1235,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -985,14 +1265,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -1005,34 +1298,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1045,21 +1344,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1067,60 +1360,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1128,12 +1421,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1146,8 +1445,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1157,7 +1489,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1169,34 +1501,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1205,11 +1509,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1220,6 +1519,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1232,20 +1546,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1267,480 +1571,6 @@ components: visacheckout.callId: description: The Visa Checkout Call ID retrieved from the SDK. type: string - ResponseAdditionalDataCommon: - properties: - acquirerAccountCode: - description: |- - The name of the Adyen acquirer account. - - Example: PayPalSandbox_TestAcquirer - > Only relevant for PayPal transactions. - type: string - acquirerCode: - description: |- - The name of the acquirer processing the payment request. - - Example: TestPmmAcquirer - type: string - acquirerReference: - description: |- - The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. - - Example: 7C9N3FNBKT9 - type: string - alias: - description: |- - The Adyen alias of the card. - - Example: H167852639363479 - type: string - aliasType: - description: |- - The type of the card alias. - - Example: Default - type: string - authCode: - description: |- - Authorisation code: - * When the payment is authorised successfully, this field holds the authorisation code for the payment. - * When the payment is not authorised, this field is empty. - - Example: 58747 - type: string - authorisedAmountCurrency: - description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' - type: string - authorisedAmountValue: - description: |- - Value of the amount authorised. - - This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - type: string - avsResult: - description: |- - The AVS result code of the payment, which provides information about the outcome of the AVS check. - - For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). - type: string - avsResultRaw: - description: |- - Raw AVS result received from the acquirer, where available. - - Example: D - type: string - bic: - description: |- - BIC of a bank account. - - Example: TESTNL01 - > Only relevant for SEPA Direct Debit transactions. - type: string - dsTransID: - description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. - type: string - eci: - description: |- - The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. - - Example: 02 - type: string - expiryDate: - description: |- - The expiry date on the card. - - Example: 6/2016 - > Returned only in case of a card payment. - type: string - extraCostsCurrency: - description: |- - The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. - - Example: EUR - type: string - extraCostsValue: - description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. - type: string - 'fraudCheck-[itemNr]-[FraudCheckname]': - description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. - type: string - fundingSource: - description: |- - Information regarding the funding type of the card. The possible return values are: - * CHARGE - * CREDIT - * DEBIT - * PREPAID - * PREPAID_RELOADABLE - * PREPAID_NONRELOADABLE - * DEFFERED_DEBIT - > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - - For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. - type: string - fundsAvailability: - description: |- - Indicates availability of funds. - - Visa: - * "I" (fast funds are supported) - * "N" (otherwise) - - Mastercard: - * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) - * "N" (otherwise) - - > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". - type: string - inferredRefusalReason: - description: |- - Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". - - Possible values: - * 3D Secure Mandated - * Closed Account - * ContAuth Not Supported - * CVC Mandated - * Ecommerce Not Allowed - * Crossborder Not Supported - * Card Updated - * Low Authrate Bin - * Non-reloadable prepaid card - type: string - issuerCountry: - description: |- - The issuing country of the card based on the BIN list that Adyen maintains. - - Example: JP - type: string - mcBankNetReferenceNumber: - description: |- - The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. - > Contact Support Team to enable this field. - type: string - networkTxReference: - description: |- - Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. - - This contains either the Mastercard Trace ID or the Visa Transaction ID. - type: string - ownerName: - description: |- - The owner name of a bank account. - - Only relevant for SEPA Direct Debit transactions. - type: string - paymentAccountReference: - description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. - type: string - paymentMethodVariant: - description: |- - The Adyen sub-variant of the payment method used for the payment request. - - For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). - - Example: mcpro - type: string - payoutEligible: - description: |- - Indicates whether a payout is eligible or not for this card. - - Visa: - * "Y" - * "N" - - Mastercard: - * "Y" (domestic and cross-border) - * "D" (only domestic) - * "N" (no MoneySend) - * "U" (unknown) - type: string - realtimeAccountUpdaterStatus: - description: |- - The response code from the Real Time Account Updater service. - - Possible return values are: - * CardChanged - * CardExpiryChanged - * CloseAccount - * ContactCardAccountHolder - type: string - receiptFreeText: - description: Message to be displayed on the terminal. - type: string - recurring.firstPspReference: - description: |- - The `pspReference`, of the first recurring payment that created the recurring detail. - - This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - type: string - recurring.recurringDetailReference: - description: The reference that uniquely identifies the recurring transaction. - type: string - referred: - description: |- - If the payment is referred, this field is set to true. - - This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. - - Example: true - type: string - refusalReasonRaw: - description: |- - Raw refusal reason received from the acquirer, where available. - - Example: AUTHORISED - type: string - shopperInteraction: - description: |- - The shopper interaction type of the payment request. - - Example: Ecommerce - type: string - shopperReference: - description: |- - The shopperReference passed in the payment request. - - Example: AdyenTestShopperXX - type: string - terminalId: - description: |- - The terminal ID used in a point-of-sale payment. - - Example: 06022622 - type: string - threeDAuthenticated: - description: |- - A Boolean value indicating whether 3DS authentication was completed on this payment. - - Example: true - type: string - threeDAuthenticatedResponse: - description: |- - The raw 3DS authentication result from the card issuer. - - Example: N - type: string - threeDOffered: - description: |- - A Boolean value indicating whether 3DS was offered for this payment. - - Example: true - type: string - threeDOfferedResponse: - description: |- - The raw enrollment result from the 3DS directory services of the card schemes. - - Example: Y - type: string - threeDSVersion: - description: The 3D Secure 2 version. - type: string - visaTransactionId: - description: |- - The `visaTransactionId`, has a fixed length of 15 numeric characters. - > Contact Support Team to enable this field. - type: string - xid: - description: |- - The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. - - Example: ODgxNDc2MDg2MDExODk5MAAAAAA= - type: string - ResponseAdditionalDataBillingAddress: - properties: - billingAddress.city: - description: The billing address city passed in the payment request. - type: string - billingAddress.country: - description: |- - The billing address country passed in the payment request. - - Example: NL - type: string - billingAddress.houseNumberOrName: - description: The billing address house number or name passed in the payment request. - type: string - billingAddress.postalCode: - description: |- - The billing address postal code passed in the payment request. - - Example: 1011 DJ - type: string - billingAddress.stateOrProvince: - description: |- - The billing address state or province passed in the payment request. - - Example: NH - type: string - billingAddress.street: - description: The billing address street passed in the payment request. - type: string - ResponseAdditionalDataCard: - properties: - cardBin: - description: |- - The Bank Identification Number of a credit card, which is the first six digits of a card number. - - Example: 521234 - type: string - cardHolderName: - description: The cardholder name passed in the payment request. - type: string - cardIssuingBank: - description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. - type: string - cardIssuingCountry: - description: |- - The country where the card was issued. - - Example: US - type: string - cardIssuingCurrency: - description: |- - The currency in which the card is issued, if this information is available. - - Example: USD - type: string - cardPaymentMethod: - description: |- - The card payment method used for the transaction. - - Example: amex - type: string - cardSummary: - description: |- - The last four digits of a card number. - > Returned only in case of a card payment. - type: string - ResponseAdditionalDataDeliveryAddress: - properties: - deliveryAddress.city: - description: The delivery address city passed in the payment request. - type: string - deliveryAddress.country: - description: |- - The delivery address country passed in the payment request. - - Example: NL - type: string - deliveryAddress.houseNumberOrName: - description: The delivery address house number or name passed in the payment request. - type: string - deliveryAddress.postalCode: - description: |- - The delivery address postal code passed in the payment request. - - Example: 1011 DJ - type: string - deliveryAddress.stateOrProvince: - description: |- - The delivery address state or province passed in the payment request. - - Example: NH - type: string - deliveryAddress.street: - description: The delivery address street passed in the payment request. - type: string - ResponseAdditionalDataInstallments: - properties: - installments.value: - description: |- - The number of installments that the payment amount should be charged with. - - Example: 5 - > Only relevant for card payments in countries that support installments. - type: string - installmentPaymentData.installmentType: - description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. - type: string - installmentPaymentData.paymentOptions: - description: |- - Possible values: - * PayInInstallmentsOnly - * PayInFullOnly - * PayInFullOrInstallments - type: string - 'installmentPaymentData.option[itemNr].numberOfInstallments': - description: Total number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].interestRate': - description: Interest rate for the installment period. - type: string - 'installmentPaymentData.option[itemNr].installmentFee': - description: Installment fee amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].annualPercentageRate': - description: Annual interest rate. - type: string - 'installmentPaymentData.option[itemNr].firstInstallmentAmount': - description: First Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': - description: Subsequent Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': - description: Minimum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': - description: Maximum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].totalAmountDue': - description: Total amount in minor units. - type: string - ResponseAdditionalDataPayPal: - properties: - paypalPayerStatus: - description: |- - The status of the buyer's PayPal account. - - Example: unverified - type: string - paypalPayerResidenceCountry: - description: |- - The buyer's country of residence. - - Example: NL - type: string - paypalPayerId: - description: |- - The buyer's PayPal ID. - - Example: LF5HCWWBRV2KL - type: string - paypalEmail: - description: |- - The buyer's PayPal account email address. - - Example: paypaltest@adyen.com - type: string - paypalProtectionEligibility: - description: |- - The eligibility for PayPal Seller Protection for this payment. - - Example: Ineligible - type: string - ResponseAdditionalDataSepa: - properties: - sepadirectdebit.dateOfSignature: - description: |- - The transaction signature date. - - Format: yyyy-MM-dd - type: string - sepadirectdebit.mandateId: - description: Its value corresponds to the pspReference value of the transaction. - type: string - sepadirectdebit.sequenceType: - description: |- - This field can take one of the following values: - * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. - * First: (FRST) Initial/first collection in a series of direct debit instructions. - * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. - * Final: (FNAL) Last/final collection in a series of direct debit instructions. - - Example: OOFF - type: string Address: properties: city: @@ -1773,6 +1603,18 @@ components: - city - postalCode - country + AmazonPayDetails: + properties: + amazonPayToken: + type: string + checkoutSessionId: + type: string + type: + default: amazonpay + description: '**amazonpay**' + type: string + required: + - type Amount: properties: currency: @@ -1790,6 +1632,34 @@ components: required: - value - currency + AndroidPayDetails: + properties: + androidPayToken: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - androidPayToken + ApplePayDetails: + properties: + applePayToken: + description: '' + type: string + fundingSource: + enum: + - credit + - debit + type: string + type: + default: applepay + description: '**applepay**' + type: string + required: + - type + - applePayToken ApplicationInfo: properties: adyenLibrary: @@ -1871,6 +1741,40 @@ components: taxId: description: The bank account holder's tax ID. type: string + BillDeskOnlineDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_online + description: '**billdesk_online**' + type: string + required: + - type + - issuer + BillDeskWalletDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_wallet + description: '**billdesk_wallet**' + type: string + required: + - type + - issuer + BlikDetails: + properties: + blikCode: + description: BLIK code consisting of 6 digits. + type: string + type: + description: '**blik**' + type: string + required: + - type BrowserInfo: properties: acceptHeader: @@ -1879,13 +1783,14 @@ components: minLength: 10 type: string colorDepth: - description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.' + description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.' format: int32 type: integer javaEnabled: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + default: 'true' description: Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present. type: boolean language: @@ -1978,6 +1883,487 @@ components: - expiryMonth - expiryYear - holderName + CardDetails: + properties: + cupsecureplus.smscode: + deprecated: true + type: string + cvc: + type: string + encryptedCardNumber: + description: '' + type: string + encryptedExpiryMonth: + description: '' + type: string + encryptedExpiryYear: + description: '' + type: string + expiryMonth: + type: string + expiryYear: + type: string + fundingSource: + enum: + - credit + - debit + type: string + holderName: + type: string + number: + type: string + type: + default: scheme + description: '**scheme**' + type: string + required: + - type + - encryptedCardNumber + - encryptedExpiryMonth + - encryptedExpiryYear + CheckoutBalanceCheckRequest: + properties: + accountInfo: + description: |- + Shopper account information for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/AccountInfo' + additionalAmount: + description: |- + If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification). + Required to be in the same currency as the `amount`. + $ref: '#/components/schemas/Amount' + additionalData: + anyOf: + - $ref: '#/components/schemas/AdditionalDataCommon' + - $ref: '#/components/schemas/AdditionalData3DSecure' + - $ref: '#/components/schemas/AdditionalDataAirline' + - $ref: '#/components/schemas/AdditionalDataCarRental' + - $ref: '#/components/schemas/AdditionalDataLevel23' + - $ref: '#/components/schemas/AdditionalDataLodging' + - $ref: '#/components/schemas/AdditionalDataOpenInvoice' + - $ref: '#/components/schemas/AdditionalDataRatepay' + - $ref: '#/components/schemas/AdditionalDataRetry' + - $ref: '#/components/schemas/AdditionalDataRisk' + - $ref: '#/components/schemas/AdditionalDataRiskStandalone' + - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. + amount: + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + $ref: '#/components/schemas/Amount' + applicationInfo: + description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: |- + The address where to send the invoice. + > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + $ref: '#/components/schemas/Address' + browserInfo: + description: |- + The shopper's browser information. + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + $ref: '#/components/schemas/BrowserInfo' + captureDelayHours: + description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' + format: int32 + type: integer + dateOfBirth: + description: |- + The shopper's date of birth. + + Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD + format: date-time + type: string + dccQuote: + description: The forex quote as returned in the response of the forex service. + $ref: '#/components/schemas/ForexQuote' + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + deliveryDate: + description: |- + The date and time the purchased goods should be delivered. + + Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD + + Example: 2017-07-17T13:42:40.428+01:00 + format: date-time + type: string + deviceFingerprint: + description: 'A string containing the shopper''s device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).' + type: string + fraudOffset: + description: An integer value that is added to the normal fraud score. The value can be either positive or negative. + format: int32 + type: integer + installments: + 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.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the transaction.' + type: string + merchantOrderReference: + description: |- + This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. + The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. + > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. + type: string + merchantRiskIndicator: + description: |- + Additional risk fields for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/MerchantRiskIndicator' + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". + type: object + orderReference: + description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' + type: string + paymentMethod: + additionalProperties: + type: string + description: The collection that contains the type of the payment method and its specific information. + type: object + recurring: + description: 'The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).' + $ref: '#/components/schemas/Recurring' + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: |- + The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. + If you need to provide multiple references for a transaction, separate them with hyphens ("-"). + Maximum length: 80 characters. + type: string + selectedBrand: + description: |- + Some payment methods require defining a value for this field to specify how to process the transaction. + + For the Bancontact payment method, it can be set to: + * `maestro` (default), to be processed like a Maestro card, or + * `bcmc`, to be processed like a Bancontact card. + type: string + selectedRecurringDetailReference: + description: The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. + type: string + sessionId: + description: A session ID used to identify a payment session. + type: string + shopperEmail: + description: |- + The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. + > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + type: string + shopperIP: + description: |- + The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). + > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). + type: string + shopperInteraction: + description: |- + Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. + For the web service API, Adyen assumes Ecommerce shopper interaction by default. + + This field has the following possible values: + * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. + * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). + * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. + * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. + enum: + - Ecommerce + - ContAuth + - Moto + - POS + type: string + shopperLocale: + description: The combination of a language code and a country code to specify the language to be used in the payment. + type: string + shopperName: + description: The shopper's full name and gender (if specified). + $ref: '#/components/schemas/Name' + shopperReference: + description: |- + The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). + > This field is required for recurring payments. + type: string + shopperStatement: + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. + type: string + socialSecurityNumber: + description: The shopper's social security number. + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string + telephoneNumber: + description: The shopper's telephone number. + type: string + threeDS2RequestData: + description: Request fields for 3D Secure 2. + $ref: '#/components/schemas/ThreeDS2RequestData' + totalsGroup: + description: 'The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).' + maxLength: 16 + minLength: 1 + type: string + trustedShopper: + description: Set to true if the payment should be routed to a trusted MID. + type: boolean + required: + - merchantAccount + - reference + - amount + - paymentMethod + CheckoutBalanceCheckResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + balance: + description: The balance for the payment method. + $ref: '#/components/schemas/Amount' + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - balance + CheckoutCancelOrderRequest: + properties: + merchantAccount: + description: The merchant account identifier that orderData belongs to. + type: string + order: + description: The order request object that contains a pspReference that represents the order and the matching encrypted order data. + $ref: '#/components/schemas/CheckoutOrder' + required: + - order + - merchantAccount + CheckoutCancelOrderResponse: + properties: + pspReference: + description: A unique reference of the cancellation request. + type: string + resultCode: + description: The result of the cancellation request. + type: string + required: + - pspReference + - resultCode + CheckoutCreateOrderRequest: + properties: + amount: + description: The total amount of the order. + $ref: '#/components/schemas/Amount' + expiresAt: + description: 'The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the order.' + type: string + reference: + description: A custom reference identifying the order. + type: string + required: + - merchantAccount + - amount + CheckoutCreateOrderResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + expiresAt: + description: The date that the order will expire. + type: string + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + orderData: + description: The encrypted data that will be used by merchant for adding payments to the order. + type: string + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + remainingAmount: + description: The remaining amount in the order. + $ref: '#/components/schemas/Amount' + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - remainingAmount + - expiresAt + - orderData + CheckoutOrder: + properties: + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + required: + - pspReference + - orderData + CheckoutOrderResponse: + properties: + expiresAt: + description: The expiry date for the order. + type: string + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + reference: + description: The merchant reference for the order. + type: string + remainingAmount: + description: The updated remaining amount. + $ref: '#/components/schemas/Amount' + required: + - pspReference + CheckoutUtilityRequest: + properties: + originDomains: + description: 'The list of origin domains, for which origin keys are requested.' + items: + type: string + type: array + required: + - originDomains + CheckoutUtilityResponse: + properties: + originKeys: + additionalProperties: + type: string + description: 'The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.' + type: object CommonField: properties: name: @@ -2041,12 +2427,13 @@ components: type: string type: array amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: The payment amount and currency. $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).' + $ref: '#/components/schemas/ApplicationInfo' billingAddress: - description: |- - The address where to send the invoice. - > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + description: The address where to send the invoice. $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- @@ -2057,72 +2444,95 @@ components: type: string type: array countryCode: - description: The shopper's country code. + description: The shopper's two-letter country code. type: string deliveryAddress: description: The address where the purchased goods should be delivered. $ref: '#/components/schemas/Address' description: description: |- - A short description visible on the Pay By Link page. + A short description visible on the payment page. Maximum length: 280 characters. type: string expiresAt: - description: 'The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.' + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: + * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit" + * Maximum 20 characters per key. When exceeding, the "178" error occurs: "Metadata key size exceeds limit" + * A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id + type: object + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile type: string reference: - description: |- - The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. - If you need to provide multiple references for a transaction, separate them with hyphens ("-"). - Maximum length: 80 characters. + description: A reference that is used to uniquely identify the payment in future communications about the payment status. type: string returnUrl: description: |- Website URL used for redirection after payment is completed. - If provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean shopperEmail: - description: |- - The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. - > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + description: The shopper's email address. type: string shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' type: string required: - - merchantAccount - - reference - amount - - countryCode - CreatePaymentLinkResponse: - properties: - amount: - description: The amount for which the Pay By Link URL was created. - $ref: '#/components/schemas/Amount' - expiresAt: - description: 'The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.' - type: string - reference: - description: The reference that was specified when the Pay By Link URL was created. - type: string - url: - description: The URL at which the shopper can complete the payment. - type: string - required: - reference - - expiresAt - - url + - merchantAccount DetailsRequest: properties: details: + additionalProperties: + type: string + deprecated: true description: Use this collection to submit the details that were returned as a result of the `/payments` call. type: object paymentData: @@ -2136,18 +2546,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -2165,6 +2577,103 @@ components: - text type: string type: array + DokuDetails: + properties: + firstName: + description: The shopper's first name. + type: string + infix: + type: string + lastName: + description: The shopper's last name. + type: string + ovoId: + type: string + shopperEmail: + description: The shopper's email. + type: string + type: + description: '**doku**' + enum: + - doku_mandiri_va + - doku_cimb_va + - doku_danamon_va + - doku_bni_va + - doku_permata_lite_atm + - doku_bri_va + - doku_bca_va + - doku_alfamart + - doku_indomaret + type: string + required: + - type + - firstName + - lastName + - shopperEmail + DotpayDetails: + properties: + issuer: + description: The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it. + type: string + type: + default: dotpay + description: '**dotpay**' + type: string + required: + - type + - issuer + DragonpayDetails: + properties: + issuer: + description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. + type: string + shopperEmail: + description: The shopper’s email address. + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer + EcontextVoucherDetails: + properties: + firstName: + description: The shopper's first name. + type: string + lastName: + description: The shopper's last name. + type: string + shopperEmail: + description: The shopper's email. + type: string + telephoneNumber: + description: The shopper's contact number. + type: string + type: + description: '**econtextvoucher**' + enum: + - econtext_seveneleven + - econtext_stores + type: string + required: + - type + - firstName + - lastName + - shopperEmail + - telephoneNumber + EntercashDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: entercash + description: '**entercash**' + type: string + required: + - type + - issuer ExternalPlatform: properties: integrator: @@ -2249,9 +2758,52 @@ components: type: array required: - accountScore + GiropayDetails: + properties: + type: + default: giropay + description: '**giropay**' + type: string + required: + - type + GooglePayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + googlePayCardNetwork: + description: '' + type: string + googlePayToken: + description: '' + type: string + type: + default: paywithgoogle + description: '**paywithgoogle**' + type: string + required: + - type + - googlePayToken + - googlePayCardNetwork + IdealDetails: + properties: + issuer: + description: The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it. + type: string + type: + default: ideal + description: '**ideal**' + type: string + required: + - type + - issuer InputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object details: @@ -2304,6 +2856,38 @@ components: name: description: The display name. type: string + KlarnaDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + token: + type: string + type: + description: The payment method type. + type: string + required: + - type + LianLianPayDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber LineItem: properties: amountExcludingTax: @@ -2340,6 +2924,38 @@ components: description: 'Tax percentage, in minor units.' format: int64 type: integer + MasterpassDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + masterpassTransactionId: + description: The Masterpass transaction ID. + type: string + type: + default: masterpass + description: '**masterpass**' + type: string + required: + - type + - masterpassTransactionId + MbwayDetails: + properties: + shopperEmail: + description: '' + type: string + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber + - shopperEmail MerchantDevice: properties: os: @@ -2410,6 +3026,25 @@ components: reorderItems: description: Indicator for whether the shopper has already purchased the same items in the past. type: boolean + MobilePayDetails: + properties: + type: + default: mobilepay + description: '**mobilepay**' + type: string + required: + - type + MolPayDetails: + properties: + issuer: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer Name: properties: firstName: @@ -2438,9 +3073,187 @@ components: - firstName - lastName - gender + NexoRouterDetails: + properties: + type: + description: The payment method type. + type: string + uniqueTerminalId: + type: string + required: + - type + OpenInvoiceDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + type: + description: The payment method type. + type: string + required: + - type + PayPalDetails: + properties: + orderID: + type: string + payerID: + type: string + subtype: + description: The type of flow to initiate. + enum: + - redirect + - sdk + type: string + type: + default: paypal + description: '**paypal**' + type: string + required: + - type + PaymentDetails: + properties: + type: + description: The payment method type. + type: string + required: + - type + PaymentLinkResource: + properties: + allowedPaymentMethods: + description: |- + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"allowedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + amount: + description: The payment amount and currency. + $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).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: The address where to send the invoice. + $ref: '#/components/schemas/Address' + blockedPaymentMethods: + description: |- + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"blockedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + countryCode: + description: The shopper's two-letter country code. + type: string + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + description: + description: |- + A short description visible on the payment page. + Maximum length: 280 characters. + type: string + expiresAt: + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' + type: string + id: + description: A unique identifier of the payment link. + readOnly: true + type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array + merchantAccount: + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: A reference that is used to uniquely identify the payment in future communications about the payment status. + type: string + returnUrl: + description: |- + Website URL used for redirection after payment is completed. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. + type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean + shopperEmail: + description: The shopper's email address. + type: string + shopperLocale: + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' + type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' + shopperReference: + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + status: + description: |- + Status of the payment link. Possible values: + * **active** + * **paid** + * **expired** + enum: + - active + - expired + - paid + type: string + store: + description: 'The physical store, for which this payment is processed.' + type: string + url: + description: The URL at which the shopper can complete the payment. + readOnly: true + type: string + required: + - amount + - reference + - merchantAccount + - id + - url + - status PaymentMethod: properties: configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -2496,10 +3309,6 @@ components: PaymentMethodsRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2513,6 +3322,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). @@ -2557,6 +3371,11 @@ components: The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). > This field is required for recurring payments. type: string + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string required: - merchantAccount - reference @@ -2585,10 +3404,6 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/AccountInfo' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2602,6 +3417,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. amount: description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' @@ -2616,7 +3436,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -2717,13 +3537,18 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/MerchantRiskIndicator' metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' + order: + description: Contains the order information which is required for partial payments. + $ref: '#/components/schemas/CheckoutOrder' orderReference: description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' type: string @@ -2734,8 +3559,41 @@ components: Set this parameter to the origin URL of the page that you are loading the 3D Secure Component from. type: string paymentMethod: - description: The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`). - type: object + description: The type and required details of a payment method to use. + oneOf: + - $ref: '#/components/schemas/ApplePayDetails' + - $ref: '#/components/schemas/SamsungPayDetails' + - $ref: '#/components/schemas/AndroidPayDetails' + - $ref: '#/components/schemas/VisaCheckoutDetails' + - $ref: '#/components/schemas/GooglePayDetails' + - $ref: '#/components/schemas/AmazonPayDetails' + - $ref: '#/components/schemas/MasterpassDetails' + - $ref: '#/components/schemas/PaymentDetails' + - $ref: '#/components/schemas/CardDetails' + - $ref: '#/components/schemas/AchDetails' + - $ref: '#/components/schemas/KlarnaDetails' + - $ref: '#/components/schemas/IdealDetails' + - $ref: '#/components/schemas/PayPalDetails' + - $ref: '#/components/schemas/SepaDirectDebitDetails' + - $ref: '#/components/schemas/QiwiWalletDetails' + - $ref: '#/components/schemas/VippsDetails' + - $ref: '#/components/schemas/MobilePayDetails' + - $ref: '#/components/schemas/WeChatPayDetails' + - $ref: '#/components/schemas/WeChatPayMiniProgramDetails' + - $ref: '#/components/schemas/LianLianPayDetails' + - $ref: '#/components/schemas/MolPayDetails' + - $ref: '#/components/schemas/BillDeskOnlineDetails' + - $ref: '#/components/schemas/BillDeskWalletDetails' + - $ref: '#/components/schemas/DotpayDetails' + - $ref: '#/components/schemas/EntercashDetails' + - $ref: '#/components/schemas/OpenInvoiceDetails' + - $ref: '#/components/schemas/DokuDetails' + - $ref: '#/components/schemas/EcontextVoucherDetails' + - $ref: '#/components/schemas/DragonpayDetails' + - $ref: '#/components/schemas/GiropayDetails' + - $ref: '#/components/schemas/NexoRouterDetails' + - $ref: '#/components/schemas/BlikDetails' + - $ref: '#/components/schemas/MbwayDetails' recurringExpiry: description: Date after which no further authorisations shall be performed. Only for 3D Secure 2. type: string @@ -2747,8 +3605,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. - * `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. enum: - CardOnFile - Subscription @@ -2767,7 +3625,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -2813,16 +3679,23 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string telephoneNumber: description: The shopper's telephone number. type: string @@ -2841,16 +3714,19 @@ components: PaymentResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' authentication: + additionalProperties: + type: string description: 'Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ' type: object details: @@ -2861,7 +3737,12 @@ components: fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' outputDetails: + additionalProperties: + type: string description: Contains the details that will be presented to the shopper. type: object paymentData: @@ -2878,16 +3759,18 @@ components: $ref: '#/components/schemas/Redirect' refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -2895,7 +3778,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2916,10 +3799,6 @@ components: PaymentSetupRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2933,9 +3812,14 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- - List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"allowedPaymentMethods":["ideal","giropay"]` items: @@ -2954,7 +3838,7 @@ components: $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- - List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"blockedPaymentMethods":["ideal","giropay"]` items: @@ -3054,6 +3938,8 @@ components: > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. type: string metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". @@ -3080,7 +3966,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -3129,13 +4023,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -3178,21 +4074,25 @@ components: PaymentVerificationResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' merchantReference: description: A unique value that you provided in the initial `/paymentSession` request as a `reference` field. type: string + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' paymentMethod: description: The payment method used in the transaction. type: string @@ -3204,16 +4104,18 @@ components: type: string refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -3221,7 +4123,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -3249,6 +4151,18 @@ components: - merchantReference - paymentMethod - shopperLocale + QiwiWalletDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: qiwiwallet + description: '**qiwiwallet**' + type: string + required: + - type + - telephoneNumber Recurring: properties: contract: @@ -3283,6 +4197,8 @@ components: RecurringDetail: properties: configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -3320,6 +4236,8 @@ components: Redirect: properties: data: + additionalProperties: + type: string description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' type: object method: @@ -3334,6 +4252,504 @@ components: url: description: 'The URL, to which you must redirect a shopper to complete a payment.' type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string RiskData: properties: clientData: @@ -3353,6 +4769,39 @@ components: 'y': description: The `y` value as received from the 3D Secure 2 SDK. type: string + SamsungPayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + samsungPayToken: + description: '' + type: string + type: + default: samsungpay + description: '**samsungpay**' + type: string + required: + - type + - samsungPayToken + SepaDirectDebitDetails: + properties: + iban: + description: The International Bank Account Number (IBAN). + type: string + ownerName: + description: The name of the bank account holder. + type: string + type: + default: sepadirectdebit + description: '**sepadirectdebit**' + type: string + required: + - type + - iban + - ownerName ServiceError: properties: errorCode: @@ -3483,6 +4932,8 @@ components: SubInputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object items: @@ -3505,6 +4956,7 @@ components: ThreeDS2RequestData: properties: authenticationOnly: + default: 'false' description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' type: boolean challengeIndicator: @@ -3534,6 +4986,7 @@ components: Optional and only for `deviceChannel` **app**. $ref: '#/components/schemas/DeviceRenderOptions' messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -3555,6 +5008,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -3590,7 +5044,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -3608,7 +5062,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -3629,3 +5083,73 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + UpdatePaymentLinkRequest: + properties: + status: + description: |- + Status of the payment link. Possible values: + * **expired** + enum: + - expired + type: string + required: + - status + VippsDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: vipps + description: '**vipps**' + type: string + required: + - type + - telephoneNumber + VisaCheckoutDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + type: + default: visacheckout + description: '**visacheckout**' + type: string + visaCheckoutCallId: + description: '' + type: string + required: + - type + - visaCheckoutCallId + WeChatPayDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + WeChatPayMiniProgramDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/CheckoutService-v46.yaml b/yaml/CheckoutService-v46.yaml index 8904ee8..23dc548 100644 --- a/yaml/CheckoutService-v46.yaml +++ b/yaml/CheckoutService-v46.yaml @@ -1,11 +1,11 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://checkout-test.adyen.com/v46' info: version: '46' title: Adyen Checkout API description: |- - Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort). + Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort). This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout). @@ -33,9 +33,101 @@ info: url: 'https://support.adyen.com/' email: support@adyen.com x-groups: - - API Integration - - SDK Integration + - Payments + - Payment links + - Orders + - Classic Checkout SDK + - Utility paths: + /orders: + post: + summary: Creates an order for the given amount. + description: Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods. + operationId: post-orders + x-groupName: Orders + x-sortIndex: 2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /orders/cancel: + post: + summary: Cancels the given order. + description: 'Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.' + operationId: post-orders-cancel + x-groupName: Orders + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /originKeys: + post: + summary: Create originKey values for one or more merchant domains. + description: |- + This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. + > Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. + operationId: post-originKeys + x-groupName: Utility + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentLinks: post: summary: Creates a payment link. @@ -43,8 +135,9 @@ paths: Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request. For more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api). - x-groupName: API Integration - x-sortIndex: 8 + operationId: post-paymentLinks + x-groupName: Payment links + x-sortIndex: 1 requestBody: content: application/json: @@ -55,7 +148,75 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreatePaymentLinkResponse' + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '201': + description: Created - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + '/paymentLinks/{linkId}': + get: + summary: Retrieve a payment link. + description: Retrieves the payment link details using the payment link `id`. + operationId: get-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 2 + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + patch: + summary: Update the status of a payment link + description: 'Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).' + operationId: patch-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePaymentLinkRequest' + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. @@ -74,7 +235,8 @@ paths: Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`). Although we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week. - x-groupName: API Integration + operationId: post-paymentMethods + x-groupName: Payments x-sortIndex: 1 requestBody: content: @@ -98,6 +260,35 @@ paths: description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. + /paymentMethods/balance: + post: + summary: Returns the available balance on gift card. + description: 'Retrieves the balance remaining on a shopper''s gift card. To check a gift card''s balance, make a POST `/paymentMethods/balance` call and include the gift card''s details inside a `paymentMethod` object.' + operationId: post-paymentMethods-balance + x-groupName: Orders + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentSession: post: summary: Creates a payment session. @@ -105,7 +296,8 @@ paths: Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-paymentSession + x-groupName: Classic Checkout SDK x-sortIndex: 1 requestBody: content: @@ -133,10 +325,11 @@ paths: post: summary: Starts a transaction. description: |- - Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request: - * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`). - * For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. - x-groupName: API Integration + Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request: + * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**). + * For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. + operationId: post-payments + x-groupName: Payments x-sortIndex: 2 requestBody: content: @@ -169,7 +362,8 @@ paths: The exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request. In addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API. - x-groupName: API Integration + operationId: post-payments-details + x-groupName: Payments x-sortIndex: 3 requestBody: content: @@ -200,7 +394,8 @@ paths: Verifies the payment result using the payload returned from the Checkout SDK. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-payments-result + x-groupName: Classic Checkout SDK x-sortIndex: 2 requestBody: content: @@ -352,8 +547,418 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + AchDetails: + properties: + bankAccountNumber: + description: The bank account number (without separators). + type: string + bankLocationId: + description: The bank routing number of the account. The field value is `nil` in most cases. + type: string + encryptedBankAccountNumber: + description: Encrypted bank account number. The bank account number (without separators). + type: string + encryptedBankLocationId: + description: Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases. + type: string + ownerName: + description: |- + The name of the bank account holder. + If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: + * χ12 is converted to ch12. + * üA is converted to euA. + * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. + After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: + * John17 - allowed. + * J17 - allowed. + * 171 - not allowed. + * John-7 - allowed. + > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. + type: string + type: + default: ach + description: '**ach**' + type: string + required: + - type + - bankAccountNumber + AdditionalData3DSecure: + properties: + allow3DS2: + description: |- + This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: + * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + type: string + scaExemption: + description: |- + Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + type: string authorisationType: description: |- Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types). @@ -378,431 +983,89 @@ components: Submit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: description: |- - This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: - * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - required: - - airline.passenger_name - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -811,84 +1074,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -899,60 +1191,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -973,9 +1235,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -985,14 +1265,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -1005,34 +1298,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1045,21 +1344,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1067,60 +1360,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1128,12 +1421,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1146,8 +1445,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1157,7 +1489,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1169,34 +1501,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1205,11 +1509,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1220,6 +1519,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1232,20 +1546,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1267,480 +1571,6 @@ components: visacheckout.callId: description: The Visa Checkout Call ID retrieved from the SDK. type: string - ResponseAdditionalDataCommon: - properties: - acquirerAccountCode: - description: |- - The name of the Adyen acquirer account. - - Example: PayPalSandbox_TestAcquirer - > Only relevant for PayPal transactions. - type: string - acquirerCode: - description: |- - The name of the acquirer processing the payment request. - - Example: TestPmmAcquirer - type: string - acquirerReference: - description: |- - The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. - - Example: 7C9N3FNBKT9 - type: string - alias: - description: |- - The Adyen alias of the card. - - Example: H167852639363479 - type: string - aliasType: - description: |- - The type of the card alias. - - Example: Default - type: string - authCode: - description: |- - Authorisation code: - * When the payment is authorised successfully, this field holds the authorisation code for the payment. - * When the payment is not authorised, this field is empty. - - Example: 58747 - type: string - authorisedAmountCurrency: - description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' - type: string - authorisedAmountValue: - description: |- - Value of the amount authorised. - - This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - type: string - avsResult: - description: |- - The AVS result code of the payment, which provides information about the outcome of the AVS check. - - For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). - type: string - avsResultRaw: - description: |- - Raw AVS result received from the acquirer, where available. - - Example: D - type: string - bic: - description: |- - BIC of a bank account. - - Example: TESTNL01 - > Only relevant for SEPA Direct Debit transactions. - type: string - dsTransID: - description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. - type: string - eci: - description: |- - The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. - - Example: 02 - type: string - expiryDate: - description: |- - The expiry date on the card. - - Example: 6/2016 - > Returned only in case of a card payment. - type: string - extraCostsCurrency: - description: |- - The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. - - Example: EUR - type: string - extraCostsValue: - description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. - type: string - 'fraudCheck-[itemNr]-[FraudCheckname]': - description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. - type: string - fundingSource: - description: |- - Information regarding the funding type of the card. The possible return values are: - * CHARGE - * CREDIT - * DEBIT - * PREPAID - * PREPAID_RELOADABLE - * PREPAID_NONRELOADABLE - * DEFFERED_DEBIT - > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - - For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. - type: string - fundsAvailability: - description: |- - Indicates availability of funds. - - Visa: - * "I" (fast funds are supported) - * "N" (otherwise) - - Mastercard: - * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) - * "N" (otherwise) - - > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". - type: string - inferredRefusalReason: - description: |- - Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". - - Possible values: - * 3D Secure Mandated - * Closed Account - * ContAuth Not Supported - * CVC Mandated - * Ecommerce Not Allowed - * Crossborder Not Supported - * Card Updated - * Low Authrate Bin - * Non-reloadable prepaid card - type: string - issuerCountry: - description: |- - The issuing country of the card based on the BIN list that Adyen maintains. - - Example: JP - type: string - mcBankNetReferenceNumber: - description: |- - The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. - > Contact Support Team to enable this field. - type: string - networkTxReference: - description: |- - Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. - - This contains either the Mastercard Trace ID or the Visa Transaction ID. - type: string - ownerName: - description: |- - The owner name of a bank account. - - Only relevant for SEPA Direct Debit transactions. - type: string - paymentAccountReference: - description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. - type: string - paymentMethodVariant: - description: |- - The Adyen sub-variant of the payment method used for the payment request. - - For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). - - Example: mcpro - type: string - payoutEligible: - description: |- - Indicates whether a payout is eligible or not for this card. - - Visa: - * "Y" - * "N" - - Mastercard: - * "Y" (domestic and cross-border) - * "D" (only domestic) - * "N" (no MoneySend) - * "U" (unknown) - type: string - realtimeAccountUpdaterStatus: - description: |- - The response code from the Real Time Account Updater service. - - Possible return values are: - * CardChanged - * CardExpiryChanged - * CloseAccount - * ContactCardAccountHolder - type: string - receiptFreeText: - description: Message to be displayed on the terminal. - type: string - recurring.firstPspReference: - description: |- - The `pspReference`, of the first recurring payment that created the recurring detail. - - This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - type: string - recurring.recurringDetailReference: - description: The reference that uniquely identifies the recurring transaction. - type: string - referred: - description: |- - If the payment is referred, this field is set to true. - - This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. - - Example: true - type: string - refusalReasonRaw: - description: |- - Raw refusal reason received from the acquirer, where available. - - Example: AUTHORISED - type: string - shopperInteraction: - description: |- - The shopper interaction type of the payment request. - - Example: Ecommerce - type: string - shopperReference: - description: |- - The shopperReference passed in the payment request. - - Example: AdyenTestShopperXX - type: string - terminalId: - description: |- - The terminal ID used in a point-of-sale payment. - - Example: 06022622 - type: string - threeDAuthenticated: - description: |- - A Boolean value indicating whether 3DS authentication was completed on this payment. - - Example: true - type: string - threeDAuthenticatedResponse: - description: |- - The raw 3DS authentication result from the card issuer. - - Example: N - type: string - threeDOffered: - description: |- - A Boolean value indicating whether 3DS was offered for this payment. - - Example: true - type: string - threeDOfferedResponse: - description: |- - The raw enrollment result from the 3DS directory services of the card schemes. - - Example: Y - type: string - threeDSVersion: - description: The 3D Secure 2 version. - type: string - visaTransactionId: - description: |- - The `visaTransactionId`, has a fixed length of 15 numeric characters. - > Contact Support Team to enable this field. - type: string - xid: - description: |- - The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. - - Example: ODgxNDc2MDg2MDExODk5MAAAAAA= - type: string - ResponseAdditionalDataBillingAddress: - properties: - billingAddress.city: - description: The billing address city passed in the payment request. - type: string - billingAddress.country: - description: |- - The billing address country passed in the payment request. - - Example: NL - type: string - billingAddress.houseNumberOrName: - description: The billing address house number or name passed in the payment request. - type: string - billingAddress.postalCode: - description: |- - The billing address postal code passed in the payment request. - - Example: 1011 DJ - type: string - billingAddress.stateOrProvince: - description: |- - The billing address state or province passed in the payment request. - - Example: NH - type: string - billingAddress.street: - description: The billing address street passed in the payment request. - type: string - ResponseAdditionalDataCard: - properties: - cardBin: - description: |- - The Bank Identification Number of a credit card, which is the first six digits of a card number. - - Example: 521234 - type: string - cardHolderName: - description: The cardholder name passed in the payment request. - type: string - cardIssuingBank: - description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. - type: string - cardIssuingCountry: - description: |- - The country where the card was issued. - - Example: US - type: string - cardIssuingCurrency: - description: |- - The currency in which the card is issued, if this information is available. - - Example: USD - type: string - cardPaymentMethod: - description: |- - The card payment method used for the transaction. - - Example: amex - type: string - cardSummary: - description: |- - The last four digits of a card number. - > Returned only in case of a card payment. - type: string - ResponseAdditionalDataDeliveryAddress: - properties: - deliveryAddress.city: - description: The delivery address city passed in the payment request. - type: string - deliveryAddress.country: - description: |- - The delivery address country passed in the payment request. - - Example: NL - type: string - deliveryAddress.houseNumberOrName: - description: The delivery address house number or name passed in the payment request. - type: string - deliveryAddress.postalCode: - description: |- - The delivery address postal code passed in the payment request. - - Example: 1011 DJ - type: string - deliveryAddress.stateOrProvince: - description: |- - The delivery address state or province passed in the payment request. - - Example: NH - type: string - deliveryAddress.street: - description: The delivery address street passed in the payment request. - type: string - ResponseAdditionalDataInstallments: - properties: - installments.value: - description: |- - The number of installments that the payment amount should be charged with. - - Example: 5 - > Only relevant for card payments in countries that support installments. - type: string - installmentPaymentData.installmentType: - description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. - type: string - installmentPaymentData.paymentOptions: - description: |- - Possible values: - * PayInInstallmentsOnly - * PayInFullOnly - * PayInFullOrInstallments - type: string - 'installmentPaymentData.option[itemNr].numberOfInstallments': - description: Total number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].interestRate': - description: Interest rate for the installment period. - type: string - 'installmentPaymentData.option[itemNr].installmentFee': - description: Installment fee amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].annualPercentageRate': - description: Annual interest rate. - type: string - 'installmentPaymentData.option[itemNr].firstInstallmentAmount': - description: First Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': - description: Subsequent Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': - description: Minimum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': - description: Maximum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].totalAmountDue': - description: Total amount in minor units. - type: string - ResponseAdditionalDataPayPal: - properties: - paypalPayerStatus: - description: |- - The status of the buyer's PayPal account. - - Example: unverified - type: string - paypalPayerResidenceCountry: - description: |- - The buyer's country of residence. - - Example: NL - type: string - paypalPayerId: - description: |- - The buyer's PayPal ID. - - Example: LF5HCWWBRV2KL - type: string - paypalEmail: - description: |- - The buyer's PayPal account email address. - - Example: paypaltest@adyen.com - type: string - paypalProtectionEligibility: - description: |- - The eligibility for PayPal Seller Protection for this payment. - - Example: Ineligible - type: string - ResponseAdditionalDataSepa: - properties: - sepadirectdebit.dateOfSignature: - description: |- - The transaction signature date. - - Format: yyyy-MM-dd - type: string - sepadirectdebit.mandateId: - description: Its value corresponds to the pspReference value of the transaction. - type: string - sepadirectdebit.sequenceType: - description: |- - This field can take one of the following values: - * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. - * First: (FRST) Initial/first collection in a series of direct debit instructions. - * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. - * Final: (FNAL) Last/final collection in a series of direct debit instructions. - - Example: OOFF - type: string Address: properties: city: @@ -1773,6 +1603,18 @@ components: - city - postalCode - country + AmazonPayDetails: + properties: + amazonPayToken: + type: string + checkoutSessionId: + type: string + type: + default: amazonpay + description: '**amazonpay**' + type: string + required: + - type Amount: properties: currency: @@ -1790,6 +1632,34 @@ components: required: - value - currency + AndroidPayDetails: + properties: + androidPayToken: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - androidPayToken + ApplePayDetails: + properties: + applePayToken: + description: '' + type: string + fundingSource: + enum: + - credit + - debit + type: string + type: + default: applepay + description: '**applepay**' + type: string + required: + - type + - applePayToken ApplicationInfo: properties: adyenLibrary: @@ -1871,6 +1741,40 @@ components: taxId: description: The bank account holder's tax ID. type: string + BillDeskOnlineDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_online + description: '**billdesk_online**' + type: string + required: + - type + - issuer + BillDeskWalletDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_wallet + description: '**billdesk_wallet**' + type: string + required: + - type + - issuer + BlikDetails: + properties: + blikCode: + description: BLIK code consisting of 6 digits. + type: string + type: + description: '**blik**' + type: string + required: + - type BrowserInfo: properties: acceptHeader: @@ -1879,13 +1783,14 @@ components: minLength: 10 type: string colorDepth: - description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.' + description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.' format: int32 type: integer javaEnabled: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + default: 'true' description: Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present. type: boolean language: @@ -1978,6 +1883,487 @@ components: - expiryMonth - expiryYear - holderName + CardDetails: + properties: + cupsecureplus.smscode: + deprecated: true + type: string + cvc: + type: string + encryptedCardNumber: + description: '' + type: string + encryptedExpiryMonth: + description: '' + type: string + encryptedExpiryYear: + description: '' + type: string + expiryMonth: + type: string + expiryYear: + type: string + fundingSource: + enum: + - credit + - debit + type: string + holderName: + type: string + number: + type: string + type: + default: scheme + description: '**scheme**' + type: string + required: + - type + - encryptedCardNumber + - encryptedExpiryMonth + - encryptedExpiryYear + CheckoutBalanceCheckRequest: + properties: + accountInfo: + description: |- + Shopper account information for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/AccountInfo' + additionalAmount: + description: |- + If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification). + Required to be in the same currency as the `amount`. + $ref: '#/components/schemas/Amount' + additionalData: + anyOf: + - $ref: '#/components/schemas/AdditionalDataCommon' + - $ref: '#/components/schemas/AdditionalData3DSecure' + - $ref: '#/components/schemas/AdditionalDataAirline' + - $ref: '#/components/schemas/AdditionalDataCarRental' + - $ref: '#/components/schemas/AdditionalDataLevel23' + - $ref: '#/components/schemas/AdditionalDataLodging' + - $ref: '#/components/schemas/AdditionalDataOpenInvoice' + - $ref: '#/components/schemas/AdditionalDataRatepay' + - $ref: '#/components/schemas/AdditionalDataRetry' + - $ref: '#/components/schemas/AdditionalDataRisk' + - $ref: '#/components/schemas/AdditionalDataRiskStandalone' + - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. + amount: + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + $ref: '#/components/schemas/Amount' + applicationInfo: + description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: |- + The address where to send the invoice. + > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + $ref: '#/components/schemas/Address' + browserInfo: + description: |- + The shopper's browser information. + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + $ref: '#/components/schemas/BrowserInfo' + captureDelayHours: + description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' + format: int32 + type: integer + dateOfBirth: + description: |- + The shopper's date of birth. + + Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD + format: date-time + type: string + dccQuote: + description: The forex quote as returned in the response of the forex service. + $ref: '#/components/schemas/ForexQuote' + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + deliveryDate: + description: |- + The date and time the purchased goods should be delivered. + + Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD + + Example: 2017-07-17T13:42:40.428+01:00 + format: date-time + type: string + deviceFingerprint: + description: 'A string containing the shopper''s device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).' + type: string + fraudOffset: + description: An integer value that is added to the normal fraud score. The value can be either positive or negative. + format: int32 + type: integer + installments: + 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.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the transaction.' + type: string + merchantOrderReference: + description: |- + This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. + The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. + > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. + type: string + merchantRiskIndicator: + description: |- + Additional risk fields for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/MerchantRiskIndicator' + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". + type: object + orderReference: + description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' + type: string + paymentMethod: + additionalProperties: + type: string + description: The collection that contains the type of the payment method and its specific information. + type: object + recurring: + description: 'The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).' + $ref: '#/components/schemas/Recurring' + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: |- + The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. + If you need to provide multiple references for a transaction, separate them with hyphens ("-"). + Maximum length: 80 characters. + type: string + selectedBrand: + description: |- + Some payment methods require defining a value for this field to specify how to process the transaction. + + For the Bancontact payment method, it can be set to: + * `maestro` (default), to be processed like a Maestro card, or + * `bcmc`, to be processed like a Bancontact card. + type: string + selectedRecurringDetailReference: + description: The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. + type: string + sessionId: + description: A session ID used to identify a payment session. + type: string + shopperEmail: + description: |- + The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. + > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + type: string + shopperIP: + description: |- + The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). + > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). + type: string + shopperInteraction: + description: |- + Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. + For the web service API, Adyen assumes Ecommerce shopper interaction by default. + + This field has the following possible values: + * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. + * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). + * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. + * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. + enum: + - Ecommerce + - ContAuth + - Moto + - POS + type: string + shopperLocale: + description: The combination of a language code and a country code to specify the language to be used in the payment. + type: string + shopperName: + description: The shopper's full name and gender (if specified). + $ref: '#/components/schemas/Name' + shopperReference: + description: |- + The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). + > This field is required for recurring payments. + type: string + shopperStatement: + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. + type: string + socialSecurityNumber: + description: The shopper's social security number. + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string + telephoneNumber: + description: The shopper's telephone number. + type: string + threeDS2RequestData: + description: Request fields for 3D Secure 2. + $ref: '#/components/schemas/ThreeDS2RequestData' + totalsGroup: + description: 'The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).' + maxLength: 16 + minLength: 1 + type: string + trustedShopper: + description: Set to true if the payment should be routed to a trusted MID. + type: boolean + required: + - merchantAccount + - reference + - amount + - paymentMethod + CheckoutBalanceCheckResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + balance: + description: The balance for the payment method. + $ref: '#/components/schemas/Amount' + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - balance + CheckoutCancelOrderRequest: + properties: + merchantAccount: + description: The merchant account identifier that orderData belongs to. + type: string + order: + description: The order request object that contains a pspReference that represents the order and the matching encrypted order data. + $ref: '#/components/schemas/CheckoutOrder' + required: + - order + - merchantAccount + CheckoutCancelOrderResponse: + properties: + pspReference: + description: A unique reference of the cancellation request. + type: string + resultCode: + description: The result of the cancellation request. + type: string + required: + - pspReference + - resultCode + CheckoutCreateOrderRequest: + properties: + amount: + description: The total amount of the order. + $ref: '#/components/schemas/Amount' + expiresAt: + description: 'The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the order.' + type: string + reference: + description: A custom reference identifying the order. + type: string + required: + - merchantAccount + - amount + CheckoutCreateOrderResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + expiresAt: + description: The date that the order will expire. + type: string + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + orderData: + description: The encrypted data that will be used by merchant for adding payments to the order. + type: string + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + remainingAmount: + description: The remaining amount in the order. + $ref: '#/components/schemas/Amount' + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - remainingAmount + - expiresAt + - orderData + CheckoutOrder: + properties: + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + required: + - pspReference + - orderData + CheckoutOrderResponse: + properties: + expiresAt: + description: The expiry date for the order. + type: string + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + reference: + description: The merchant reference for the order. + type: string + remainingAmount: + description: The updated remaining amount. + $ref: '#/components/schemas/Amount' + required: + - pspReference + CheckoutUtilityRequest: + properties: + originDomains: + description: 'The list of origin domains, for which origin keys are requested.' + items: + type: string + type: array + required: + - originDomains + CheckoutUtilityResponse: + properties: + originKeys: + additionalProperties: + type: string + description: 'The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.' + type: object CommonField: properties: name: @@ -2041,12 +2427,13 @@ components: type: string type: array amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: The payment amount and currency. $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).' + $ref: '#/components/schemas/ApplicationInfo' billingAddress: - description: |- - The address where to send the invoice. - > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + description: The address where to send the invoice. $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- @@ -2057,72 +2444,95 @@ components: type: string type: array countryCode: - description: The shopper's country code. + description: The shopper's two-letter country code. type: string deliveryAddress: description: The address where the purchased goods should be delivered. $ref: '#/components/schemas/Address' description: description: |- - A short description visible on the Pay By Link page. + A short description visible on the payment page. Maximum length: 280 characters. type: string expiresAt: - description: 'The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.' + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: + * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit" + * Maximum 20 characters per key. When exceeding, the "178" error occurs: "Metadata key size exceeds limit" + * A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id + type: object + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile type: string reference: - description: |- - The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. - If you need to provide multiple references for a transaction, separate them with hyphens ("-"). - Maximum length: 80 characters. + description: A reference that is used to uniquely identify the payment in future communications about the payment status. type: string returnUrl: description: |- Website URL used for redirection after payment is completed. - If provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean shopperEmail: - description: |- - The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. - > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + description: The shopper's email address. type: string shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' type: string required: - - merchantAccount - - reference - amount - - countryCode - CreatePaymentLinkResponse: - properties: - amount: - description: The amount for which the Pay By Link URL was created. - $ref: '#/components/schemas/Amount' - expiresAt: - description: 'The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.' - type: string - reference: - description: The reference that was specified when the Pay By Link URL was created. - type: string - url: - description: The URL at which the shopper can complete the payment. - type: string - required: - reference - - expiresAt - - url + - merchantAccount DetailsRequest: properties: details: + additionalProperties: + type: string + deprecated: true description: Use this collection to submit the details that were returned as a result of the `/payments` call. type: object paymentData: @@ -2136,18 +2546,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -2165,6 +2577,103 @@ components: - text type: string type: array + DokuDetails: + properties: + firstName: + description: The shopper's first name. + type: string + infix: + type: string + lastName: + description: The shopper's last name. + type: string + ovoId: + type: string + shopperEmail: + description: The shopper's email. + type: string + type: + description: '**doku**' + enum: + - doku_mandiri_va + - doku_cimb_va + - doku_danamon_va + - doku_bni_va + - doku_permata_lite_atm + - doku_bri_va + - doku_bca_va + - doku_alfamart + - doku_indomaret + type: string + required: + - type + - firstName + - lastName + - shopperEmail + DotpayDetails: + properties: + issuer: + description: The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it. + type: string + type: + default: dotpay + description: '**dotpay**' + type: string + required: + - type + - issuer + DragonpayDetails: + properties: + issuer: + description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. + type: string + shopperEmail: + description: The shopper’s email address. + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer + EcontextVoucherDetails: + properties: + firstName: + description: The shopper's first name. + type: string + lastName: + description: The shopper's last name. + type: string + shopperEmail: + description: The shopper's email. + type: string + telephoneNumber: + description: The shopper's contact number. + type: string + type: + description: '**econtextvoucher**' + enum: + - econtext_seveneleven + - econtext_stores + type: string + required: + - type + - firstName + - lastName + - shopperEmail + - telephoneNumber + EntercashDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: entercash + description: '**entercash**' + type: string + required: + - type + - issuer ExternalPlatform: properties: integrator: @@ -2249,9 +2758,52 @@ components: type: array required: - accountScore + GiropayDetails: + properties: + type: + default: giropay + description: '**giropay**' + type: string + required: + - type + GooglePayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + googlePayCardNetwork: + description: '' + type: string + googlePayToken: + description: '' + type: string + type: + default: paywithgoogle + description: '**paywithgoogle**' + type: string + required: + - type + - googlePayToken + - googlePayCardNetwork + IdealDetails: + properties: + issuer: + description: The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it. + type: string + type: + default: ideal + description: '**ideal**' + type: string + required: + - type + - issuer InputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object details: @@ -2304,6 +2856,38 @@ components: name: description: The display name. type: string + KlarnaDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + token: + type: string + type: + description: The payment method type. + type: string + required: + - type + LianLianPayDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber LineItem: properties: amountExcludingTax: @@ -2340,6 +2924,38 @@ components: description: 'Tax percentage, in minor units.' format: int64 type: integer + MasterpassDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + masterpassTransactionId: + description: The Masterpass transaction ID. + type: string + type: + default: masterpass + description: '**masterpass**' + type: string + required: + - type + - masterpassTransactionId + MbwayDetails: + properties: + shopperEmail: + description: '' + type: string + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber + - shopperEmail MerchantDevice: properties: os: @@ -2410,6 +3026,25 @@ components: reorderItems: description: Indicator for whether the shopper has already purchased the same items in the past. type: boolean + MobilePayDetails: + properties: + type: + default: mobilepay + description: '**mobilepay**' + type: string + required: + - type + MolPayDetails: + properties: + issuer: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer Name: properties: firstName: @@ -2438,9 +3073,187 @@ components: - firstName - lastName - gender + NexoRouterDetails: + properties: + type: + description: The payment method type. + type: string + uniqueTerminalId: + type: string + required: + - type + OpenInvoiceDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + type: + description: The payment method type. + type: string + required: + - type + PayPalDetails: + properties: + orderID: + type: string + payerID: + type: string + subtype: + description: The type of flow to initiate. + enum: + - redirect + - sdk + type: string + type: + default: paypal + description: '**paypal**' + type: string + required: + - type + PaymentDetails: + properties: + type: + description: The payment method type. + type: string + required: + - type + PaymentLinkResource: + properties: + allowedPaymentMethods: + description: |- + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"allowedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + amount: + description: The payment amount and currency. + $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).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: The address where to send the invoice. + $ref: '#/components/schemas/Address' + blockedPaymentMethods: + description: |- + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"blockedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + countryCode: + description: The shopper's two-letter country code. + type: string + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + description: + description: |- + A short description visible on the payment page. + Maximum length: 280 characters. + type: string + expiresAt: + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' + type: string + id: + description: A unique identifier of the payment link. + readOnly: true + type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array + merchantAccount: + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: A reference that is used to uniquely identify the payment in future communications about the payment status. + type: string + returnUrl: + description: |- + Website URL used for redirection after payment is completed. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. + type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean + shopperEmail: + description: The shopper's email address. + type: string + shopperLocale: + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' + type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' + shopperReference: + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + status: + description: |- + Status of the payment link. Possible values: + * **active** + * **paid** + * **expired** + enum: + - active + - expired + - paid + type: string + store: + description: 'The physical store, for which this payment is processed.' + type: string + url: + description: The URL at which the shopper can complete the payment. + readOnly: true + type: string + required: + - amount + - reference + - merchantAccount + - id + - url + - status PaymentMethod: properties: configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -2496,10 +3309,6 @@ components: PaymentMethodsRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2513,6 +3322,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). @@ -2557,6 +3371,11 @@ components: The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). > This field is required for recurring payments. type: string + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string required: - merchantAccount - reference @@ -2585,10 +3404,6 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/AccountInfo' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2602,6 +3417,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. amount: description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' @@ -2616,7 +3436,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -2717,13 +3537,18 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/MerchantRiskIndicator' metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' + order: + description: Contains the order information which is required for partial payments. + $ref: '#/components/schemas/CheckoutOrder' orderReference: description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' type: string @@ -2734,8 +3559,41 @@ components: Set this parameter to the origin URL of the page that you are loading the 3D Secure Component from. type: string paymentMethod: - description: The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`). - type: object + description: The type and required details of a payment method to use. + oneOf: + - $ref: '#/components/schemas/ApplePayDetails' + - $ref: '#/components/schemas/SamsungPayDetails' + - $ref: '#/components/schemas/AndroidPayDetails' + - $ref: '#/components/schemas/VisaCheckoutDetails' + - $ref: '#/components/schemas/GooglePayDetails' + - $ref: '#/components/schemas/AmazonPayDetails' + - $ref: '#/components/schemas/MasterpassDetails' + - $ref: '#/components/schemas/PaymentDetails' + - $ref: '#/components/schemas/CardDetails' + - $ref: '#/components/schemas/AchDetails' + - $ref: '#/components/schemas/KlarnaDetails' + - $ref: '#/components/schemas/IdealDetails' + - $ref: '#/components/schemas/PayPalDetails' + - $ref: '#/components/schemas/SepaDirectDebitDetails' + - $ref: '#/components/schemas/QiwiWalletDetails' + - $ref: '#/components/schemas/VippsDetails' + - $ref: '#/components/schemas/MobilePayDetails' + - $ref: '#/components/schemas/WeChatPayDetails' + - $ref: '#/components/schemas/WeChatPayMiniProgramDetails' + - $ref: '#/components/schemas/LianLianPayDetails' + - $ref: '#/components/schemas/MolPayDetails' + - $ref: '#/components/schemas/BillDeskOnlineDetails' + - $ref: '#/components/schemas/BillDeskWalletDetails' + - $ref: '#/components/schemas/DotpayDetails' + - $ref: '#/components/schemas/EntercashDetails' + - $ref: '#/components/schemas/OpenInvoiceDetails' + - $ref: '#/components/schemas/DokuDetails' + - $ref: '#/components/schemas/EcontextVoucherDetails' + - $ref: '#/components/schemas/DragonpayDetails' + - $ref: '#/components/schemas/GiropayDetails' + - $ref: '#/components/schemas/NexoRouterDetails' + - $ref: '#/components/schemas/BlikDetails' + - $ref: '#/components/schemas/MbwayDetails' recurringExpiry: description: Date after which no further authorisations shall be performed. Only for 3D Secure 2. type: string @@ -2747,8 +3605,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. - * `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. enum: - CardOnFile - Subscription @@ -2767,7 +3625,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -2813,16 +3679,23 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string telephoneNumber: description: The shopper's telephone number. type: string @@ -2841,16 +3714,19 @@ components: PaymentResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' authentication: + additionalProperties: + type: string description: 'Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ' type: object details: @@ -2861,7 +3737,12 @@ components: fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' outputDetails: + additionalProperties: + type: string description: Contains the details that will be presented to the shopper. type: object paymentData: @@ -2878,16 +3759,18 @@ components: $ref: '#/components/schemas/Redirect' refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -2895,7 +3778,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -2916,10 +3799,6 @@ components: PaymentSetupRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2933,9 +3812,14 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- - List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"allowedPaymentMethods":["ideal","giropay"]` items: @@ -2954,7 +3838,7 @@ components: $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- - List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"blockedPaymentMethods":["ideal","giropay"]` items: @@ -3054,6 +3938,8 @@ components: > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. type: string metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". @@ -3080,7 +3966,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -3129,13 +4023,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -3178,21 +4074,25 @@ components: PaymentVerificationResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' merchantReference: description: A unique value that you provided in the initial `/paymentSession` request as a `reference` field. type: string + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' paymentMethod: description: The payment method used in the transaction. type: string @@ -3204,16 +4104,18 @@ components: type: string refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -3221,7 +4123,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -3249,6 +4151,18 @@ components: - merchantReference - paymentMethod - shopperLocale + QiwiWalletDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: qiwiwallet + description: '**qiwiwallet**' + type: string + required: + - type + - telephoneNumber Recurring: properties: contract: @@ -3283,6 +4197,8 @@ components: RecurringDetail: properties: configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -3320,6 +4236,8 @@ components: Redirect: properties: data: + additionalProperties: + type: string description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' type: object method: @@ -3334,6 +4252,504 @@ components: url: description: 'The URL, to which you must redirect a shopper to complete a payment.' type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string RiskData: properties: clientData: @@ -3353,6 +4769,39 @@ components: 'y': description: The `y` value as received from the 3D Secure 2 SDK. type: string + SamsungPayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + samsungPayToken: + description: '' + type: string + type: + default: samsungpay + description: '**samsungpay**' + type: string + required: + - type + - samsungPayToken + SepaDirectDebitDetails: + properties: + iban: + description: The International Bank Account Number (IBAN). + type: string + ownerName: + description: The name of the bank account holder. + type: string + type: + default: sepadirectdebit + description: '**sepadirectdebit**' + type: string + required: + - type + - iban + - ownerName ServiceError: properties: errorCode: @@ -3483,6 +4932,8 @@ components: SubInputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object items: @@ -3505,6 +4956,7 @@ components: ThreeDS2RequestData: properties: authenticationOnly: + default: 'false' description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' type: boolean challengeIndicator: @@ -3534,6 +4986,7 @@ components: Optional and only for `deviceChannel` **app**. $ref: '#/components/schemas/DeviceRenderOptions' messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -3555,6 +5008,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -3590,7 +5044,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -3608,7 +5062,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -3632,3 +5086,73 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + UpdatePaymentLinkRequest: + properties: + status: + description: |- + Status of the payment link. Possible values: + * **expired** + enum: + - expired + type: string + required: + - status + VippsDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: vipps + description: '**vipps**' + type: string + required: + - type + - telephoneNumber + VisaCheckoutDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + type: + default: visacheckout + description: '**visacheckout**' + type: string + visaCheckoutCallId: + description: '' + type: string + required: + - type + - visaCheckoutCallId + WeChatPayDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + WeChatPayMiniProgramDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/CheckoutService-v49.yaml b/yaml/CheckoutService-v49.yaml index 390d46a..6580398 100644 --- a/yaml/CheckoutService-v49.yaml +++ b/yaml/CheckoutService-v49.yaml @@ -1,11 +1,11 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://checkout-test.adyen.com/v49' info: version: '49' title: Adyen Checkout API description: |- - Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort). + Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort). This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout). @@ -33,9 +33,101 @@ info: url: 'https://support.adyen.com/' email: support@adyen.com x-groups: - - API Integration - - SDK Integration + - Payments + - Payment links + - Orders + - Classic Checkout SDK + - Utility paths: + /orders: + post: + summary: Creates an order for the given amount. + description: Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods. + operationId: post-orders + x-groupName: Orders + x-sortIndex: 2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /orders/cancel: + post: + summary: Cancels the given order. + description: 'Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.' + operationId: post-orders-cancel + x-groupName: Orders + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /originKeys: + post: + summary: Create originKey values for one or more merchant domains. + description: |- + This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. + > Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. + operationId: post-originKeys + x-groupName: Utility + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentLinks: post: summary: Creates a payment link. @@ -43,8 +135,9 @@ paths: Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request. For more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api). - x-groupName: API Integration - x-sortIndex: 8 + operationId: post-paymentLinks + x-groupName: Payment links + x-sortIndex: 1 requestBody: content: application/json: @@ -55,7 +148,75 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreatePaymentLinkResponse' + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '201': + description: Created - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + '/paymentLinks/{linkId}': + get: + summary: Retrieve a payment link. + description: Retrieves the payment link details using the payment link `id`. + operationId: get-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 2 + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + patch: + summary: Update the status of a payment link + description: 'Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).' + operationId: patch-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePaymentLinkRequest' + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. @@ -74,7 +235,8 @@ paths: Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`). Although we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week. - x-groupName: API Integration + operationId: post-paymentMethods + x-groupName: Payments x-sortIndex: 1 requestBody: content: @@ -98,6 +260,35 @@ paths: description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. + /paymentMethods/balance: + post: + summary: Returns the available balance on gift card. + description: 'Retrieves the balance remaining on a shopper''s gift card. To check a gift card''s balance, make a POST `/paymentMethods/balance` call and include the gift card''s details inside a `paymentMethod` object.' + operationId: post-paymentMethods-balance + x-groupName: Orders + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentSession: post: summary: Creates a payment session. @@ -105,7 +296,8 @@ paths: Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-paymentSession + x-groupName: Classic Checkout SDK x-sortIndex: 1 requestBody: content: @@ -133,10 +325,11 @@ paths: post: summary: Starts a transaction. description: |- - Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request: - * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`). - * For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. - x-groupName: API Integration + Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request: + * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**). + * For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. + operationId: post-payments + x-groupName: Payments x-sortIndex: 2 requestBody: content: @@ -169,7 +362,8 @@ paths: The exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request. In addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API. - x-groupName: API Integration + operationId: post-payments-details + x-groupName: Payments x-sortIndex: 3 requestBody: content: @@ -200,7 +394,8 @@ paths: Verifies the payment result using the payload returned from the Checkout SDK. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-payments-result + x-groupName: Classic Checkout SDK x-sortIndex: 2 requestBody: content: @@ -352,8 +547,418 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + AchDetails: + properties: + bankAccountNumber: + description: The bank account number (without separators). + type: string + bankLocationId: + description: The bank routing number of the account. The field value is `nil` in most cases. + type: string + encryptedBankAccountNumber: + description: Encrypted bank account number. The bank account number (without separators). + type: string + encryptedBankLocationId: + description: Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases. + type: string + ownerName: + description: |- + The name of the bank account holder. + If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: + * χ12 is converted to ch12. + * üA is converted to euA. + * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. + After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: + * John17 - allowed. + * J17 - allowed. + * 171 - not allowed. + * John-7 - allowed. + > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. + type: string + type: + default: ach + description: '**ach**' + type: string + required: + - type + - bankAccountNumber + AdditionalData3DSecure: + properties: + allow3DS2: + description: |- + This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: + * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + type: string + scaExemption: + description: |- + Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + type: string authorisationType: description: |- Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types). @@ -378,431 +983,89 @@ components: Submit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: description: |- - This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: - * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - required: - - airline.passenger_name - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -811,84 +1074,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -899,60 +1191,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -973,9 +1235,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -985,14 +1265,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -1005,34 +1298,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1045,21 +1344,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1067,60 +1360,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1128,12 +1421,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1146,8 +1445,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1157,7 +1489,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1169,34 +1501,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1205,11 +1509,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1220,6 +1519,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1232,20 +1546,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1267,480 +1571,6 @@ components: visacheckout.callId: description: The Visa Checkout Call ID retrieved from the SDK. type: string - ResponseAdditionalDataCommon: - properties: - acquirerAccountCode: - description: |- - The name of the Adyen acquirer account. - - Example: PayPalSandbox_TestAcquirer - > Only relevant for PayPal transactions. - type: string - acquirerCode: - description: |- - The name of the acquirer processing the payment request. - - Example: TestPmmAcquirer - type: string - acquirerReference: - description: |- - The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. - - Example: 7C9N3FNBKT9 - type: string - alias: - description: |- - The Adyen alias of the card. - - Example: H167852639363479 - type: string - aliasType: - description: |- - The type of the card alias. - - Example: Default - type: string - authCode: - description: |- - Authorisation code: - * When the payment is authorised successfully, this field holds the authorisation code for the payment. - * When the payment is not authorised, this field is empty. - - Example: 58747 - type: string - authorisedAmountCurrency: - description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' - type: string - authorisedAmountValue: - description: |- - Value of the amount authorised. - - This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - type: string - avsResult: - description: |- - The AVS result code of the payment, which provides information about the outcome of the AVS check. - - For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). - type: string - avsResultRaw: - description: |- - Raw AVS result received from the acquirer, where available. - - Example: D - type: string - bic: - description: |- - BIC of a bank account. - - Example: TESTNL01 - > Only relevant for SEPA Direct Debit transactions. - type: string - dsTransID: - description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. - type: string - eci: - description: |- - The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. - - Example: 02 - type: string - expiryDate: - description: |- - The expiry date on the card. - - Example: 6/2016 - > Returned only in case of a card payment. - type: string - extraCostsCurrency: - description: |- - The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. - - Example: EUR - type: string - extraCostsValue: - description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. - type: string - 'fraudCheck-[itemNr]-[FraudCheckname]': - description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. - type: string - fundingSource: - description: |- - Information regarding the funding type of the card. The possible return values are: - * CHARGE - * CREDIT - * DEBIT - * PREPAID - * PREPAID_RELOADABLE - * PREPAID_NONRELOADABLE - * DEFFERED_DEBIT - > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - - For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. - type: string - fundsAvailability: - description: |- - Indicates availability of funds. - - Visa: - * "I" (fast funds are supported) - * "N" (otherwise) - - Mastercard: - * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) - * "N" (otherwise) - - > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". - type: string - inferredRefusalReason: - description: |- - Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". - - Possible values: - * 3D Secure Mandated - * Closed Account - * ContAuth Not Supported - * CVC Mandated - * Ecommerce Not Allowed - * Crossborder Not Supported - * Card Updated - * Low Authrate Bin - * Non-reloadable prepaid card - type: string - issuerCountry: - description: |- - The issuing country of the card based on the BIN list that Adyen maintains. - - Example: JP - type: string - mcBankNetReferenceNumber: - description: |- - The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. - > Contact Support Team to enable this field. - type: string - networkTxReference: - description: |- - Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. - - This contains either the Mastercard Trace ID or the Visa Transaction ID. - type: string - ownerName: - description: |- - The owner name of a bank account. - - Only relevant for SEPA Direct Debit transactions. - type: string - paymentAccountReference: - description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. - type: string - paymentMethodVariant: - description: |- - The Adyen sub-variant of the payment method used for the payment request. - - For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). - - Example: mcpro - type: string - payoutEligible: - description: |- - Indicates whether a payout is eligible or not for this card. - - Visa: - * "Y" - * "N" - - Mastercard: - * "Y" (domestic and cross-border) - * "D" (only domestic) - * "N" (no MoneySend) - * "U" (unknown) - type: string - realtimeAccountUpdaterStatus: - description: |- - The response code from the Real Time Account Updater service. - - Possible return values are: - * CardChanged - * CardExpiryChanged - * CloseAccount - * ContactCardAccountHolder - type: string - receiptFreeText: - description: Message to be displayed on the terminal. - type: string - recurring.firstPspReference: - description: |- - The `pspReference`, of the first recurring payment that created the recurring detail. - - This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - type: string - recurring.recurringDetailReference: - description: The reference that uniquely identifies the recurring transaction. - type: string - referred: - description: |- - If the payment is referred, this field is set to true. - - This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. - - Example: true - type: string - refusalReasonRaw: - description: |- - Raw refusal reason received from the acquirer, where available. - - Example: AUTHORISED - type: string - shopperInteraction: - description: |- - The shopper interaction type of the payment request. - - Example: Ecommerce - type: string - shopperReference: - description: |- - The shopperReference passed in the payment request. - - Example: AdyenTestShopperXX - type: string - terminalId: - description: |- - The terminal ID used in a point-of-sale payment. - - Example: 06022622 - type: string - threeDAuthenticated: - description: |- - A Boolean value indicating whether 3DS authentication was completed on this payment. - - Example: true - type: string - threeDAuthenticatedResponse: - description: |- - The raw 3DS authentication result from the card issuer. - - Example: N - type: string - threeDOffered: - description: |- - A Boolean value indicating whether 3DS was offered for this payment. - - Example: true - type: string - threeDOfferedResponse: - description: |- - The raw enrollment result from the 3DS directory services of the card schemes. - - Example: Y - type: string - threeDSVersion: - description: The 3D Secure 2 version. - type: string - visaTransactionId: - description: |- - The `visaTransactionId`, has a fixed length of 15 numeric characters. - > Contact Support Team to enable this field. - type: string - xid: - description: |- - The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. - - Example: ODgxNDc2MDg2MDExODk5MAAAAAA= - type: string - ResponseAdditionalDataBillingAddress: - properties: - billingAddress.city: - description: The billing address city passed in the payment request. - type: string - billingAddress.country: - description: |- - The billing address country passed in the payment request. - - Example: NL - type: string - billingAddress.houseNumberOrName: - description: The billing address house number or name passed in the payment request. - type: string - billingAddress.postalCode: - description: |- - The billing address postal code passed in the payment request. - - Example: 1011 DJ - type: string - billingAddress.stateOrProvince: - description: |- - The billing address state or province passed in the payment request. - - Example: NH - type: string - billingAddress.street: - description: The billing address street passed in the payment request. - type: string - ResponseAdditionalDataCard: - properties: - cardBin: - description: |- - The Bank Identification Number of a credit card, which is the first six digits of a card number. - - Example: 521234 - type: string - cardHolderName: - description: The cardholder name passed in the payment request. - type: string - cardIssuingBank: - description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. - type: string - cardIssuingCountry: - description: |- - The country where the card was issued. - - Example: US - type: string - cardIssuingCurrency: - description: |- - The currency in which the card is issued, if this information is available. - - Example: USD - type: string - cardPaymentMethod: - description: |- - The card payment method used for the transaction. - - Example: amex - type: string - cardSummary: - description: |- - The last four digits of a card number. - > Returned only in case of a card payment. - type: string - ResponseAdditionalDataDeliveryAddress: - properties: - deliveryAddress.city: - description: The delivery address city passed in the payment request. - type: string - deliveryAddress.country: - description: |- - The delivery address country passed in the payment request. - - Example: NL - type: string - deliveryAddress.houseNumberOrName: - description: The delivery address house number or name passed in the payment request. - type: string - deliveryAddress.postalCode: - description: |- - The delivery address postal code passed in the payment request. - - Example: 1011 DJ - type: string - deliveryAddress.stateOrProvince: - description: |- - The delivery address state or province passed in the payment request. - - Example: NH - type: string - deliveryAddress.street: - description: The delivery address street passed in the payment request. - type: string - ResponseAdditionalDataInstallments: - properties: - installments.value: - description: |- - The number of installments that the payment amount should be charged with. - - Example: 5 - > Only relevant for card payments in countries that support installments. - type: string - installmentPaymentData.installmentType: - description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. - type: string - installmentPaymentData.paymentOptions: - description: |- - Possible values: - * PayInInstallmentsOnly - * PayInFullOnly - * PayInFullOrInstallments - type: string - 'installmentPaymentData.option[itemNr].numberOfInstallments': - description: Total number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].interestRate': - description: Interest rate for the installment period. - type: string - 'installmentPaymentData.option[itemNr].installmentFee': - description: Installment fee amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].annualPercentageRate': - description: Annual interest rate. - type: string - 'installmentPaymentData.option[itemNr].firstInstallmentAmount': - description: First Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': - description: Subsequent Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': - description: Minimum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': - description: Maximum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].totalAmountDue': - description: Total amount in minor units. - type: string - ResponseAdditionalDataPayPal: - properties: - paypalPayerStatus: - description: |- - The status of the buyer's PayPal account. - - Example: unverified - type: string - paypalPayerResidenceCountry: - description: |- - The buyer's country of residence. - - Example: NL - type: string - paypalPayerId: - description: |- - The buyer's PayPal ID. - - Example: LF5HCWWBRV2KL - type: string - paypalEmail: - description: |- - The buyer's PayPal account email address. - - Example: paypaltest@adyen.com - type: string - paypalProtectionEligibility: - description: |- - The eligibility for PayPal Seller Protection for this payment. - - Example: Ineligible - type: string - ResponseAdditionalDataSepa: - properties: - sepadirectdebit.dateOfSignature: - description: |- - The transaction signature date. - - Format: yyyy-MM-dd - type: string - sepadirectdebit.mandateId: - description: Its value corresponds to the pspReference value of the transaction. - type: string - sepadirectdebit.sequenceType: - description: |- - This field can take one of the following values: - * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. - * First: (FRST) Initial/first collection in a series of direct debit instructions. - * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. - * Final: (FNAL) Last/final collection in a series of direct debit instructions. - - Example: OOFF - type: string Address: properties: city: @@ -1773,6 +1603,18 @@ components: - city - postalCode - country + AmazonPayDetails: + properties: + amazonPayToken: + type: string + checkoutSessionId: + type: string + type: + default: amazonpay + description: '**amazonpay**' + type: string + required: + - type Amount: properties: currency: @@ -1790,6 +1632,34 @@ components: required: - value - currency + AndroidPayDetails: + properties: + androidPayToken: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - androidPayToken + ApplePayDetails: + properties: + applePayToken: + description: '' + type: string + fundingSource: + enum: + - credit + - debit + type: string + type: + default: applepay + description: '**applepay**' + type: string + required: + - type + - applePayToken ApplicationInfo: properties: adyenLibrary: @@ -1871,6 +1741,40 @@ components: taxId: description: The bank account holder's tax ID. type: string + BillDeskOnlineDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_online + description: '**billdesk_online**' + type: string + required: + - type + - issuer + BillDeskWalletDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_wallet + description: '**billdesk_wallet**' + type: string + required: + - type + - issuer + BlikDetails: + properties: + blikCode: + description: BLIK code consisting of 6 digits. + type: string + type: + description: '**blik**' + type: string + required: + - type BrowserInfo: properties: acceptHeader: @@ -1879,13 +1783,14 @@ components: minLength: 10 type: string colorDepth: - description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.' + description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.' format: int32 type: integer javaEnabled: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + default: 'true' description: Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present. type: boolean language: @@ -1978,17 +1883,622 @@ components: - expiryMonth - expiryYear - holderName - CheckoutPaymentsAction: + CardDetails: + properties: + cupsecureplus.smscode: + deprecated: true + type: string + cvc: + type: string + encryptedCardNumber: + description: '' + type: string + encryptedExpiryMonth: + description: '' + type: string + encryptedExpiryYear: + description: '' + type: string + expiryMonth: + type: string + expiryYear: + type: string + fundingSource: + enum: + - credit + - debit + type: string + holderName: + type: string + number: + type: string + type: + default: scheme + description: '**scheme**' + type: string + required: + - type + - encryptedCardNumber + - encryptedExpiryMonth + - encryptedExpiryYear + CheckoutAwaitAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutBalanceCheckRequest: + properties: + accountInfo: + description: |- + Shopper account information for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/AccountInfo' + additionalAmount: + description: |- + If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification). + Required to be in the same currency as the `amount`. + $ref: '#/components/schemas/Amount' + additionalData: + anyOf: + - $ref: '#/components/schemas/AdditionalDataCommon' + - $ref: '#/components/schemas/AdditionalData3DSecure' + - $ref: '#/components/schemas/AdditionalDataAirline' + - $ref: '#/components/schemas/AdditionalDataCarRental' + - $ref: '#/components/schemas/AdditionalDataLevel23' + - $ref: '#/components/schemas/AdditionalDataLodging' + - $ref: '#/components/schemas/AdditionalDataOpenInvoice' + - $ref: '#/components/schemas/AdditionalDataRatepay' + - $ref: '#/components/schemas/AdditionalDataRetry' + - $ref: '#/components/schemas/AdditionalDataRisk' + - $ref: '#/components/schemas/AdditionalDataRiskStandalone' + - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. + amount: + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + $ref: '#/components/schemas/Amount' + applicationInfo: + description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: |- + The address where to send the invoice. + > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + $ref: '#/components/schemas/Address' + browserInfo: + description: |- + The shopper's browser information. + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + $ref: '#/components/schemas/BrowserInfo' + captureDelayHours: + description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' + format: int32 + type: integer + dateOfBirth: + description: |- + The shopper's date of birth. + + Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD + format: date-time + type: string + dccQuote: + description: The forex quote as returned in the response of the forex service. + $ref: '#/components/schemas/ForexQuote' + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + deliveryDate: + description: |- + The date and time the purchased goods should be delivered. + + Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD + + Example: 2017-07-17T13:42:40.428+01:00 + format: date-time + type: string + deviceFingerprint: + description: 'A string containing the shopper''s device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).' + type: string + fraudOffset: + description: An integer value that is added to the normal fraud score. The value can be either positive or negative. + format: int32 + type: integer + installments: + 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.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the transaction.' + type: string + merchantOrderReference: + description: |- + This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. + The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. + > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. + type: string + merchantRiskIndicator: + description: |- + Additional risk fields for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/MerchantRiskIndicator' + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". + type: object + orderReference: + description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' + type: string + paymentMethod: + additionalProperties: + type: string + description: The collection that contains the type of the payment method and its specific information. + type: object + recurring: + description: 'The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).' + $ref: '#/components/schemas/Recurring' + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: |- + The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. + If you need to provide multiple references for a transaction, separate them with hyphens ("-"). + Maximum length: 80 characters. + type: string + selectedBrand: + description: |- + Some payment methods require defining a value for this field to specify how to process the transaction. + + For the Bancontact payment method, it can be set to: + * `maestro` (default), to be processed like a Maestro card, or + * `bcmc`, to be processed like a Bancontact card. + type: string + selectedRecurringDetailReference: + description: The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. + type: string + sessionId: + description: A session ID used to identify a payment session. + type: string + shopperEmail: + description: |- + The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. + > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + type: string + shopperIP: + description: |- + The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). + > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). + type: string + shopperInteraction: + description: |- + Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. + For the web service API, Adyen assumes Ecommerce shopper interaction by default. + + This field has the following possible values: + * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. + * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). + * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. + * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. + enum: + - Ecommerce + - ContAuth + - Moto + - POS + type: string + shopperLocale: + description: The combination of a language code and a country code to specify the language to be used in the payment. + type: string + shopperName: + description: The shopper's full name and gender (if specified). + $ref: '#/components/schemas/Name' + shopperReference: + description: |- + The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). + > This field is required for recurring payments. + type: string + shopperStatement: + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. + type: string + socialSecurityNumber: + description: The shopper's social security number. + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string + telephoneNumber: + description: The shopper's telephone number. + type: string + threeDS2RequestData: + description: Request fields for 3D Secure 2. + $ref: '#/components/schemas/ThreeDS2RequestData' + totalsGroup: + description: 'The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).' + maxLength: 16 + minLength: 1 + type: string + trustedShopper: + description: Set to true if the payment should be routed to a trusted MID. + type: boolean + required: + - merchantAccount + - reference + - amount + - paymentMethod + CheckoutBalanceCheckResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + balance: + description: The balance for the payment method. + $ref: '#/components/schemas/Amount' + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - balance + CheckoutCancelOrderRequest: + properties: + merchantAccount: + description: The merchant account identifier that orderData belongs to. + type: string + order: + description: The order request object that contains a pspReference that represents the order and the matching encrypted order data. + $ref: '#/components/schemas/CheckoutOrder' + required: + - order + - merchantAccount + CheckoutCancelOrderResponse: + properties: + pspReference: + description: A unique reference of the cancellation request. + type: string + resultCode: + description: The result of the cancellation request. + type: string + required: + - pspReference + - resultCode + CheckoutCreateOrderRequest: + properties: + amount: + description: The total amount of the order. + $ref: '#/components/schemas/Amount' + expiresAt: + description: 'The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the order.' + type: string + reference: + description: A custom reference identifying the order. + type: string + required: + - merchantAccount + - amount + CheckoutCreateOrderResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + expiresAt: + description: The date that the order will expire. + type: string + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + orderData: + description: The encrypted data that will be used by merchant for adding payments to the order. + type: string + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + remainingAmount: + description: The remaining amount in the order. + $ref: '#/components/schemas/Amount' + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - remainingAmount + - expiresAt + - orderData + CheckoutDonationAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutOneTimePasscodeAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + redirect: + description: 'When the payment flow requires a redirect as fallback, this object contains information about the redirect.' + $ref: '#/components/schemas/Redirect' + resendInterval: + description: The interval in second between OTP resend. + format: int32 + type: integer + resendMaxAttempts: + description: The maximum number of OTP resend attempts. + format: int32 + type: integer + resendUrl: + description: 'The URL, to which you make POST request to trigger OTP resend.' + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutOrder: + properties: + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + required: + - pspReference + - orderData + CheckoutOrderResponse: + properties: + expiresAt: + description: The expiry date for the order. + type: string + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + reference: + description: The merchant reference for the order. + type: string + remainingAmount: + description: The updated remaining amount. + $ref: '#/components/schemas/Amount' + required: + - pspReference + CheckoutQrCodeAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + qrCodeData: + description: The contents of the QR code as a UTF8 string. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutRedirectAction: + properties: + data: + additionalProperties: + type: string + description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' + type: object + method: + description: 'Specifies the HTTP method, for example GET or POST.' + type: string + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutSDKAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + sdkData: + additionalProperties: + type: string + description: The data to pass to the SDK. + type: object + url: + description: Specifies the URL to redirect to. + type: string + CheckoutThreeDS2ChallengeAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + token: + description: A token to pass to the 3DS2 Component to get the challenge. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutThreeDS2FingerPrintAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + token: + description: A token to pass to the 3DS2 Component to get the fingerprint. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutUtilityRequest: + properties: + originDomains: + description: 'The list of origin domains, for which origin keys are requested.' + items: + type: string + type: array + required: + - originDomains + CheckoutUtilityResponse: + properties: + originKeys: + additionalProperties: + type: string + description: 'The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.' + type: object + CheckoutVoucherAction: properties: alternativeReference: description: The voucher alternative reference code. type: string - data: - description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' - type: object downloadUrl: description: The URL to download the voucher. type: string + entity: + description: An entity number of Multibanco. + type: string expiresAt: description: The date time of the voucher expiry. type: string @@ -2010,18 +2520,12 @@ components: merchantReference: description: The merchant reference. type: string - method: - description: 'Specifies the HTTP method, for example GET or POST.' - type: string paymentData: description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' type: string paymentMethodType: description: Specifies the payment method. type: string - qrCodeData: - description: The contents of the QR code as a UTF8 string. - type: string reference: description: The voucher reference code. type: string @@ -2034,25 +2538,9 @@ components: surcharge: description: The surcharge amount. $ref: '#/components/schemas/Amount' - token: - description: A token to pass to the 3DS2 Component to get the fingerprint/challenge. - type: string totalAmount: description: The total amount (initial plus surcharge amount). $ref: '#/components/schemas/Amount' - type: - description: Enum that specifies the action that needs to be taken by the client. - enum: - - await - - donate - - qrCode - - redirect - - sdk - - threeDS2Challenge - - threeDS2Fingerprint - - voucher - - wechatpaySDK - type: string url: description: Specifies the URL to redirect to. type: string @@ -2119,12 +2607,13 @@ components: type: string type: array amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: The payment amount and currency. $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).' + $ref: '#/components/schemas/ApplicationInfo' billingAddress: - description: |- - The address where to send the invoice. - > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + description: The address where to send the invoice. $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- @@ -2135,72 +2624,95 @@ components: type: string type: array countryCode: - description: The shopper's country code. + description: The shopper's two-letter country code. type: string deliveryAddress: description: The address where the purchased goods should be delivered. $ref: '#/components/schemas/Address' description: description: |- - A short description visible on the Pay By Link page. + A short description visible on the payment page. Maximum length: 280 characters. type: string expiresAt: - description: 'The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.' + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: + * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit" + * Maximum 20 characters per key. When exceeding, the "178" error occurs: "Metadata key size exceeds limit" + * A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id + type: object + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile type: string reference: - description: |- - The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. - If you need to provide multiple references for a transaction, separate them with hyphens ("-"). - Maximum length: 80 characters. + description: A reference that is used to uniquely identify the payment in future communications about the payment status. type: string returnUrl: description: |- Website URL used for redirection after payment is completed. - If provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean shopperEmail: - description: |- - The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. - > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + description: The shopper's email address. type: string shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' type: string required: - - merchantAccount - - reference - amount - - countryCode - CreatePaymentLinkResponse: - properties: - amount: - description: The amount for which the Pay By Link URL was created. - $ref: '#/components/schemas/Amount' - expiresAt: - description: 'The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.' - type: string - reference: - description: The reference that was specified when the Pay By Link URL was created. - type: string - url: - description: The URL at which the shopper can complete the payment. - type: string - required: - reference - - expiresAt - - url + - merchantAccount DetailsRequest: properties: details: + additionalProperties: + type: string + deprecated: true description: Use this collection to submit the details that were returned as a result of the `/payments` call. type: object paymentData: @@ -2214,18 +2726,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -2243,6 +2757,103 @@ components: - text type: string type: array + DokuDetails: + properties: + firstName: + description: The shopper's first name. + type: string + infix: + type: string + lastName: + description: The shopper's last name. + type: string + ovoId: + type: string + shopperEmail: + description: The shopper's email. + type: string + type: + description: '**doku**' + enum: + - doku_mandiri_va + - doku_cimb_va + - doku_danamon_va + - doku_bni_va + - doku_permata_lite_atm + - doku_bri_va + - doku_bca_va + - doku_alfamart + - doku_indomaret + type: string + required: + - type + - firstName + - lastName + - shopperEmail + DotpayDetails: + properties: + issuer: + description: The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it. + type: string + type: + default: dotpay + description: '**dotpay**' + type: string + required: + - type + - issuer + DragonpayDetails: + properties: + issuer: + description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. + type: string + shopperEmail: + description: The shopper’s email address. + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer + EcontextVoucherDetails: + properties: + firstName: + description: The shopper's first name. + type: string + lastName: + description: The shopper's last name. + type: string + shopperEmail: + description: The shopper's email. + type: string + telephoneNumber: + description: The shopper's contact number. + type: string + type: + description: '**econtextvoucher**' + enum: + - econtext_seveneleven + - econtext_stores + type: string + required: + - type + - firstName + - lastName + - shopperEmail + - telephoneNumber + EntercashDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: entercash + description: '**entercash**' + type: string + required: + - type + - issuer ExternalPlatform: properties: integrator: @@ -2327,9 +2938,52 @@ components: type: array required: - accountScore + GiropayDetails: + properties: + type: + default: giropay + description: '**giropay**' + type: string + required: + - type + GooglePayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + googlePayCardNetwork: + description: '' + type: string + googlePayToken: + description: '' + type: string + type: + default: paywithgoogle + description: '**paywithgoogle**' + type: string + required: + - type + - googlePayToken + - googlePayCardNetwork + IdealDetails: + properties: + issuer: + description: The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it. + type: string + type: + default: ideal + description: '**ideal**' + type: string + required: + - type + - issuer InputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object details: @@ -2382,6 +3036,38 @@ components: name: description: The display name. type: string + KlarnaDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + token: + type: string + type: + description: The payment method type. + type: string + required: + - type + LianLianPayDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber LineItem: properties: amountExcludingTax: @@ -2418,6 +3104,38 @@ components: description: 'Tax percentage, in minor units.' format: int64 type: integer + MasterpassDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + masterpassTransactionId: + description: The Masterpass transaction ID. + type: string + type: + default: masterpass + description: '**masterpass**' + type: string + required: + - type + - masterpassTransactionId + MbwayDetails: + properties: + shopperEmail: + description: '' + type: string + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber + - shopperEmail MerchantDevice: properties: os: @@ -2488,6 +3206,25 @@ components: reorderItems: description: Indicator for whether the shopper has already purchased the same items in the past. type: boolean + MobilePayDetails: + properties: + type: + default: mobilepay + description: '**mobilepay**' + type: string + required: + - type + MolPayDetails: + properties: + issuer: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer Name: properties: firstName: @@ -2516,6 +3253,182 @@ components: - firstName - lastName - gender + NexoRouterDetails: + properties: + type: + description: The payment method type. + type: string + uniqueTerminalId: + type: string + required: + - type + OpenInvoiceDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + type: + description: The payment method type. + type: string + required: + - type + PayPalDetails: + properties: + orderID: + type: string + payerID: + type: string + subtype: + description: The type of flow to initiate. + enum: + - redirect + - sdk + type: string + type: + default: paypal + description: '**paypal**' + type: string + required: + - type + PaymentDetails: + properties: + type: + description: The payment method type. + type: string + required: + - type + PaymentLinkResource: + properties: + allowedPaymentMethods: + description: |- + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"allowedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + amount: + description: The payment amount and currency. + $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).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: The address where to send the invoice. + $ref: '#/components/schemas/Address' + blockedPaymentMethods: + description: |- + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"blockedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + countryCode: + description: The shopper's two-letter country code. + type: string + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + description: + description: |- + A short description visible on the payment page. + Maximum length: 280 characters. + type: string + expiresAt: + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' + type: string + id: + description: A unique identifier of the payment link. + readOnly: true + type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array + merchantAccount: + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: A reference that is used to uniquely identify the payment in future communications about the payment status. + type: string + returnUrl: + description: |- + Website URL used for redirection after payment is completed. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. + type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean + shopperEmail: + description: The shopper's email address. + type: string + shopperLocale: + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' + type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' + shopperReference: + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + status: + description: |- + Status of the payment link. Possible values: + * **active** + * **paid** + * **expired** + enum: + - active + - expired + - paid + type: string + store: + description: 'The physical store, for which this payment is processed.' + type: string + url: + description: The URL at which the shopper can complete the payment. + readOnly: true + type: string + required: + - amount + - reference + - merchantAccount + - id + - url + - status PaymentMethod: properties: brands: @@ -2524,6 +3437,8 @@ components: type: string type: array configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -2579,10 +3494,6 @@ components: PaymentMethodsRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2596,6 +3507,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). @@ -2640,6 +3556,11 @@ components: The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). > This field is required for recurring payments. type: string + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string required: - merchantAccount - reference @@ -2673,10 +3594,6 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/AccountInfo' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2690,6 +3607,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. amount: description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' @@ -2704,7 +3626,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -2808,13 +3730,18 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/MerchantRiskIndicator' metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' + order: + description: Contains the order information which is required for partial payments. + $ref: '#/components/schemas/CheckoutOrder' orderReference: description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' type: string @@ -2825,8 +3752,41 @@ components: Set this parameter to the origin URL of the page that you are loading the 3D Secure Component from. type: string paymentMethod: - description: The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`). - type: object + description: The type and required details of a payment method to use. + oneOf: + - $ref: '#/components/schemas/ApplePayDetails' + - $ref: '#/components/schemas/SamsungPayDetails' + - $ref: '#/components/schemas/AndroidPayDetails' + - $ref: '#/components/schemas/VisaCheckoutDetails' + - $ref: '#/components/schemas/GooglePayDetails' + - $ref: '#/components/schemas/AmazonPayDetails' + - $ref: '#/components/schemas/MasterpassDetails' + - $ref: '#/components/schemas/PaymentDetails' + - $ref: '#/components/schemas/CardDetails' + - $ref: '#/components/schemas/AchDetails' + - $ref: '#/components/schemas/KlarnaDetails' + - $ref: '#/components/schemas/IdealDetails' + - $ref: '#/components/schemas/PayPalDetails' + - $ref: '#/components/schemas/SepaDirectDebitDetails' + - $ref: '#/components/schemas/QiwiWalletDetails' + - $ref: '#/components/schemas/VippsDetails' + - $ref: '#/components/schemas/MobilePayDetails' + - $ref: '#/components/schemas/WeChatPayDetails' + - $ref: '#/components/schemas/WeChatPayMiniProgramDetails' + - $ref: '#/components/schemas/LianLianPayDetails' + - $ref: '#/components/schemas/MolPayDetails' + - $ref: '#/components/schemas/BillDeskOnlineDetails' + - $ref: '#/components/schemas/BillDeskWalletDetails' + - $ref: '#/components/schemas/DotpayDetails' + - $ref: '#/components/schemas/EntercashDetails' + - $ref: '#/components/schemas/OpenInvoiceDetails' + - $ref: '#/components/schemas/DokuDetails' + - $ref: '#/components/schemas/EcontextVoucherDetails' + - $ref: '#/components/schemas/DragonpayDetails' + - $ref: '#/components/schemas/GiropayDetails' + - $ref: '#/components/schemas/NexoRouterDetails' + - $ref: '#/components/schemas/BlikDetails' + - $ref: '#/components/schemas/MbwayDetails' recurringExpiry: description: Date after which no further authorisations shall be performed. Only for 3D Secure 2. type: string @@ -2838,8 +3798,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. - * `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. enum: - CardOnFile - Subscription @@ -2858,7 +3818,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -2904,16 +3872,23 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string storePaymentMethod: description: 'When true and `shopperReference` is provided, the payment details will be stored.' type: boolean @@ -2936,18 +3911,30 @@ components: properties: action: description: Action to be taken for completing the payment. - $ref: '#/components/schemas/CheckoutPaymentsAction' + oneOf: + - $ref: '#/components/schemas/CheckoutDonationAction' + - $ref: '#/components/schemas/CheckoutQrCodeAction' + - $ref: '#/components/schemas/CheckoutRedirectAction' + - $ref: '#/components/schemas/CheckoutSDKAction' + - $ref: '#/components/schemas/CheckoutThreeDS2ChallengeAction' + - $ref: '#/components/schemas/CheckoutThreeDS2FingerPrintAction' + - $ref: '#/components/schemas/CheckoutAwaitAction' + - $ref: '#/components/schemas/CheckoutVoucherAction' + - $ref: '#/components/schemas/CheckoutOneTimePasscodeAction' additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' authentication: + additionalProperties: + type: string description: 'Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ' type: object details: @@ -2964,7 +3951,12 @@ components: If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters. type: string + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' outputDetails: + additionalProperties: + type: string description: Contains the details that will be presented to the shopper. type: object paymentData: @@ -2981,16 +3973,18 @@ components: $ref: '#/components/schemas/Redirect' refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -2998,7 +3992,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -3019,10 +4013,6 @@ components: PaymentSetupRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -3036,9 +4026,14 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- - List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"allowedPaymentMethods":["ideal","giropay"]` items: @@ -3057,7 +4052,7 @@ components: $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- - List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"blockedPaymentMethods":["ideal","giropay"]` items: @@ -3160,6 +4155,8 @@ components: > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. type: string metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". @@ -3186,7 +4183,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -3235,13 +4240,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -3287,21 +4294,25 @@ components: PaymentVerificationResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' merchantReference: description: A unique value that you provided in the initial `/paymentSession` request as a `reference` field. type: string + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' paymentMethod: description: The payment method used in the transaction. type: string @@ -3313,16 +4324,18 @@ components: type: string refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -3330,7 +4343,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -3358,6 +4371,18 @@ components: - merchantReference - paymentMethod - shopperLocale + QiwiWalletDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: qiwiwallet + description: '**qiwiwallet**' + type: string + required: + - type + - telephoneNumber Recurring: properties: contract: @@ -3397,6 +4422,8 @@ components: type: string type: array configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -3434,6 +4461,8 @@ components: Redirect: properties: data: + additionalProperties: + type: string description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' type: object method: @@ -3448,6 +4477,504 @@ components: url: description: 'The URL, to which you must redirect a shopper to complete a payment.' type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string RiskData: properties: clientData: @@ -3467,6 +4994,39 @@ components: 'y': description: The `y` value as received from the 3D Secure 2 SDK. type: string + SamsungPayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + samsungPayToken: + description: '' + type: string + type: + default: samsungpay + description: '**samsungpay**' + type: string + required: + - type + - samsungPayToken + SepaDirectDebitDetails: + properties: + iban: + description: The International Bank Account Number (IBAN). + type: string + ownerName: + description: The name of the bank account holder. + type: string + type: + default: sepadirectdebit + description: '**sepadirectdebit**' + type: string + required: + - type + - iban + - ownerName ServiceError: properties: errorCode: @@ -3631,6 +5191,8 @@ components: SubInputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object items: @@ -3659,6 +5221,7 @@ components: description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant''s acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.' type: string authenticationOnly: + default: 'false' description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' type: boolean challengeIndicator: @@ -3696,6 +5259,7 @@ components: > Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account. type: string messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -3717,6 +5281,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -3755,7 +5320,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -3773,7 +5338,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -3797,3 +5362,73 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + UpdatePaymentLinkRequest: + properties: + status: + description: |- + Status of the payment link. Possible values: + * **expired** + enum: + - expired + type: string + required: + - status + VippsDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: vipps + description: '**vipps**' + type: string + required: + - type + - telephoneNumber + VisaCheckoutDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + type: + default: visacheckout + description: '**visacheckout**' + type: string + visaCheckoutCallId: + description: '' + type: string + required: + - type + - visaCheckoutCallId + WeChatPayDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + WeChatPayMiniProgramDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/CheckoutService-v50.yaml b/yaml/CheckoutService-v50.yaml index b50eb31..e0bb9b6 100644 --- a/yaml/CheckoutService-v50.yaml +++ b/yaml/CheckoutService-v50.yaml @@ -1,11 +1,11 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://checkout-test.adyen.com/v50' info: version: '50' title: Adyen Checkout API description: |- - Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort). + Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort). This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout). @@ -33,9 +33,101 @@ info: url: 'https://support.adyen.com/' email: support@adyen.com x-groups: - - API Integration - - SDK Integration + - Payments + - Payment links + - Orders + - Classic Checkout SDK + - Utility paths: + /orders: + post: + summary: Creates an order for the given amount. + description: Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods. + operationId: post-orders + x-groupName: Orders + x-sortIndex: 2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /orders/cancel: + post: + summary: Cancels the given order. + description: 'Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.' + operationId: post-orders-cancel + x-groupName: Orders + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /originKeys: + post: + summary: Create originKey values for one or more merchant domains. + description: |- + This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. + > Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. + operationId: post-originKeys + x-groupName: Utility + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentLinks: post: summary: Creates a payment link. @@ -43,8 +135,9 @@ paths: Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request. For more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api). - x-groupName: API Integration - x-sortIndex: 8 + operationId: post-paymentLinks + x-groupName: Payment links + x-sortIndex: 1 requestBody: content: application/json: @@ -55,7 +148,75 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreatePaymentLinkResponse' + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '201': + description: Created - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + '/paymentLinks/{linkId}': + get: + summary: Retrieve a payment link. + description: Retrieves the payment link details using the payment link `id`. + operationId: get-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 2 + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + patch: + summary: Update the status of a payment link + description: 'Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).' + operationId: patch-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePaymentLinkRequest' + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. @@ -74,7 +235,8 @@ paths: Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`). Although we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week. - x-groupName: API Integration + operationId: post-paymentMethods + x-groupName: Payments x-sortIndex: 1 requestBody: content: @@ -98,6 +260,35 @@ paths: description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. + /paymentMethods/balance: + post: + summary: Returns the available balance on gift card. + description: 'Retrieves the balance remaining on a shopper''s gift card. To check a gift card''s balance, make a POST `/paymentMethods/balance` call and include the gift card''s details inside a `paymentMethod` object.' + operationId: post-paymentMethods-balance + x-groupName: Orders + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentSession: post: summary: Creates a payment session. @@ -105,7 +296,8 @@ paths: Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-paymentSession + x-groupName: Classic Checkout SDK x-sortIndex: 1 requestBody: content: @@ -133,10 +325,11 @@ paths: post: summary: Starts a transaction. description: |- - Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request: - * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`). - * For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. - x-groupName: API Integration + Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request: + * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**). + * For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. + operationId: post-payments + x-groupName: Payments x-sortIndex: 2 requestBody: content: @@ -169,7 +362,8 @@ paths: The exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request. In addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API. - x-groupName: API Integration + operationId: post-payments-details + x-groupName: Payments x-sortIndex: 3 requestBody: content: @@ -200,7 +394,8 @@ paths: Verifies the payment result using the payload returned from the Checkout SDK. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-payments-result + x-groupName: Classic Checkout SDK x-sortIndex: 2 requestBody: content: @@ -364,8 +559,418 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + AchDetails: + properties: + bankAccountNumber: + description: The bank account number (without separators). + type: string + bankLocationId: + description: The bank routing number of the account. The field value is `nil` in most cases. + type: string + encryptedBankAccountNumber: + description: Encrypted bank account number. The bank account number (without separators). + type: string + encryptedBankLocationId: + description: Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases. + type: string + ownerName: + description: |- + The name of the bank account holder. + If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: + * χ12 is converted to ch12. + * üA is converted to euA. + * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. + After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: + * John17 - allowed. + * J17 - allowed. + * 171 - not allowed. + * John-7 - allowed. + > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. + type: string + type: + default: ach + description: '**ach**' + type: string + required: + - type + - bankAccountNumber + AdditionalData3DSecure: + properties: + allow3DS2: + description: |- + This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: + * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + type: string + scaExemption: + description: |- + Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + type: string authorisationType: description: |- Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types). @@ -390,431 +995,89 @@ components: Submit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: description: |- - This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: - * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - required: - - airline.passenger_name - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -823,84 +1086,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -911,60 +1203,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -985,9 +1247,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -997,14 +1277,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -1017,34 +1310,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1057,21 +1356,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1079,60 +1372,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1140,12 +1433,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1158,8 +1457,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1169,7 +1501,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1181,34 +1513,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1217,11 +1521,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1232,6 +1531,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1244,20 +1558,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1279,480 +1583,6 @@ components: visacheckout.callId: description: The Visa Checkout Call ID retrieved from the SDK. type: string - ResponseAdditionalDataCommon: - properties: - acquirerAccountCode: - description: |- - The name of the Adyen acquirer account. - - Example: PayPalSandbox_TestAcquirer - > Only relevant for PayPal transactions. - type: string - acquirerCode: - description: |- - The name of the acquirer processing the payment request. - - Example: TestPmmAcquirer - type: string - acquirerReference: - description: |- - The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. - - Example: 7C9N3FNBKT9 - type: string - alias: - description: |- - The Adyen alias of the card. - - Example: H167852639363479 - type: string - aliasType: - description: |- - The type of the card alias. - - Example: Default - type: string - authCode: - description: |- - Authorisation code: - * When the payment is authorised successfully, this field holds the authorisation code for the payment. - * When the payment is not authorised, this field is empty. - - Example: 58747 - type: string - authorisedAmountCurrency: - description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' - type: string - authorisedAmountValue: - description: |- - Value of the amount authorised. - - This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - type: string - avsResult: - description: |- - The AVS result code of the payment, which provides information about the outcome of the AVS check. - - For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). - type: string - avsResultRaw: - description: |- - Raw AVS result received from the acquirer, where available. - - Example: D - type: string - bic: - description: |- - BIC of a bank account. - - Example: TESTNL01 - > Only relevant for SEPA Direct Debit transactions. - type: string - dsTransID: - description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. - type: string - eci: - description: |- - The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. - - Example: 02 - type: string - expiryDate: - description: |- - The expiry date on the card. - - Example: 6/2016 - > Returned only in case of a card payment. - type: string - extraCostsCurrency: - description: |- - The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. - - Example: EUR - type: string - extraCostsValue: - description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. - type: string - 'fraudCheck-[itemNr]-[FraudCheckname]': - description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. - type: string - fundingSource: - description: |- - Information regarding the funding type of the card. The possible return values are: - * CHARGE - * CREDIT - * DEBIT - * PREPAID - * PREPAID_RELOADABLE - * PREPAID_NONRELOADABLE - * DEFFERED_DEBIT - > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - - For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. - type: string - fundsAvailability: - description: |- - Indicates availability of funds. - - Visa: - * "I" (fast funds are supported) - * "N" (otherwise) - - Mastercard: - * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) - * "N" (otherwise) - - > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". - type: string - inferredRefusalReason: - description: |- - Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". - - Possible values: - * 3D Secure Mandated - * Closed Account - * ContAuth Not Supported - * CVC Mandated - * Ecommerce Not Allowed - * Crossborder Not Supported - * Card Updated - * Low Authrate Bin - * Non-reloadable prepaid card - type: string - issuerCountry: - description: |- - The issuing country of the card based on the BIN list that Adyen maintains. - - Example: JP - type: string - mcBankNetReferenceNumber: - description: |- - The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. - > Contact Support Team to enable this field. - type: string - networkTxReference: - description: |- - Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. - - This contains either the Mastercard Trace ID or the Visa Transaction ID. - type: string - ownerName: - description: |- - The owner name of a bank account. - - Only relevant for SEPA Direct Debit transactions. - type: string - paymentAccountReference: - description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. - type: string - paymentMethodVariant: - description: |- - The Adyen sub-variant of the payment method used for the payment request. - - For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). - - Example: mcpro - type: string - payoutEligible: - description: |- - Indicates whether a payout is eligible or not for this card. - - Visa: - * "Y" - * "N" - - Mastercard: - * "Y" (domestic and cross-border) - * "D" (only domestic) - * "N" (no MoneySend) - * "U" (unknown) - type: string - realtimeAccountUpdaterStatus: - description: |- - The response code from the Real Time Account Updater service. - - Possible return values are: - * CardChanged - * CardExpiryChanged - * CloseAccount - * ContactCardAccountHolder - type: string - receiptFreeText: - description: Message to be displayed on the terminal. - type: string - recurring.firstPspReference: - description: |- - The `pspReference`, of the first recurring payment that created the recurring detail. - - This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - type: string - recurring.recurringDetailReference: - description: The reference that uniquely identifies the recurring transaction. - type: string - referred: - description: |- - If the payment is referred, this field is set to true. - - This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. - - Example: true - type: string - refusalReasonRaw: - description: |- - Raw refusal reason received from the acquirer, where available. - - Example: AUTHORISED - type: string - shopperInteraction: - description: |- - The shopper interaction type of the payment request. - - Example: Ecommerce - type: string - shopperReference: - description: |- - The shopperReference passed in the payment request. - - Example: AdyenTestShopperXX - type: string - terminalId: - description: |- - The terminal ID used in a point-of-sale payment. - - Example: 06022622 - type: string - threeDAuthenticated: - description: |- - A Boolean value indicating whether 3DS authentication was completed on this payment. - - Example: true - type: string - threeDAuthenticatedResponse: - description: |- - The raw 3DS authentication result from the card issuer. - - Example: N - type: string - threeDOffered: - description: |- - A Boolean value indicating whether 3DS was offered for this payment. - - Example: true - type: string - threeDOfferedResponse: - description: |- - The raw enrollment result from the 3DS directory services of the card schemes. - - Example: Y - type: string - threeDSVersion: - description: The 3D Secure 2 version. - type: string - visaTransactionId: - description: |- - The `visaTransactionId`, has a fixed length of 15 numeric characters. - > Contact Support Team to enable this field. - type: string - xid: - description: |- - The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. - - Example: ODgxNDc2MDg2MDExODk5MAAAAAA= - type: string - ResponseAdditionalDataBillingAddress: - properties: - billingAddress.city: - description: The billing address city passed in the payment request. - type: string - billingAddress.country: - description: |- - The billing address country passed in the payment request. - - Example: NL - type: string - billingAddress.houseNumberOrName: - description: The billing address house number or name passed in the payment request. - type: string - billingAddress.postalCode: - description: |- - The billing address postal code passed in the payment request. - - Example: 1011 DJ - type: string - billingAddress.stateOrProvince: - description: |- - The billing address state or province passed in the payment request. - - Example: NH - type: string - billingAddress.street: - description: The billing address street passed in the payment request. - type: string - ResponseAdditionalDataCard: - properties: - cardBin: - description: |- - The Bank Identification Number of a credit card, which is the first six digits of a card number. - - Example: 521234 - type: string - cardHolderName: - description: The cardholder name passed in the payment request. - type: string - cardIssuingBank: - description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. - type: string - cardIssuingCountry: - description: |- - The country where the card was issued. - - Example: US - type: string - cardIssuingCurrency: - description: |- - The currency in which the card is issued, if this information is available. - - Example: USD - type: string - cardPaymentMethod: - description: |- - The card payment method used for the transaction. - - Example: amex - type: string - cardSummary: - description: |- - The last four digits of a card number. - > Returned only in case of a card payment. - type: string - ResponseAdditionalDataDeliveryAddress: - properties: - deliveryAddress.city: - description: The delivery address city passed in the payment request. - type: string - deliveryAddress.country: - description: |- - The delivery address country passed in the payment request. - - Example: NL - type: string - deliveryAddress.houseNumberOrName: - description: The delivery address house number or name passed in the payment request. - type: string - deliveryAddress.postalCode: - description: |- - The delivery address postal code passed in the payment request. - - Example: 1011 DJ - type: string - deliveryAddress.stateOrProvince: - description: |- - The delivery address state or province passed in the payment request. - - Example: NH - type: string - deliveryAddress.street: - description: The delivery address street passed in the payment request. - type: string - ResponseAdditionalDataInstallments: - properties: - installments.value: - description: |- - The number of installments that the payment amount should be charged with. - - Example: 5 - > Only relevant for card payments in countries that support installments. - type: string - installmentPaymentData.installmentType: - description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. - type: string - installmentPaymentData.paymentOptions: - description: |- - Possible values: - * PayInInstallmentsOnly - * PayInFullOnly - * PayInFullOrInstallments - type: string - 'installmentPaymentData.option[itemNr].numberOfInstallments': - description: Total number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].interestRate': - description: Interest rate for the installment period. - type: string - 'installmentPaymentData.option[itemNr].installmentFee': - description: Installment fee amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].annualPercentageRate': - description: Annual interest rate. - type: string - 'installmentPaymentData.option[itemNr].firstInstallmentAmount': - description: First Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': - description: Subsequent Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': - description: Minimum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': - description: Maximum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].totalAmountDue': - description: Total amount in minor units. - type: string - ResponseAdditionalDataPayPal: - properties: - paypalPayerStatus: - description: |- - The status of the buyer's PayPal account. - - Example: unverified - type: string - paypalPayerResidenceCountry: - description: |- - The buyer's country of residence. - - Example: NL - type: string - paypalPayerId: - description: |- - The buyer's PayPal ID. - - Example: LF5HCWWBRV2KL - type: string - paypalEmail: - description: |- - The buyer's PayPal account email address. - - Example: paypaltest@adyen.com - type: string - paypalProtectionEligibility: - description: |- - The eligibility for PayPal Seller Protection for this payment. - - Example: Ineligible - type: string - ResponseAdditionalDataSepa: - properties: - sepadirectdebit.dateOfSignature: - description: |- - The transaction signature date. - - Format: yyyy-MM-dd - type: string - sepadirectdebit.mandateId: - description: Its value corresponds to the pspReference value of the transaction. - type: string - sepadirectdebit.sequenceType: - description: |- - This field can take one of the following values: - * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. - * First: (FRST) Initial/first collection in a series of direct debit instructions. - * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. - * Final: (FNAL) Last/final collection in a series of direct debit instructions. - - Example: OOFF - type: string Address: properties: city: @@ -1785,6 +1615,18 @@ components: - city - postalCode - country + AmazonPayDetails: + properties: + amazonPayToken: + type: string + checkoutSessionId: + type: string + type: + default: amazonpay + description: '**amazonpay**' + type: string + required: + - type Amount: properties: currency: @@ -1802,6 +1644,34 @@ components: required: - value - currency + AndroidPayDetails: + properties: + androidPayToken: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - androidPayToken + ApplePayDetails: + properties: + applePayToken: + description: '' + type: string + fundingSource: + enum: + - credit + - debit + type: string + type: + default: applepay + description: '**applepay**' + type: string + required: + - type + - applePayToken ApplicationInfo: properties: adyenLibrary: @@ -1883,6 +1753,40 @@ components: taxId: description: The bank account holder's tax ID. type: string + BillDeskOnlineDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_online + description: '**billdesk_online**' + type: string + required: + - type + - issuer + BillDeskWalletDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_wallet + description: '**billdesk_wallet**' + type: string + required: + - type + - issuer + BlikDetails: + properties: + blikCode: + description: BLIK code consisting of 6 digits. + type: string + type: + description: '**blik**' + type: string + required: + - type BrowserInfo: properties: acceptHeader: @@ -1891,13 +1795,14 @@ components: minLength: 10 type: string colorDepth: - description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.' + description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.' format: int32 type: integer javaEnabled: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + default: 'true' description: Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present. type: boolean language: @@ -1990,17 +1895,626 @@ components: - expiryMonth - expiryYear - holderName - CheckoutPaymentsAction: + CardDetails: + properties: + cupsecureplus.smscode: + deprecated: true + type: string + cvc: + type: string + encryptedCardNumber: + description: '' + type: string + encryptedExpiryMonth: + description: '' + type: string + encryptedExpiryYear: + description: '' + type: string + expiryMonth: + type: string + expiryYear: + type: string + fundingSource: + enum: + - credit + - debit + type: string + holderName: + type: string + number: + type: string + type: + default: scheme + description: '**scheme**' + type: string + required: + - type + - encryptedCardNumber + - encryptedExpiryMonth + - encryptedExpiryYear + CheckoutAwaitAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutBalanceCheckRequest: + properties: + accountInfo: + description: |- + Shopper account information for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/AccountInfo' + additionalAmount: + description: |- + If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification). + Required to be in the same currency as the `amount`. + $ref: '#/components/schemas/Amount' + additionalData: + anyOf: + - $ref: '#/components/schemas/AdditionalDataCommon' + - $ref: '#/components/schemas/AdditionalData3DSecure' + - $ref: '#/components/schemas/AdditionalDataAirline' + - $ref: '#/components/schemas/AdditionalDataCarRental' + - $ref: '#/components/schemas/AdditionalDataLevel23' + - $ref: '#/components/schemas/AdditionalDataLodging' + - $ref: '#/components/schemas/AdditionalDataOpenInvoice' + - $ref: '#/components/schemas/AdditionalDataRatepay' + - $ref: '#/components/schemas/AdditionalDataRetry' + - $ref: '#/components/schemas/AdditionalDataRisk' + - $ref: '#/components/schemas/AdditionalDataRiskStandalone' + - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. + amount: + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + $ref: '#/components/schemas/Amount' + applicationInfo: + description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: |- + The address where to send the invoice. + > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + $ref: '#/components/schemas/Address' + browserInfo: + description: |- + The shopper's browser information. + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + $ref: '#/components/schemas/BrowserInfo' + captureDelayHours: + description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' + format: int32 + type: integer + dateOfBirth: + description: |- + The shopper's date of birth. + + Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD + format: date-time + type: string + dccQuote: + description: The forex quote as returned in the response of the forex service. + $ref: '#/components/schemas/ForexQuote' + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + deliveryDate: + description: |- + The date and time the purchased goods should be delivered. + + Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD + + Example: 2017-07-17T13:42:40.428+01:00 + format: date-time + type: string + deviceFingerprint: + description: 'A string containing the shopper''s device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).' + type: string + fraudOffset: + description: An integer value that is added to the normal fraud score. The value can be either positive or negative. + format: int32 + type: integer + installments: + 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.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the transaction.' + type: string + merchantOrderReference: + description: |- + This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. + The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. + > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. + type: string + merchantRiskIndicator: + description: |- + Additional risk fields for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/MerchantRiskIndicator' + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". + type: object + orderReference: + description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' + type: string + paymentMethod: + additionalProperties: + type: string + description: The collection that contains the type of the payment method and its specific information. + type: object + recurring: + description: 'The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).' + $ref: '#/components/schemas/Recurring' + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: |- + The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. + If you need to provide multiple references for a transaction, separate them with hyphens ("-"). + Maximum length: 80 characters. + type: string + selectedBrand: + description: |- + Some payment methods require defining a value for this field to specify how to process the transaction. + + For the Bancontact payment method, it can be set to: + * `maestro` (default), to be processed like a Maestro card, or + * `bcmc`, to be processed like a Bancontact card. + type: string + selectedRecurringDetailReference: + description: The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. + type: string + sessionId: + description: A session ID used to identify a payment session. + type: string + shopperEmail: + description: |- + The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. + > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + type: string + shopperIP: + description: |- + The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). + > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). + type: string + shopperInteraction: + description: |- + Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. + For the web service API, Adyen assumes Ecommerce shopper interaction by default. + + This field has the following possible values: + * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. + * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). + * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. + * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. + enum: + - Ecommerce + - ContAuth + - Moto + - POS + type: string + shopperLocale: + description: The combination of a language code and a country code to specify the language to be used in the payment. + type: string + shopperName: + description: The shopper's full name and gender (if specified). + $ref: '#/components/schemas/Name' + shopperReference: + description: |- + The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). + > This field is required for recurring payments. + type: string + shopperStatement: + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. + type: string + socialSecurityNumber: + description: The shopper's social security number. + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string + telephoneNumber: + description: The shopper's telephone number. + type: string + threeDS2RequestData: + description: Request fields for 3D Secure 2. + $ref: '#/components/schemas/ThreeDS2RequestData' + threeDSAuthenticationOnly: + default: 'false' + description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' + type: boolean + totalsGroup: + description: 'The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).' + maxLength: 16 + minLength: 1 + type: string + trustedShopper: + description: Set to true if the payment should be routed to a trusted MID. + type: boolean + required: + - merchantAccount + - reference + - amount + - paymentMethod + CheckoutBalanceCheckResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + balance: + description: The balance for the payment method. + $ref: '#/components/schemas/Amount' + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - balance + CheckoutCancelOrderRequest: + properties: + merchantAccount: + description: The merchant account identifier that orderData belongs to. + type: string + order: + description: The order request object that contains a pspReference that represents the order and the matching encrypted order data. + $ref: '#/components/schemas/CheckoutOrder' + required: + - order + - merchantAccount + CheckoutCancelOrderResponse: + properties: + pspReference: + description: A unique reference of the cancellation request. + type: string + resultCode: + description: The result of the cancellation request. + type: string + required: + - pspReference + - resultCode + CheckoutCreateOrderRequest: + properties: + amount: + description: The total amount of the order. + $ref: '#/components/schemas/Amount' + expiresAt: + description: 'The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the order.' + type: string + reference: + description: A custom reference identifying the order. + type: string + required: + - merchantAccount + - amount + CheckoutCreateOrderResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + expiresAt: + description: The date that the order will expire. + type: string + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + orderData: + description: The encrypted data that will be used by merchant for adding payments to the order. + type: string + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + remainingAmount: + description: The remaining amount in the order. + $ref: '#/components/schemas/Amount' + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - remainingAmount + - expiresAt + - orderData + CheckoutDonationAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutOneTimePasscodeAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + redirect: + description: 'When the payment flow requires a redirect as fallback, this object contains information about the redirect.' + $ref: '#/components/schemas/Redirect' + resendInterval: + description: The interval in second between OTP resend. + format: int32 + type: integer + resendMaxAttempts: + description: The maximum number of OTP resend attempts. + format: int32 + type: integer + resendUrl: + description: 'The URL, to which you make POST request to trigger OTP resend.' + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutOrder: + properties: + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + required: + - pspReference + - orderData + CheckoutOrderResponse: + properties: + expiresAt: + description: The expiry date for the order. + type: string + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + reference: + description: The merchant reference for the order. + type: string + remainingAmount: + description: The updated remaining amount. + $ref: '#/components/schemas/Amount' + required: + - pspReference + CheckoutQrCodeAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + qrCodeData: + description: The contents of the QR code as a UTF8 string. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutRedirectAction: + properties: + data: + additionalProperties: + type: string + description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' + type: object + method: + description: 'Specifies the HTTP method, for example GET or POST.' + type: string + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutSDKAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + sdkData: + additionalProperties: + type: string + description: The data to pass to the SDK. + type: object + url: + description: Specifies the URL to redirect to. + type: string + CheckoutThreeDS2ChallengeAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + token: + description: A token to pass to the 3DS2 Component to get the challenge. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutThreeDS2FingerPrintAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + token: + description: A token to pass to the 3DS2 Component to get the fingerprint. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutUtilityRequest: + properties: + originDomains: + description: 'The list of origin domains, for which origin keys are requested.' + items: + type: string + type: array + required: + - originDomains + CheckoutUtilityResponse: + properties: + originKeys: + additionalProperties: + type: string + description: 'The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.' + type: object + CheckoutVoucherAction: properties: alternativeReference: description: The voucher alternative reference code. type: string - data: - description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' - type: object downloadUrl: description: The URL to download the voucher. type: string + entity: + description: An entity number of Multibanco. + type: string expiresAt: description: The date time of the voucher expiry. type: string @@ -2022,18 +2536,12 @@ components: merchantReference: description: The merchant reference. type: string - method: - description: 'Specifies the HTTP method, for example GET or POST.' - type: string paymentData: description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' type: string paymentMethodType: description: Specifies the payment method. type: string - qrCodeData: - description: The contents of the QR code as a UTF8 string. - type: string reference: description: The voucher reference code. type: string @@ -2046,25 +2554,9 @@ components: surcharge: description: The surcharge amount. $ref: '#/components/schemas/Amount' - token: - description: A token to pass to the 3DS2 Component to get the fingerprint/challenge. - type: string totalAmount: description: The total amount (initial plus surcharge amount). $ref: '#/components/schemas/Amount' - type: - description: Enum that specifies the action that needs to be taken by the client. - enum: - - await - - donate - - qrCode - - redirect - - sdk - - threeDS2Challenge - - threeDS2Fingerprint - - voucher - - wechatpaySDK - type: string url: description: Specifies the URL to redirect to. type: string @@ -2131,12 +2623,13 @@ components: type: string type: array amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: The payment amount and currency. $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).' + $ref: '#/components/schemas/ApplicationInfo' billingAddress: - description: |- - The address where to send the invoice. - > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + description: The address where to send the invoice. $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- @@ -2147,75 +2640,98 @@ components: type: string type: array countryCode: - description: The shopper's country code. + description: The shopper's two-letter country code. type: string deliveryAddress: description: The address where the purchased goods should be delivered. $ref: '#/components/schemas/Address' description: description: |- - A short description visible on the Pay By Link page. + A short description visible on the payment page. Maximum length: 280 characters. type: string expiresAt: - description: 'The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.' + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: + * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit" + * Maximum 20 characters per key. When exceeding, the "178" error occurs: "Metadata key size exceeds limit" + * A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id + type: object + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile type: string reference: - description: |- - The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. - If you need to provide multiple references for a transaction, separate them with hyphens ("-"). - Maximum length: 80 characters. + description: A reference that is used to uniquely identify the payment in future communications about the payment status. type: string returnUrl: description: |- Website URL used for redirection after payment is completed. - If provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean shopperEmail: - description: |- - The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. - > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + description: The shopper's email address. type: string shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' type: string storePaymentMethod: - description: 'When true and `shopperReference` is provided, the payment details will be stored.' + description: 'When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.' type: boolean required: - - merchantAccount - - reference - amount - - countryCode - CreatePaymentLinkResponse: - properties: - amount: - description: The amount for which the Pay By Link URL was created. - $ref: '#/components/schemas/Amount' - expiresAt: - description: 'The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.' - type: string - reference: - description: The reference that was specified when the Pay By Link URL was created. - type: string - url: - description: The URL at which the shopper can complete the payment. - type: string - required: - reference - - expiresAt - - url + - merchantAccount DetailsRequest: properties: details: + additionalProperties: + type: string + deprecated: true description: Use this collection to submit the details that were returned as a result of the `/payments` call. type: object paymentData: @@ -2229,18 +2745,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -2258,6 +2776,103 @@ components: - text type: string type: array + DokuDetails: + properties: + firstName: + description: The shopper's first name. + type: string + infix: + type: string + lastName: + description: The shopper's last name. + type: string + ovoId: + type: string + shopperEmail: + description: The shopper's email. + type: string + type: + description: '**doku**' + enum: + - doku_mandiri_va + - doku_cimb_va + - doku_danamon_va + - doku_bni_va + - doku_permata_lite_atm + - doku_bri_va + - doku_bca_va + - doku_alfamart + - doku_indomaret + type: string + required: + - type + - firstName + - lastName + - shopperEmail + DotpayDetails: + properties: + issuer: + description: The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it. + type: string + type: + default: dotpay + description: '**dotpay**' + type: string + required: + - type + - issuer + DragonpayDetails: + properties: + issuer: + description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. + type: string + shopperEmail: + description: The shopper’s email address. + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer + EcontextVoucherDetails: + properties: + firstName: + description: The shopper's first name. + type: string + lastName: + description: The shopper's last name. + type: string + shopperEmail: + description: The shopper's email. + type: string + telephoneNumber: + description: The shopper's contact number. + type: string + type: + description: '**econtextvoucher**' + enum: + - econtext_seveneleven + - econtext_stores + type: string + required: + - type + - firstName + - lastName + - shopperEmail + - telephoneNumber + EntercashDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: entercash + description: '**entercash**' + type: string + required: + - type + - issuer ExternalPlatform: properties: integrator: @@ -2342,9 +2957,52 @@ components: type: array required: - accountScore + GiropayDetails: + properties: + type: + default: giropay + description: '**giropay**' + type: string + required: + - type + GooglePayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + googlePayCardNetwork: + description: '' + type: string + googlePayToken: + description: '' + type: string + type: + default: paywithgoogle + description: '**paywithgoogle**' + type: string + required: + - type + - googlePayToken + - googlePayCardNetwork + IdealDetails: + properties: + issuer: + description: The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it. + type: string + type: + default: ideal + description: '**ideal**' + type: string + required: + - type + - issuer InputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object details: @@ -2397,6 +3055,38 @@ components: name: description: The display name. type: string + KlarnaDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + token: + type: string + type: + description: The payment method type. + type: string + required: + - type + LianLianPayDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber LineItem: properties: amountExcludingTax: @@ -2433,6 +3123,38 @@ components: description: 'Tax percentage, in minor units.' format: int64 type: integer + MasterpassDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + masterpassTransactionId: + description: The Masterpass transaction ID. + type: string + type: + default: masterpass + description: '**masterpass**' + type: string + required: + - type + - masterpassTransactionId + MbwayDetails: + properties: + shopperEmail: + description: '' + type: string + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber + - shopperEmail MerchantDevice: properties: os: @@ -2503,6 +3225,25 @@ components: reorderItems: description: Indicator for whether the shopper has already purchased the same items in the past. type: boolean + MobilePayDetails: + properties: + type: + default: mobilepay + description: '**mobilepay**' + type: string + required: + - type + MolPayDetails: + properties: + issuer: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer Name: properties: firstName: @@ -2531,6 +3272,185 @@ components: - firstName - lastName - gender + NexoRouterDetails: + properties: + type: + description: The payment method type. + type: string + uniqueTerminalId: + type: string + required: + - type + OpenInvoiceDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + type: + description: The payment method type. + type: string + required: + - type + PayPalDetails: + properties: + orderID: + type: string + payerID: + type: string + subtype: + description: The type of flow to initiate. + enum: + - redirect + - sdk + type: string + type: + default: paypal + description: '**paypal**' + type: string + required: + - type + PaymentDetails: + properties: + type: + description: The payment method type. + type: string + required: + - type + PaymentLinkResource: + properties: + allowedPaymentMethods: + description: |- + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"allowedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + amount: + description: The payment amount and currency. + $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).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: The address where to send the invoice. + $ref: '#/components/schemas/Address' + blockedPaymentMethods: + description: |- + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"blockedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + countryCode: + description: The shopper's two-letter country code. + type: string + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + description: + description: |- + A short description visible on the payment page. + Maximum length: 280 characters. + type: string + expiresAt: + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' + type: string + id: + description: A unique identifier of the payment link. + readOnly: true + type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array + merchantAccount: + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: A reference that is used to uniquely identify the payment in future communications about the payment status. + type: string + returnUrl: + description: |- + Website URL used for redirection after payment is completed. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. + type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean + shopperEmail: + description: The shopper's email address. + type: string + shopperLocale: + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' + type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' + shopperReference: + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + status: + description: |- + Status of the payment link. Possible values: + * **active** + * **paid** + * **expired** + enum: + - active + - expired + - paid + type: string + store: + description: 'The physical store, for which this payment is processed.' + type: string + storePaymentMethod: + description: 'When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.' + type: boolean + url: + description: The URL at which the shopper can complete the payment. + readOnly: true + type: string + required: + - amount + - reference + - merchantAccount + - id + - url + - status PaymentMethod: properties: brands: @@ -2539,6 +3459,8 @@ components: type: string type: array configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -2594,10 +3516,6 @@ components: PaymentMethodsRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2611,6 +3529,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). @@ -2655,9 +3578,11 @@ components: The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). > This field is required for recurring payments. type: string - threeDSAuthenticationOnly: - 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 + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string required: - merchantAccount - reference @@ -2691,10 +3616,6 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/AccountInfo' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2708,6 +3629,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. amount: description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' @@ -2722,7 +3648,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -2826,13 +3752,18 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/MerchantRiskIndicator' metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' + order: + description: Contains the order information which is required for partial payments. + $ref: '#/components/schemas/CheckoutOrder' orderReference: description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' type: string @@ -2843,8 +3774,41 @@ components: Set this parameter to the origin URL of the page that you are loading the 3D Secure Component from. type: string paymentMethod: - description: The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`). - type: object + description: The type and required details of a payment method to use. + oneOf: + - $ref: '#/components/schemas/ApplePayDetails' + - $ref: '#/components/schemas/SamsungPayDetails' + - $ref: '#/components/schemas/AndroidPayDetails' + - $ref: '#/components/schemas/VisaCheckoutDetails' + - $ref: '#/components/schemas/GooglePayDetails' + - $ref: '#/components/schemas/AmazonPayDetails' + - $ref: '#/components/schemas/MasterpassDetails' + - $ref: '#/components/schemas/PaymentDetails' + - $ref: '#/components/schemas/CardDetails' + - $ref: '#/components/schemas/AchDetails' + - $ref: '#/components/schemas/KlarnaDetails' + - $ref: '#/components/schemas/IdealDetails' + - $ref: '#/components/schemas/PayPalDetails' + - $ref: '#/components/schemas/SepaDirectDebitDetails' + - $ref: '#/components/schemas/QiwiWalletDetails' + - $ref: '#/components/schemas/VippsDetails' + - $ref: '#/components/schemas/MobilePayDetails' + - $ref: '#/components/schemas/WeChatPayDetails' + - $ref: '#/components/schemas/WeChatPayMiniProgramDetails' + - $ref: '#/components/schemas/LianLianPayDetails' + - $ref: '#/components/schemas/MolPayDetails' + - $ref: '#/components/schemas/BillDeskOnlineDetails' + - $ref: '#/components/schemas/BillDeskWalletDetails' + - $ref: '#/components/schemas/DotpayDetails' + - $ref: '#/components/schemas/EntercashDetails' + - $ref: '#/components/schemas/OpenInvoiceDetails' + - $ref: '#/components/schemas/DokuDetails' + - $ref: '#/components/schemas/EcontextVoucherDetails' + - $ref: '#/components/schemas/DragonpayDetails' + - $ref: '#/components/schemas/GiropayDetails' + - $ref: '#/components/schemas/NexoRouterDetails' + - $ref: '#/components/schemas/BlikDetails' + - $ref: '#/components/schemas/MbwayDetails' recurringExpiry: description: Date after which no further authorisations shall be performed. Only for 3D Secure 2. type: string @@ -2856,8 +3820,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. - * `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. enum: - CardOnFile - Subscription @@ -2876,7 +3840,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -2922,16 +3894,23 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string storePaymentMethod: description: 'When true and `shopperReference` is provided, the payment details will be stored.' type: boolean @@ -2942,6 +3921,7 @@ components: description: Request fields for 3D Secure 2. $ref: '#/components/schemas/ThreeDS2RequestData' threeDSAuthenticationOnly: + default: 'false' description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' type: boolean trustedShopper: @@ -2957,18 +3937,30 @@ components: properties: action: description: Action to be taken for completing the payment. - $ref: '#/components/schemas/CheckoutPaymentsAction' + oneOf: + - $ref: '#/components/schemas/CheckoutDonationAction' + - $ref: '#/components/schemas/CheckoutQrCodeAction' + - $ref: '#/components/schemas/CheckoutRedirectAction' + - $ref: '#/components/schemas/CheckoutSDKAction' + - $ref: '#/components/schemas/CheckoutThreeDS2ChallengeAction' + - $ref: '#/components/schemas/CheckoutThreeDS2FingerPrintAction' + - $ref: '#/components/schemas/CheckoutAwaitAction' + - $ref: '#/components/schemas/CheckoutVoucherAction' + - $ref: '#/components/schemas/CheckoutOneTimePasscodeAction' additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' authentication: + additionalProperties: + type: string description: 'Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ' type: object details: @@ -2985,7 +3977,12 @@ components: If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters. type: string + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' outputDetails: + additionalProperties: + type: string description: Contains the details that will be presented to the shopper. type: object paymentData: @@ -3002,16 +3999,18 @@ components: $ref: '#/components/schemas/Redirect' refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -3019,7 +4018,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -3040,10 +4039,6 @@ components: PaymentSetupRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -3057,9 +4052,14 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- - List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"allowedPaymentMethods":["ideal","giropay"]` items: @@ -3078,7 +4078,7 @@ components: $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- - List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"blockedPaymentMethods":["ideal","giropay"]` items: @@ -3181,6 +4181,8 @@ components: > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. type: string metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". @@ -3207,7 +4209,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -3256,13 +4266,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -3273,6 +4285,7 @@ components: description: The shopper's telephone number. type: string threeDSAuthenticationOnly: + default: 'false' description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' type: boolean token: @@ -3311,21 +4324,25 @@ components: PaymentVerificationResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' merchantReference: description: A unique value that you provided in the initial `/paymentSession` request as a `reference` field. type: string + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' paymentMethod: description: The payment method used in the transaction. type: string @@ -3337,16 +4354,18 @@ components: type: string refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -3354,7 +4373,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -3382,6 +4401,18 @@ components: - merchantReference - paymentMethod - shopperLocale + QiwiWalletDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: qiwiwallet + description: '**qiwiwallet**' + type: string + required: + - type + - telephoneNumber Recurring: properties: contract: @@ -3421,6 +4452,8 @@ components: type: string type: array configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -3458,6 +4491,8 @@ components: Redirect: properties: data: + additionalProperties: + type: string description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' type: object method: @@ -3472,6 +4507,504 @@ components: url: description: 'The URL, to which you must redirect a shopper to complete a payment.' type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string RiskData: properties: clientData: @@ -3491,6 +5024,39 @@ components: 'y': description: The `y` value as received from the 3D Secure 2 SDK. type: string + SamsungPayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + samsungPayToken: + description: '' + type: string + type: + default: samsungpay + description: '**samsungpay**' + type: string + required: + - type + - samsungPayToken + SepaDirectDebitDetails: + properties: + iban: + description: The International Bank Account Number (IBAN). + type: string + ownerName: + description: The name of the bank account holder. + type: string + type: + default: sepadirectdebit + description: '**sepadirectdebit**' + type: string + required: + - type + - iban + - ownerName ServiceError: properties: errorCode: @@ -3655,6 +5221,8 @@ components: SubInputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object items: @@ -3683,6 +5251,7 @@ components: description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant''s acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.' type: string authenticationOnly: + default: 'false' description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' type: boolean challengeIndicator: @@ -3720,6 +5289,7 @@ components: > Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account. type: string messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -3741,6 +5311,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -3788,7 +5359,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -3806,7 +5377,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -3830,3 +5401,73 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + UpdatePaymentLinkRequest: + properties: + status: + description: |- + Status of the payment link. Possible values: + * **expired** + enum: + - expired + type: string + required: + - status + VippsDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: vipps + description: '**vipps**' + type: string + required: + - type + - telephoneNumber + VisaCheckoutDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + type: + default: visacheckout + description: '**visacheckout**' + type: string + visaCheckoutCallId: + description: '' + type: string + required: + - type + - visaCheckoutCallId + WeChatPayDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + WeChatPayMiniProgramDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/CheckoutService-v51.yaml b/yaml/CheckoutService-v51.yaml index 0a0d209..5ae4d24 100644 --- a/yaml/CheckoutService-v51.yaml +++ b/yaml/CheckoutService-v51.yaml @@ -1,11 +1,11 @@ -openapi: 3.0.0 +openapi: 3.0.3 servers: - url: 'https://checkout-test.adyen.com/v51' info: version: '51' title: Adyen Checkout API description: |- - Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including One-Click and 3D Secure), mobile wallets, and local payment methods (e.g. iDEAL and Sofort). + Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort). This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/checkout). @@ -33,9 +33,101 @@ info: url: 'https://support.adyen.com/' email: support@adyen.com x-groups: - - API Integration - - SDK Integration + - Payments + - Payment links + - Orders + - Classic Checkout SDK + - Utility paths: + /orders: + post: + summary: Creates an order for the given amount. + description: Creates an order to be used for partial payments. Make a POST `/orders` call before making a `/payments` call when processing payments with different payment methods. + operationId: post-orders + x-groupName: Orders + x-sortIndex: 2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCreateOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /orders/cancel: + post: + summary: Cancels the given order. + description: 'Cancels an order. Cancellation of an order results in an automatic rollback of all payments made in the order, either by canceling or refunding the payment, depending on the type of payment method.' + operationId: post-orders-cancel + x-groupName: Orders + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutCancelOrderResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + /originKeys: + post: + summary: Create originKey values for one or more merchant domains. + description: |- + This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. + > Instead of using an origin key, consider [switching to a client key](https://docs.adyen.com/user-management/client-side-authentication/migrate-from-origin-key-to-client-key) for your Web Drop-in or Web Component integration. This allows you to use a single key for all origins, add or remove origins without generating a new key, and detect the card type from the number entered in your payment form. + operationId: post-originKeys + x-groupName: Utility + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutUtilityResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentLinks: post: summary: Creates a payment link. @@ -43,8 +135,9 @@ paths: Creates a payment link to our hosted payment form where shoppers can pay. The list of payment methods presented to the shopper depends on the `currency` and `country` parameters sent in the request. For more information, refer to [Pay by Link documentation](https://docs.adyen.com/checkout/pay-by-link#create-payment-links-through-api). - x-groupName: API Integration - x-sortIndex: 8 + operationId: post-paymentLinks + x-groupName: Payment links + x-sortIndex: 1 requestBody: content: application/json: @@ -55,7 +148,75 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreatePaymentLinkResponse' + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '201': + description: Created - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + '/paymentLinks/{linkId}': + get: + summary: Retrieve a payment link. + description: Retrieves the payment link details using the payment link `id`. + operationId: get-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 2 + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. + patch: + summary: Update the status of a payment link + description: 'Updates the status of a payment link. Use this endpoint to [force the expiry of a payment link](https://docs.adyen.com/checkout/pay-by-link#update-payment-link-status).' + operationId: patch-paymentLinks-linkId + x-groupName: Payment links + x-sortIndex: 3 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePaymentLinkRequest' + parameters: + - description: Unique identifier of the payment link. + name: linkId + in: path + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentLinkResource' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. @@ -74,7 +235,8 @@ paths: Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to `/payments`). Although we highly recommend using this endpoint to ensure you are always offering the most up-to-date list of payment methods, its usage is optional. You can, for example, also cache the `/paymentMethods` response and update it once a week. - x-groupName: API Integration + operationId: post-paymentMethods + x-groupName: Payments x-sortIndex: 1 requestBody: content: @@ -98,6 +260,35 @@ paths: description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. + /paymentMethods/balance: + post: + summary: Returns the available balance on gift card. + description: 'Retrieves the balance remaining on a shopper''s gift card. To check a gift card''s balance, make a POST `/paymentMethods/balance` call and include the gift card''s details inside a `paymentMethod` object.' + operationId: post-paymentMethods-balance + x-groupName: Orders + x-sortIndex: 1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckRequest' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckoutBalanceCheckResponse' + description: OK - the request has succeeded. + '400': + description: Bad Request - a problem reading or understanding the request. + '401': + description: Unauthorized - authentication required. + '403': + description: Forbidden - insufficient permissions to process the request. + '422': + description: Unprocessable Entity - a request validation error. + '500': + description: Internal Server Error - the server could not process the request. /paymentSession: post: summary: Creates a payment session. @@ -105,7 +296,8 @@ paths: Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-paymentSession + x-groupName: Classic Checkout SDK x-sortIndex: 1 requestBody: content: @@ -133,10 +325,11 @@ paths: post: summary: Starts a transaction. description: |- - Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request: - * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. `authorised` or `refused`). - * For other payment methods, you'll receive `redirectShopper` as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. - x-groupName: API Integration + Sends payment parameters (like amount, country, and currency) together with other required input details collected from the shopper. To know more about required parameters for specific payment methods, refer to our [payment method guides](https://docs.adyen.com/payment-methods). The response returns the result of the payment request: + * For some payment methods (e.g. Visa, Mastercard, and SEPA Direct Debits) you'll get a final state in the `resultCode` (e.g. **Authorised** or **Refused**). + * For other payment methods, you'll receive **RedirectShopper** as `resultCode` together with a `redirectUrl`. In this case, the shopper must finalize the payment on the page behind the `redirectUrl`. + operationId: post-payments + x-groupName: Payments x-sortIndex: 2 requestBody: content: @@ -169,7 +362,8 @@ paths: The exact details, which need to be sent to this endpoint, are always specified in the response of the associated `/payments` request. In addition, the endpoint can be used to verify a `payload`, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API. - x-groupName: API Integration + operationId: post-payments-details + x-groupName: Payments x-sortIndex: 3 requestBody: content: @@ -200,7 +394,8 @@ paths: Verifies the payment result using the payload returned from the Checkout SDK. For more information, refer to [How it works](https://docs.adyen.com/checkout#howitworks). - x-groupName: SDK Integration + operationId: post-payments-result + x-groupName: Classic Checkout SDK x-sortIndex: 2 requestBody: content: @@ -364,8 +559,418 @@ components: workPhone: description: Shopper's work phone number (including the country code). type: string + AchDetails: + properties: + bankAccountNumber: + description: The bank account number (without separators). + type: string + bankLocationId: + description: The bank routing number of the account. The field value is `nil` in most cases. + type: string + encryptedBankAccountNumber: + description: Encrypted bank account number. The bank account number (without separators). + type: string + encryptedBankLocationId: + description: Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases. + type: string + ownerName: + description: |- + The name of the bank account holder. + If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example: + * χ12 is converted to ch12. + * üA is converted to euA. + * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'. + After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example: + * John17 - allowed. + * J17 - allowed. + * 171 - not allowed. + * John-7 - allowed. + > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'. + type: string + type: + default: ach + description: '**ach**' + type: string + required: + - type + - bankAccountNumber + AdditionalData3DSecure: + properties: + allow3DS2: + description: |- + This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: + * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. + * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. + > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the `executeThreeD` parameter. + type: string + executeThreeD: + description: |- + This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: + * **true** – Perform 3D Secure authentication. + * **false** – Don't perform 3D Secure authentication. + > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + type: string + mpiImplementationType: + description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' + type: string + scaExemption: + description: |- + Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: + * **lowValue** + * **secureCorporate** + * **trustedBeneficiary** + * **transactionRiskAnalysis** + type: string + AdditionalDataAirline: + properties: + airline.agency_invoice_number: + description: |- + Reference number for the invoice, issued by the agency. + * minLength: 1 + * maxLength: 6 + type: string + airline.agency_plan_name: + description: |- + 2-letter agency plan identifier; alphabetical. + * minLength: 2 + * maxLength: 2 + type: string + airline.airline_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. + * Format: IATA 3-digit accounting code (PAX) + * Example: KLM = 074 + * minLength: 3 + * maxLength: 3 + type: string + airline.airline_designator_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.boarding_fee: + description: |- + Chargeable amount for boarding the plane. + The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 18 + type: string + airline.computerized_reservation_system: + description: |- + The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. + * Format: alphanumeric. + * minLength: 4 + * maxLength: 4 + type: string + airline.customer_reference_number: + description: |- + Reference number; alphanumeric. + * minLength: 0 + * maxLength: 20 + type: string + airline.document_type: + description: |- + Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. + * Format: 2-digit code + * Example: Passenger ticket = 01 + * minLength: 2 + * maxLength: 2 + type: string + airline.flight_date: + description: |- + Flight departure date. Local time `(HH:mm)` is optional. + * Date format: `yyyy-MM-dd` + * Date and time format: `yyyy-MM-dd HH:mm` + * minLength: 10 + * maxLength: 16 + type: string + airline.leg.carrier_code: + description: |- + [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. + This field is required/mandatory if the airline data includes leg details. + * Format: IATA 2-letter airline code + * Example: KLM = KL + * minLength: 2 + * maxLength: 2 + type: string + airline.leg.class_of_travel: + description: |- + 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: + * F: first class + * J: business class + * Y: economy class + * W: premium economy + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.leg.date_of_travel: + description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" + type: string + airline.leg.depart_airport: + description: |- + Alphabetical identifier of the departure airport. + This field is required if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.depart_tax: + description: |- + [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + * minLength: 1 + * maxLength: 12 + type: string + airline.leg.destination_code: + description: |- + Alphabetical identifier of the destination/arrival airport. + This field is required/mandatory if the airline data includes leg details. + * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. + * Example: Amsterdam = AMS + * minLength: 3 + * maxLength: 3 + type: string + airline.leg.fare_base_code: + description: |- + [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. + * minLength: 1 + * maxLength: 7 + type: string + airline.leg.flight_number: + description: |- + The flight identifier. + * minLength: 1 + * maxLength: 5 + type: string + airline.leg.stop_over_code: + description: |- + 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: + * O: Stopover allowed + * X: Stopover not allowed + + Limitations: + * minLength: 1 + * maxLength: 1 + type: string + airline.passenger.date_of_birth: + description: |- + Date of birth of the passenger. + + Date format: `yyyy-MM-dd` + * minLength: 10 + * maxLength: 10 + type: string + airline.passenger.first_name: + description: |- + Passenger first name/given name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.last_name: + description: |- + Passenger last name/family name. + > This field is required/mandatory if the airline data includes passenger details or leg details. + type: string + airline.passenger.telephone_number: + description: |- + Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. + * minLength: 3 + * maxLength: 30 + type: string + airline.passenger.traveller_type: + description: |- + Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. + + However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. + * minLength: 3 + * maxLength: 6 + type: string + airline.passenger_name: + description: |- + Passenger name, initials, and a title. + * Format: last name + first name or initials + title. + * Example: *FLYER / MARY MS*. + * minLength: 1 + * maxLength: 49 + type: string + airline.ticket_issue_address: + description: |- + Address of the place/agency that issued the ticket. + * minLength: 0 + * maxLength: 16 + type: string + airline.ticket_number: + description: |- + The ticket's unique identifier. + * minLength: 1 + * maxLength: 150 + type: string + airline.travel_agency_code: + description: |- + IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. + * minLength: 1 + * maxLength: 8 + type: string + airline.travel_agency_name: + description: |- + The name of the travel agency. + * minLength: 1 + * maxLength: 25 + type: string + required: + - airline.passenger_name + AdditionalDataCarRental: + properties: + carRental.checkOutDate: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.customerServiceTollFreeNumber: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.daysRented: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.fuelCharges: + description: |- + Any fuel charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.insuranceCharges: + description: |- + Any insurance charges associated with the rental. + * Format: Numeric + * maxLength: 12 + type: string + carRental.locationCity: + description: |- + The location from which the car is rented. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.locationCountry: + description: |- + The customer service phone number of the car rental company. + * Format: Alphanumeric + * maxLength: 17 + type: string + carRental.locationStateProvince: + description: |- + Pick-up date. + * Date format: `yyyyMMdd` + type: string + carRental.noShowIndicator: + description: |- + Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). + * 0 - Not applicable. + * 1 - Customer was a no show. + type: string + carRental.oneWayDropOffCharges: + description: Charge associated with not returning a vehicle to the original rental location. + type: string + carRental.rate: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.rateIndicator: + description: |- + Specifies whether the given rate is applied daily or weekly. + * D - Daily rate. + * W - Weekly rate. + type: string + carRental.rentalAgreementNumber: + description: |- + The rental agreement number associated with this car rental. + * Format: Alphanumeric + * maxLength: 14 + type: string + carRental.rentalClassId: + description: |- + Daily rental rate. + * Format: Alphanumeric + * maxLength: 12 + type: string + carRental.renterName: + description: |- + The name of the person renting the car. + * Format: Alphanumeric + * maxLength: 26 + type: string + carRental.returnCity: + description: |- + The city where the car must be returned. + * Format: Alphanumeric + * maxLength: 18 + type: string + carRental.returnCountry: + description: |- + The country where the car must be returned. + * Format: Alphanumeric + * maxLength: 2 + type: string + carRental.returnDate: + description: |- + The last date to return the car by. + * Date format: `yyyyMMdd` + type: string + carRental.returnLocationId: + description: |- + Agency code, phone number, or address abbreviation + * Format: Alphanumeric + * maxLength: 10 + type: string + carRental.returnStateProvince: + description: |- + The state or province where the car must be returned. + * Format: Alphanumeric + * maxLength: 3 + type: string + carRental.taxExemptIndicator: + description: |- + Indicates whether the goods or services were tax-exempt, or tax was not collected. + + Values: + * 0 - Tax was not collected + * 1 - Goods or services were tax exempt + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataCommon: properties: + RequestedTestErrorResponseCode: + description: |- + Triggers test scenarios that allow to replicate certain communication errors. + + Allowed values: + * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. + This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. + * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. + This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + type: string authorisationType: description: |- Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/checkout/adjust-authorisation#authorisation-types). @@ -390,431 +995,89 @@ components: Submit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges. - Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardonFile** to ensure that the transaction is classified as MIT. + Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT. type: string overwriteBrand: description: 'Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.' type: string - RequestedTestErrorResponseCode: + subMerchantCity: description: |- - Triggers test scenarios that allow to replicate certain communication errors. - - Allowed values: - * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication. - This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request. - * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response. - This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 13 characters. + type: string + subMerchantCountry: + description: |- + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address. + * Format: alpha-numeric. + * Fixed length: 3 characters. type: string subMerchantID: description: |- - This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID, which is used by schemes to identify the merchant. + This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID. A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator. * Format: alpha-numeric. * Fixed length: 15 characters. type: string - AdditionalData3DSecure: - properties: - allow3DS2: + subMerchantName: description: |- - This parameter indicates that you are able to process 3D Secure 2 transactions natively on your payment page. Send this field when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/checkout/3d-secure/native-3ds2), such as Components or Drop-in. Possible values: - * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience. - * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration. - > This parameter only indicates your readiness to support 3D Secure 2 natively on Drop-in or Components. To specify that you want to perform 3D Secure on a transaction, use Dynamic 3D Secure or send the executeThreeD parameter. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant. + * Format: alpha-numeric. + * Maximum length: 22 characters. type: string - executeThreeD: + subMerchantPostalCode: description: |- - This parameter indicates if you want to perform 3D Secure authentication on a transaction or not. Allowed values: - * **true** – Perform 3D Secure authentication. - * **false** – Don't perform 3D Secure authentication. - > Alternatively, you can also use Dynamic 3D Secure to configure rules for applying 3D Secure. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 10 characters. type: string - mpiImplementationType: - description: 'In case of Secure+, this field must be set to **CUPSecurePlus**.' - type: string - scaExemption: + subMerchantState: description: |- - Indicates the [exemption type](https://docs-admin.is.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction. Possible values: - * **lowValue** - * **secureCorporate** - * **trustedBeneficiary** - * **transactionRiskAnalysis** + This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 3 characters. type: string - AdditionalDataAirline: - properties: - airline.passenger_name: + subMerchantStreet: description: |- - Passenger name, initials, and a title. - * Format: last name + first name or initials + title. - * Example: *FLYER / MARY MS*. - * minLength: 1 - * maxLength: 49 + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address. + * Format: alpha-numeric. + * Maximum length: 60 characters. type: string - airline.computerized_reservation_system: + subMerchantTaxId: description: |- - The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. - * Format: alphanumeric. - * minLength: 4 - * maxLength: 4 - type: string - airline.airline_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier. - * Format: IATA 3-digit accounting code (PAX) - * Example: KLM = 074 - * minLength: 3 - * maxLength: 3 - type: string - airline.ticket_number: - description: |- - The ticket's unique identifier. - * minLength: 1 - * maxLength: 150 - type: string - airline.flight_date: - description: |- - Flight departure date. Local time `(HH:mm)` is optional. - * Date format: `yyyy-MM-dd` - * Date and time format: `yyyy-MM-dd HH:mm` - * minLength: 10 - * maxLength: 16 - type: string - airline.customer_reference_number: - description: |- - Reference number; alphanumeric. - * minLength: 0 - * maxLength: 20 - type: string - airline.ticket_issue_address: - description: |- - Address of the place/agency that issued the ticket. - * minLength: 0 - * maxLength: 16 - type: string - airline.airline_designator_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.travel_agency_code: - description: |- - IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies. - * minLength: 1 - * maxLength: 8 - type: string - airline.travel_agency_name: - description: |- - The name of the travel agency. - * minLength: 1 - * maxLength: 25 - type: string - airline.agency_plan_name: - description: |- - 2-letter agency plan identifier; alphabetical. - * minLength: 2 - * maxLength: 2 - type: string - airline.agency_invoice_number: - description: |- - Reference number for the invoice, issued by the agency. - * minLength: 1 - * maxLength: 6 - type: string - airline.boarding_fee: - description: |- - Chargeable amount for boarding the plane. - The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 18 - type: string - airline.document_type: - description: |- - Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements. - * Format: 2-digit code - * Example: Passenger ticket = 01 - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.depart_airport: - description: |- - Alphabetical identifier of the departure airport. - This field is required if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.flight_number: - description: |- - The flight identifier. - * minLength: 1 - * maxLength: 5 - type: string - airline.leg.carrier_code: - description: |- - [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier. - This field is required/mandatory if the airline data includes leg details. - * Format: IATA 2-letter airline code - * Example: KLM = KL - * minLength: 2 - * maxLength: 2 - type: string - airline.leg.fare_base_code: - description: |- - [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric. - * minLength: 1 - * maxLength: 7 - type: string - airline.leg.class_of_travel: - description: |- - 1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently: - * F: first class - * J: business class - * Y: economy class - * W: premium economy - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.stop_over_code: - description: |- - 1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed: - * O: Stopover allowed - * X: Stopover not allowed - - Limitations: - * minLength: 1 - * maxLength: 1 - type: string - airline.leg.destination_code: - description: |- - Alphabetical identifier of the destination/arrival airport. - This field is required/mandatory if the airline data includes leg details. - * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code. - * Example: Amsterdam = AMS - * minLength: 3 - * maxLength: 3 - type: string - airline.leg.date_of_travel: - description: "\t\nDate and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.\n* Format: `yyyy-MM-dd HH:mm`\n* minLength: 16\n* maxLength: 16" - type: string - airline.leg.depart_tax: - description: |- - [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - * minLength: 1 - * maxLength: 12 - type: string - airline.passenger.first_name: - description: |- - Passenger first name/given name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.last_name: - description: |- - Passenger last name/family name. - > This field is required/mandatory if the airline data includes passenger details or leg details. - type: string - airline.passenger.traveller_type: - description: |- - Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS. - - However, several carriers use non-standard codes that can be up to 5 alphanumeric characters. - * minLength: 3 - * maxLength: 6 - type: string - airline.passenger.telephone_number: - description: |- - Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs. - * minLength: 3 - * maxLength: 30 - type: string - airline.passenger.date_of_birth: - description: |- - Date of birth of the passenger. - - Date format: `yyyy-MM-dd` - * minLength: 10 - * maxLength: 10 - type: string - required: - - airline.passenger_name - AdditionalDataCarRental: - properties: - carRental.rentalAgreementNumber: - description: |- - The rental agreement number associated with this car rental. - * Format: Alphanumeric - * maxLength: 14 - type: string - carRental.renterName: - description: |- - The name of the person renting the car. - * Format: Alphanumeric - * maxLength: 26 - type: string - carRental.returnCity: - description: |- - The city where the car must be returned. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.returnStateProvince: - description: |- - The state or province where the car must be returned. - * Format: Alphanumeric - * maxLength: 3 - type: string - carRental.returnCountry: - description: |- - The country where the car must be returned. - * Format: Alphanumeric - * maxLength: 2 - type: string - carRental.returnLocationId: - description: |- - Agency code, phone number, or address abbreviation - * Format: Alphanumeric - * maxLength: 10 - type: string - carRental.returnDate: - description: |- - The last date to return the car by. - * Date format: `yyyyMMdd` - type: string - carRental.checkOutDate: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.customerServiceTollFreeNumber: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rate: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.rateIndicator: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.locationCity: - description: |- - The location from which the car is rented. - * Format: Alphanumeric - * maxLength: 18 - type: string - carRental.locationStateProvince: - description: |- - Pick-up date. - * Date format: `yyyyMMdd` - type: string - carRental.locationCountry: - description: |- - The customer service phone number of the car rental company. - * Format: Alphanumeric - * maxLength: 17 - type: string - carRental.rentalClassId: - description: |- - Daily rental rate. - * Format: Alphanumeric - * maxLength: 12 - type: string - carRental.daysRented: - description: |- - Specifies whether the given rate is applied daily or weekly. - * D - Daily rate. - * W - Weekly rate. - type: string - carRental.taxExemptIndicator: - description: |- - Indicates whether the goods or services were tax-exempt, or tax was not collected. - - Values: - * 0 - Tax was not collected - * 1 - Goods or services were tax exempt - type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string - carRental.fuelCharges: - description: |- - Any fuel charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.insuranceCharges: - description: |- - Any insurance charges associated with the rental. - * Format: Numeric - * maxLength: 12 - type: string - carRental.noShowIndicator: - description: |- - Indicates if the customer was a "no-show" (neither keeps nor cancels their booking). - * 0 - Not applicable. - * 1 - Customer was a no show. - type: string - carRental.oneWayDropOffCharges: - description: Charge associated with not returning a vehicle to the original rental location. + This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant. + * Format: alpha-numeric. + * Fixed length: 11 or 14 characters. type: string AdditionalDataLevel23: properties: enhancedSchemeData.customerReference: description: |- Customer code, if supplied by a customer. + Encoding: ASCII. + Max length: 25 characters. + > Required for Level 2 and Level 3 data. type: string - enhancedSchemeData.totalTaxAmount: + enhancedSchemeData.destinationCountryCode: description: |- - Total tax amount, in minor units. + Destination country code. - For example, 2000 means USD 20.00. - Max length: 12 characters. - > Required for Level 2 and Level 3 data. - type: number - enhancedSchemeData.freightAmount: - description: |- - Shipping amount, in minor units. + Encoding: ASCII. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number - enhancedSchemeData.dutyAmount: - description: |- - Duty amount, in minor units. - - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + Max length: 3 characters. + type: string enhancedSchemeData.destinationPostalCode: description: |- The postal code of a destination address. Encoding: ASCII. + Max length: 10 characters. + > Required for American Express. type: string enhancedSchemeData.destinationStateProvinceCode: @@ -823,84 +1086,113 @@ components: Encoding: ASCII.Max length: 3 characters. type: string - enhancedSchemeData.shipFromPostalCode: + enhancedSchemeData.dutyAmount: description: |- - The postal code of a "ship-from" address. + Duty amount, in minor units. - Encoding: ASCII. - Max length: 10 characters. + For example, 2000 means USD 20.00. + + Max length: 12 characters. type: string - enhancedSchemeData.destinationCountryCode: + enhancedSchemeData.freightAmount: description: |- - Destination country code. + Shipping amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + description: |- + Item commodity code. Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].description': + description: |- + Item description. + + Encoding: ASCII. + + Max length: 26 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': + description: |- + Discount amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].productCode': + description: |- + Product code. + + Encoding: ASCII. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].quantity': + description: |- + Quantity, specified as an integer value. + + Value must be greater than 0. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': + description: |- + Total amount, in minor units. + + For example, 2000 means USD 20.00. + + Max length: 12 characters. + type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': + description: |- + Item unit of measurement. + + Encoding: ASCII. + Max length: 3 characters. type: string + 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': + description: |- + Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). + + Max length: 12 characters. + type: string enhancedSchemeData.orderDate: description: |- Order date. * Format: `ddMMyy` Encoding: ASCII. + Max length: 6 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].commodityCode': + enhancedSchemeData.shipFromPostalCode: description: |- - Item commodity code. + The postal code of a "ship-from" address. + Encoding: ASCII. - Max length: 12 characters. + + Max length: 10 characters. type: string - 'enhancedSchemeData.itemDetailLine[itemNr].description': + enhancedSchemeData.totalTaxAmount: description: |- - Item description. - Encoding: ASCII. - Max length: 26 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].productCode': - description: |- - Product code. - Encoding: ASCII. - Max length: 12 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].quantity': - description: |- - Quantity, specified as an integer value. - Value must be greater than 0. - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure': - description: |- - Item unit of measurement. - Encoding: ASCII. - Max length: 3 characters. - type: string - 'enhancedSchemeData.itemDetailLine[itemNr].unitPrice': - description: |- - Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes). - Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].discountAmount': - description: |- - Discount amount, in minor units. + Total tax amount, in minor units. For example, 2000 means USD 20.00. + Max length: 12 characters. - type: number - 'enhancedSchemeData.itemDetailLine[itemNr].totalAmount': - description: |- - Total amount, in minor units. - For example, 2000 means USD 20.00. - Max length: 12 characters. - type: number + + > Required for Level 2 and Level 3 data. + type: string AdditionalDataLodging: properties: - lodging.customerServiceTollFreeNumber: - description: |- - The toll free phone number for the hotel/lodgings. - * Format: Alphanumeric - * maxLength: 17 - type: string lodging.checkInDate: description: |- The arrival date. @@ -911,60 +1203,30 @@ components: The departure date. * Date format: `yyyyMMdd` type: string - lodging.folioNumber: + lodging.customerServiceTollFreeNumber: description: |- - Card acceptor’s internal invoice or billing ID reference number. - * Format: Alphanumeric - * maxLength: 25 - type: string - lodging.propertyPhoneNumber: - description: |- - Identifies specific lodging property location by its local phone number. + The toll free phone number for the hotel/lodgings. * Format: Alphanumeric * maxLength: 17 type: string - lodging.room1.rate: - description: |- - The rate of the room. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.tax: - description: |- - The total amount of tax to be paid. - * Format: Numeric - * maxLength: 12 - type: string - lodging.room1.numberOfNights: - description: |- - Total number of nights the room will be rented. - * Format: Numeric - * maxLength: 4 - type: string lodging.fireSafetyActIndicator: description: |- Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'. * Format: Alphabetic * maxLength: 1 type: string - travelEntertainmentAuthData.market: - description: |- - Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. - * Format: Alphanumeric - * maxLength: 1 - type: string - travelEntertainmentAuthData.duration: - description: |- - Number of nights. This should be included in the auth message. - * Format: Numeric - * maxLength: 2 - type: string lodging.folioCashAdvances: description: |- The folio cash advances. * Format: Numeric * maxLength: 12 type: string + lodging.folioNumber: + description: |- + Card acceptor’s internal invoice or billing ID reference number. + * Format: Alphanumeric + * maxLength: 25 + type: string lodging.foodBeverageCharges: description: |- Any charges for food and beverages associated with the booking. @@ -985,9 +1247,27 @@ components: * Format: Numeric * maxLength: 12 type: string - lodging.totalTax: + lodging.propertyPhoneNumber: description: |- - Total tax amount. + Identifies specific lodging property location by its local phone number. + * Format: Alphanumeric + * maxLength: 17 + type: string + lodging.room1.numberOfNights: + description: |- + Total number of nights the room will be rented. + * Format: Numeric + * maxLength: 4 + type: string + lodging.room1.rate: + description: |- + The rate of the room. + * Format: Numeric + * maxLength: 12 + type: string + lodging.room1.tax: + description: |- + The total amount of tax to be paid. * Format: Numeric * maxLength: 12 type: string @@ -997,14 +1277,27 @@ components: * Format: Numeric * maxLength: 12 type: string + lodging.totalTax: + description: |- + Total tax amount. + * Format: Numeric + * maxLength: 12 + type: string + travelEntertainmentAuthData.duration: + description: |- + Number of nights. This should be included in the auth message. + * Format: Numeric + * maxLength: 2 + type: string + travelEntertainmentAuthData.market: + description: |- + Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message. + + * Format: Alphanumeric + * maxLength: 1 + type: string AdditionalDataOpenInvoice: properties: - openinvoicedata.numberOfLines: - description: |- - The number of invoice lines included in `openinvoicedata`. - - There needs to be at least one line, so `numberOfLines` needs to be at least 1. - type: integer openinvoicedata.merchantData: description: |- Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string. @@ -1017,34 +1310,40 @@ components: You can contact Klarna for the format and structure of the string. type: string - 'openinvoicedata.line[itemNr].currencyCode': + openinvoicedata.numberOfLines: + description: |- + The number of invoice lines included in `openinvoicedata`. + + There needs to be at least one line, so `numberOfLines` needs to be at least 1. + type: string + 'openinvoicedataLine[itemNr].currencyCode': description: The three-character ISO currency code. type: string - 'openinvoicedata.line[itemNr].description': + 'openinvoicedataLine[itemNr].description': description: A text description of the product the invoice line refers to. type: string - 'openinvoicedata.line[itemNr].itemAmount': + 'openinvoicedataLine[itemNr].itemAmount': description: |- The price for one item in the invoice line, represented in minor units. The due amount for the item, VAT excluded. - type: integer - 'openinvoicedata.line[itemNr].itemVatAmount': + type: string + 'openinvoicedataLine[itemNr].itemId': + description: A unique id for this item. Required for RatePay if the description of each item is not unique. + type: string + 'openinvoicedataLine[itemNr].itemVatAmount': description: 'The VAT due for one item in the invoice line, represented in minor units.' - type: integer - 'openinvoicedata.line[itemNr].itemVatPercentage': + type: string + 'openinvoicedataLine[itemNr].itemVatPercentage': description: |- The VAT percentage for one item in the invoice line, represented in minor units. For example, 19% VAT is specified as 1900. - type: integer - 'openinvoicedata.line[itemNr].itemId': - description: A unique id for this item. Required for RatePay if the description of each item is not unique. type: string - 'openinvoicedata.line[itemNr].numberOfItems': + 'openinvoicedataLine[itemNr].numberOfItems': description: The number of units purchased of a specific product. - type: integer - 'openinvoicedata.line[itemNr].vatCategory': + type: string + 'openinvoicedataLine[itemNr].vatCategory': description: |- Required for AfterPay. The country-specific VAT category a product falls under. @@ -1057,21 +1356,15 @@ components: properties: ratepay.installmentAmount: description: Amount the customer has to pay each month. - type: integer + type: string + ratepay.interestRate: + description: Interest rate of this installment. + type: string ratepay.lastInstallmentAmount: description: Amount of the last installment. - type: integer - ratepay.interestRate: - description: Interest rate of this installment. Double - type: integer + type: string ratepay.paymentFirstday: description: Calendar day of the first payment. - type: integer - ratepaydata.invoiceId: - description: 'Identification name or number for the invoice, defined by the merchant.' - type: string - ratepaydata.invoiceDate: - description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' type: string ratepaydata.deliveryDate: description: Date the merchant delivered the goods to the customer. @@ -1079,60 +1372,60 @@ components: ratepaydata.dueDate: description: Date by which the customer must settle the payment. type: string + ratepaydata.invoiceDate: + description: 'Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.' + type: string + ratepaydata.invoiceId: + description: 'Identification name or number for the invoice, defined by the merchant.' + type: string AdditionalDataRetry: properties: retry.chainAttemptNumber: description: |- The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.orderAttemptNumber: description: |- The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: integer + type: string retry.skipRetry: description: |- The Boolean value indicating whether Adyen should skip or retry this transaction, if possible. + > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together. - type: boolean + type: string AdditionalDataRisk: properties: 'riskdata.[customFieldName]': description: 'The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).' type: string - 'riskdata.basket.item[itemNr].itemID': - description: ID of the item. - type: string - 'riskdata.basket.item[itemNr].productTitle': - description: A text description of the product the invoice line refers to. - type: string 'riskdata.basket.item[itemNr].amountPerItem': description: 'The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string - 'riskdata.basket.item[itemNr].currency': - description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' - type: string - 'riskdata.basket.item[itemNr].upc': - description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' - type: string - 'riskdata.basket.item[itemNr].sku': - description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' - type: string 'riskdata.basket.item[itemNr].brand': description: Brand of the item. type: string - 'riskdata.basket.item[itemNr].manufacturer': - description: Manufacturer of the item. - type: string 'riskdata.basket.item[itemNr].category': description: Category of the item. type: string 'riskdata.basket.item[itemNr].color': description: Color of the item. type: string - 'riskdata.basket.item[itemNr].size': - description: Size of the item. + 'riskdata.basket.item[itemNr].currency': + description: 'The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).' + type: string + 'riskdata.basket.item[itemNr].itemID': + description: ID of the item. + type: string + 'riskdata.basket.item[itemNr].manufacturer': + description: Manufacturer of the item. + type: string + 'riskdata.basket.item[itemNr].productTitle': + description: A text description of the product the invoice line refers to. type: string 'riskdata.basket.item[itemNr].quantity': description: Quantity of the item purchased. @@ -1140,12 +1433,18 @@ components: 'riskdata.basket.item[itemNr].receiverEmail': description: Email associated with the given product in the basket (usually in electronic gift cards). type: string + 'riskdata.basket.item[itemNr].size': + description: Size of the item. + type: string + 'riskdata.basket.item[itemNr].sku': + description: '[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).' + type: string + 'riskdata.basket.item[itemNr].upc': + description: '[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).' + type: string 'riskdata.promotions.promotion[itemNr].promotionCode': description: Code of the promotion. type: string - 'riskdata.promotions.promotion[itemNr].promotionName': - description: Name of the promotion. - type: string 'riskdata.promotions.promotion[itemNr].promotionDiscountAmount': description: 'The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).' type: string @@ -1158,8 +1457,41 @@ components: e.g. for a promotion discount of 30%, the value of the field should be 30. type: string + 'riskdata.promotions.promotion[itemNr].promotionName': + description: Name of the promotion. + type: string AdditionalDataRiskStandalone: properties: + PayPal.CountryCode: + description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. + type: string + PayPal.EmailId: + description: Shopper's email. + type: string + PayPal.FirstName: + description: Shopper's first name. + type: string + PayPal.LastName: + description: Shopper's last name. + type: string + PayPal.PayerId: + description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' + type: string + PayPal.Phone: + description: Shopper's phone number. + type: string + PayPal.ProtectionEligibility: + description: |- + Allowed values: + * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. + + * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. + + * **Ineligible** — Merchant is not protected under the Seller Protection Policy. + type: string + PayPal.TransactionId: + description: Unique transaction ID of the payment. + type: string avsResultRaw: description: 'Raw AVS result received from the acquirer, where available. Example: D' type: string @@ -1169,7 +1501,7 @@ components: cvcResultRaw: description: 'Raw CVC result received from the acquirer, where available. Example: 1' type: string - risk.token: + riskToken: description: Unique identifier or token for the shopper's card details. type: string threeDAuthenticated: @@ -1181,34 +1513,6 @@ components: tokenDataType: description: 'Required for PayPal payments only. The only supported value is: **paypal**.' type: string - PayPal.ProtectionEligibility: - description: |- - Allowed values: - * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received. - * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received. - * **Ineligible** — Merchant is not protected under the Seller Protection Policy. - type: string - PayPal.PayerId: - description: 'Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.' - type: string - PayPal.TransactionId: - description: Unique transaction ID of the payment. - type: string - PayPal.CountryCode: - description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes. - type: string - PayPal.FirstName: - description: Shopper's first name. - type: string - PayPal.LastName: - description: Shopper's last name. - type: string - PayPal.Phone: - description: Shopper's phone number. - type: string - PayPal.EmailId: - description: Shopper's email. - type: string AdditionalDataTemporaryServices: properties: enhancedSchemeData.customerReference: @@ -1217,11 +1521,6 @@ components: * Encoding: ASCII * maxLength: 25 type: string - enhancedSchemeData.totalTaxAmount: - description: |- - Total tax amount, in minor units. For example, 2000 means USD 20.00 - * maxLength: 12 - type: string enhancedSchemeData.employeeName: description: |- Name or ID associated with the individual working in a temporary capacity. @@ -1232,6 +1531,21 @@ components: Description of the job or task of the individual working in a temporary capacity. * maxLength: 40 type: string + enhancedSchemeData.regularHoursRate: + description: |- + Amount paid per regular hours worked, minor units. + * maxLength: 7 + type: string + enhancedSchemeData.regularHoursWorked: + description: |- + Amount of time worked during a normal operation for the task or job. + * maxLength: 7 + type: string + enhancedSchemeData.requestName: + description: |- + Name of the individual requesting temporary services. + * maxLength: 40 + type: string enhancedSchemeData.tempStartDate: description: |- Date for the beginning of the pay period. @@ -1244,20 +1558,10 @@ components: * Format: ddMMyy * maxLength: 6 type: string - enhancedSchemeData.requestName: + enhancedSchemeData.totalTaxAmount: description: |- - Name of the individual requesting temporary services. - * maxLength: 40 - type: string - enhancedSchemeData.regularHoursWorked: - description: |- - Amount of time worked during a normal operation for the task or job. - * maxLength: 7 - type: string - enhancedSchemeData.regularHoursRate: - description: |- - Amount paid per regular hours worked, minor units. - * maxLength: 7 + Total tax amount, in minor units. For example, 2000 means USD 20.00 + * maxLength: 12 type: string AdditionalDataWallets: properties: @@ -1279,480 +1583,6 @@ components: visacheckout.callId: description: The Visa Checkout Call ID retrieved from the SDK. type: string - ResponseAdditionalDataCommon: - properties: - acquirerAccountCode: - description: |- - The name of the Adyen acquirer account. - - Example: PayPalSandbox_TestAcquirer - > Only relevant for PayPal transactions. - type: string - acquirerCode: - description: |- - The name of the acquirer processing the payment request. - - Example: TestPmmAcquirer - type: string - acquirerReference: - description: |- - The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. - - Example: 7C9N3FNBKT9 - type: string - alias: - description: |- - The Adyen alias of the card. - - Example: H167852639363479 - type: string - aliasType: - description: |- - The type of the card alias. - - Example: Default - type: string - authCode: - description: |- - Authorisation code: - * When the payment is authorised successfully, this field holds the authorisation code for the payment. - * When the payment is not authorised, this field is empty. - - Example: 58747 - type: string - authorisedAmountCurrency: - description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' - type: string - authorisedAmountValue: - description: |- - Value of the amount authorised. - - This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). - type: string - avsResult: - description: |- - The AVS result code of the payment, which provides information about the outcome of the AVS check. - - For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). - type: string - avsResultRaw: - description: |- - Raw AVS result received from the acquirer, where available. - - Example: D - type: string - bic: - description: |- - BIC of a bank account. - - Example: TESTNL01 - > Only relevant for SEPA Direct Debit transactions. - type: string - dsTransID: - description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. - type: string - eci: - description: |- - The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. - - Example: 02 - type: string - expiryDate: - description: |- - The expiry date on the card. - - Example: 6/2016 - > Returned only in case of a card payment. - type: string - extraCostsCurrency: - description: |- - The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. - - Example: EUR - type: string - extraCostsValue: - description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. - type: string - 'fraudCheck-[itemNr]-[FraudCheckname]': - description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. - type: string - fundingSource: - description: |- - Information regarding the funding type of the card. The possible return values are: - * CHARGE - * CREDIT - * DEBIT - * PREPAID - * PREPAID_RELOADABLE - * PREPAID_NONRELOADABLE - * DEFFERED_DEBIT - > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - - For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. - type: string - fundsAvailability: - description: |- - Indicates availability of funds. - - Visa: - * "I" (fast funds are supported) - * "N" (otherwise) - - Mastercard: - * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) - * "N" (otherwise) - - > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". - type: string - inferredRefusalReason: - description: |- - Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". - - Possible values: - * 3D Secure Mandated - * Closed Account - * ContAuth Not Supported - * CVC Mandated - * Ecommerce Not Allowed - * Crossborder Not Supported - * Card Updated - * Low Authrate Bin - * Non-reloadable prepaid card - type: string - issuerCountry: - description: |- - The issuing country of the card based on the BIN list that Adyen maintains. - - Example: JP - type: string - mcBankNetReferenceNumber: - description: |- - The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. - > Contact Support Team to enable this field. - type: string - networkTxReference: - description: |- - Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. - - This contains either the Mastercard Trace ID or the Visa Transaction ID. - type: string - ownerName: - description: |- - The owner name of a bank account. - - Only relevant for SEPA Direct Debit transactions. - type: string - paymentAccountReference: - description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. - type: string - paymentMethodVariant: - description: |- - The Adyen sub-variant of the payment method used for the payment request. - - For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). - - Example: mcpro - type: string - payoutEligible: - description: |- - Indicates whether a payout is eligible or not for this card. - - Visa: - * "Y" - * "N" - - Mastercard: - * "Y" (domestic and cross-border) - * "D" (only domestic) - * "N" (no MoneySend) - * "U" (unknown) - type: string - realtimeAccountUpdaterStatus: - description: |- - The response code from the Real Time Account Updater service. - - Possible return values are: - * CardChanged - * CardExpiryChanged - * CloseAccount - * ContactCardAccountHolder - type: string - receiptFreeText: - description: Message to be displayed on the terminal. - type: string - recurring.firstPspReference: - description: |- - The `pspReference`, of the first recurring payment that created the recurring detail. - - This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. - type: string - recurring.recurringDetailReference: - description: The reference that uniquely identifies the recurring transaction. - type: string - referred: - description: |- - If the payment is referred, this field is set to true. - - This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. - - Example: true - type: string - refusalReasonRaw: - description: |- - Raw refusal reason received from the acquirer, where available. - - Example: AUTHORISED - type: string - shopperInteraction: - description: |- - The shopper interaction type of the payment request. - - Example: Ecommerce - type: string - shopperReference: - description: |- - The shopperReference passed in the payment request. - - Example: AdyenTestShopperXX - type: string - terminalId: - description: |- - The terminal ID used in a point-of-sale payment. - - Example: 06022622 - type: string - threeDAuthenticated: - description: |- - A Boolean value indicating whether 3DS authentication was completed on this payment. - - Example: true - type: string - threeDAuthenticatedResponse: - description: |- - The raw 3DS authentication result from the card issuer. - - Example: N - type: string - threeDOffered: - description: |- - A Boolean value indicating whether 3DS was offered for this payment. - - Example: true - type: string - threeDOfferedResponse: - description: |- - The raw enrollment result from the 3DS directory services of the card schemes. - - Example: Y - type: string - threeDSVersion: - description: The 3D Secure 2 version. - type: string - visaTransactionId: - description: |- - The `visaTransactionId`, has a fixed length of 15 numeric characters. - > Contact Support Team to enable this field. - type: string - xid: - description: |- - The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. - - Example: ODgxNDc2MDg2MDExODk5MAAAAAA= - type: string - ResponseAdditionalDataBillingAddress: - properties: - billingAddress.city: - description: The billing address city passed in the payment request. - type: string - billingAddress.country: - description: |- - The billing address country passed in the payment request. - - Example: NL - type: string - billingAddress.houseNumberOrName: - description: The billing address house number or name passed in the payment request. - type: string - billingAddress.postalCode: - description: |- - The billing address postal code passed in the payment request. - - Example: 1011 DJ - type: string - billingAddress.stateOrProvince: - description: |- - The billing address state or province passed in the payment request. - - Example: NH - type: string - billingAddress.street: - description: The billing address street passed in the payment request. - type: string - ResponseAdditionalDataCard: - properties: - cardBin: - description: |- - The Bank Identification Number of a credit card, which is the first six digits of a card number. - - Example: 521234 - type: string - cardHolderName: - description: The cardholder name passed in the payment request. - type: string - cardIssuingBank: - description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. - type: string - cardIssuingCountry: - description: |- - The country where the card was issued. - - Example: US - type: string - cardIssuingCurrency: - description: |- - The currency in which the card is issued, if this information is available. - - Example: USD - type: string - cardPaymentMethod: - description: |- - The card payment method used for the transaction. - - Example: amex - type: string - cardSummary: - description: |- - The last four digits of a card number. - > Returned only in case of a card payment. - type: string - ResponseAdditionalDataDeliveryAddress: - properties: - deliveryAddress.city: - description: The delivery address city passed in the payment request. - type: string - deliveryAddress.country: - description: |- - The delivery address country passed in the payment request. - - Example: NL - type: string - deliveryAddress.houseNumberOrName: - description: The delivery address house number or name passed in the payment request. - type: string - deliveryAddress.postalCode: - description: |- - The delivery address postal code passed in the payment request. - - Example: 1011 DJ - type: string - deliveryAddress.stateOrProvince: - description: |- - The delivery address state or province passed in the payment request. - - Example: NH - type: string - deliveryAddress.street: - description: The delivery address street passed in the payment request. - type: string - ResponseAdditionalDataInstallments: - properties: - installments.value: - description: |- - The number of installments that the payment amount should be charged with. - - Example: 5 - > Only relevant for card payments in countries that support installments. - type: string - installmentPaymentData.installmentType: - description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. - type: string - installmentPaymentData.paymentOptions: - description: |- - Possible values: - * PayInInstallmentsOnly - * PayInFullOnly - * PayInFullOrInstallments - type: string - 'installmentPaymentData.option[itemNr].numberOfInstallments': - description: Total number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].interestRate': - description: Interest rate for the installment period. - type: string - 'installmentPaymentData.option[itemNr].installmentFee': - description: Installment fee amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].annualPercentageRate': - description: Annual interest rate. - type: string - 'installmentPaymentData.option[itemNr].firstInstallmentAmount': - description: First Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': - description: Subsequent Installment Amount in minor units. - type: string - 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': - description: Minimum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': - description: Maximum number of installments possible for this payment. - type: string - 'installmentPaymentData.option[itemNr].totalAmountDue': - description: Total amount in minor units. - type: string - ResponseAdditionalDataPayPal: - properties: - paypalPayerStatus: - description: |- - The status of the buyer's PayPal account. - - Example: unverified - type: string - paypalPayerResidenceCountry: - description: |- - The buyer's country of residence. - - Example: NL - type: string - paypalPayerId: - description: |- - The buyer's PayPal ID. - - Example: LF5HCWWBRV2KL - type: string - paypalEmail: - description: |- - The buyer's PayPal account email address. - - Example: paypaltest@adyen.com - type: string - paypalProtectionEligibility: - description: |- - The eligibility for PayPal Seller Protection for this payment. - - Example: Ineligible - type: string - ResponseAdditionalDataSepa: - properties: - sepadirectdebit.dateOfSignature: - description: |- - The transaction signature date. - - Format: yyyy-MM-dd - type: string - sepadirectdebit.mandateId: - description: Its value corresponds to the pspReference value of the transaction. - type: string - sepadirectdebit.sequenceType: - description: |- - This field can take one of the following values: - * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. - * First: (FRST) Initial/first collection in a series of direct debit instructions. - * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. - * Final: (FNAL) Last/final collection in a series of direct debit instructions. - - Example: OOFF - type: string Address: properties: city: @@ -1785,6 +1615,18 @@ components: - city - postalCode - country + AmazonPayDetails: + properties: + amazonPayToken: + type: string + checkoutSessionId: + type: string + type: + default: amazonpay + description: '**amazonpay**' + type: string + required: + - type Amount: properties: currency: @@ -1802,6 +1644,34 @@ components: required: - value - currency + AndroidPayDetails: + properties: + androidPayToken: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - androidPayToken + ApplePayDetails: + properties: + applePayToken: + description: '' + type: string + fundingSource: + enum: + - credit + - debit + type: string + type: + default: applepay + description: '**applepay**' + type: string + required: + - type + - applePayToken ApplicationInfo: properties: adyenLibrary: @@ -1883,6 +1753,40 @@ components: taxId: description: The bank account holder's tax ID. type: string + BillDeskOnlineDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_online + description: '**billdesk_online**' + type: string + required: + - type + - issuer + BillDeskWalletDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: billdesk_wallet + description: '**billdesk_wallet**' + type: string + required: + - type + - issuer + BlikDetails: + properties: + blikCode: + description: BLIK code consisting of 6 digits. + type: string + type: + description: '**blik**' + type: string + required: + - type BrowserInfo: properties: acceptHeader: @@ -1891,13 +1795,14 @@ components: minLength: 10 type: string colorDepth: - description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 32 or 48 bit color depth.' + description: 'The color depth of the shopper''s browser in bits per pixel. This should be obtained by using the browser''s `screen.colorDepth` property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.' format: int32 type: integer javaEnabled: description: Boolean value indicating if the shopper's browser is able to execute Java. type: boolean javaScriptEnabled: + default: 'true' description: Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present. type: boolean language: @@ -1990,17 +1895,630 @@ components: - expiryMonth - expiryYear - holderName - CheckoutPaymentsAction: + CardDetails: + properties: + cupsecureplus.smscode: + deprecated: true + type: string + cvc: + type: string + encryptedCardNumber: + description: '' + type: string + encryptedExpiryMonth: + description: '' + type: string + encryptedExpiryYear: + description: '' + type: string + expiryMonth: + type: string + expiryYear: + type: string + fundingSource: + enum: + - credit + - debit + type: string + holderName: + type: string + number: + type: string + type: + default: scheme + description: '**scheme**' + type: string + required: + - type + - encryptedCardNumber + - encryptedExpiryMonth + - encryptedExpiryYear + CheckoutAwaitAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutBalanceCheckRequest: + properties: + accountInfo: + description: |- + Shopper account information for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/AccountInfo' + additionalAmount: + description: |- + If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification). + Required to be in the same currency as the `amount`. + $ref: '#/components/schemas/Amount' + additionalData: + anyOf: + - $ref: '#/components/schemas/AdditionalDataCommon' + - $ref: '#/components/schemas/AdditionalData3DSecure' + - $ref: '#/components/schemas/AdditionalDataAirline' + - $ref: '#/components/schemas/AdditionalDataCarRental' + - $ref: '#/components/schemas/AdditionalDataLevel23' + - $ref: '#/components/schemas/AdditionalDataLodging' + - $ref: '#/components/schemas/AdditionalDataOpenInvoice' + - $ref: '#/components/schemas/AdditionalDataRatepay' + - $ref: '#/components/schemas/AdditionalDataRetry' + - $ref: '#/components/schemas/AdditionalDataRisk' + - $ref: '#/components/schemas/AdditionalDataRiskStandalone' + - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. + amount: + description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + $ref: '#/components/schemas/Amount' + applicationInfo: + description: 'Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: |- + The address where to send the invoice. + > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + $ref: '#/components/schemas/Address' + browserInfo: + description: |- + The shopper's browser information. + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + $ref: '#/components/schemas/BrowserInfo' + captureDelayHours: + description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' + format: int32 + type: integer + dateOfBirth: + description: |- + The shopper's date of birth. + + Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD + format: date-time + type: string + dccQuote: + description: The forex quote as returned in the response of the forex service. + $ref: '#/components/schemas/ForexQuote' + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + deliveryDate: + description: |- + The date and time the purchased goods should be delivered. + + Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD + + Example: 2017-07-17T13:42:40.428+01:00 + format: date-time + type: string + deviceFingerprint: + description: 'A string containing the shopper''s device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).' + type: string + enableRealTimeUpdate: + deprecated: true + description: 'Choose if a specific transaction should use the Real-time Account Updater, regardless of other settings.' + type: boolean + fraudOffset: + description: An integer value that is added to the normal fraud score. The value can be either positive or negative. + format: int32 + type: integer + installments: + 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.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the transaction.' + type: string + merchantOrderReference: + description: |- + This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. + The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. + > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. + type: string + merchantRiskIndicator: + description: |- + Additional risk fields for 3D Secure 2. + > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. + $ref: '#/components/schemas/MerchantRiskIndicator' + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". + type: object + orderReference: + description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' + type: string + paymentMethod: + additionalProperties: + type: string + description: The collection that contains the type of the payment method and its specific information. + type: object + recurring: + description: 'The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).' + $ref: '#/components/schemas/Recurring' + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: |- + The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. + If you need to provide multiple references for a transaction, separate them with hyphens ("-"). + Maximum length: 80 characters. + type: string + selectedBrand: + description: |- + Some payment methods require defining a value for this field to specify how to process the transaction. + + For the Bancontact payment method, it can be set to: + * `maestro` (default), to be processed like a Maestro card, or + * `bcmc`, to be processed like a Bancontact card. + type: string + selectedRecurringDetailReference: + description: The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. + type: string + sessionId: + description: A session ID used to identify a payment session. + type: string + shopperEmail: + description: |- + The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. + > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + type: string + shopperIP: + description: |- + The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). + > Required for 3D Secure 2 transactions. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new). + type: string + shopperInteraction: + description: |- + Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. + For the web service API, Adyen assumes Ecommerce shopper interaction by default. + + This field has the following possible values: + * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. + * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). + * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. + * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. + enum: + - Ecommerce + - ContAuth + - Moto + - POS + type: string + shopperLocale: + description: The combination of a language code and a country code to specify the language to be used in the payment. + type: string + shopperName: + description: The shopper's full name and gender (if specified). + $ref: '#/components/schemas/Name' + shopperReference: + description: |- + The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). + > This field is required for recurring payments. + type: string + shopperStatement: + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. + type: string + socialSecurityNumber: + description: The shopper's social security number. + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string + telephoneNumber: + description: The shopper's telephone number. + type: string + threeDS2RequestData: + description: Request fields for 3D Secure 2. + $ref: '#/components/schemas/ThreeDS2RequestData' + threeDSAuthenticationOnly: + default: 'false' + description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' + type: boolean + totalsGroup: + description: 'The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).' + maxLength: 16 + minLength: 1 + type: string + trustedShopper: + description: Set to true if the payment should be routed to a trusted MID. + type: boolean + required: + - merchantAccount + - reference + - amount + - paymentMethod + CheckoutBalanceCheckResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + balance: + description: The balance for the payment method. + $ref: '#/components/schemas/Amount' + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - balance + CheckoutCancelOrderRequest: + properties: + merchantAccount: + description: The merchant account identifier that orderData belongs to. + type: string + order: + description: The order request object that contains a pspReference that represents the order and the matching encrypted order data. + $ref: '#/components/schemas/CheckoutOrder' + required: + - order + - merchantAccount + CheckoutCancelOrderResponse: + properties: + pspReference: + description: A unique reference of the cancellation request. + type: string + resultCode: + description: The result of the cancellation request. + type: string + required: + - pspReference + - resultCode + CheckoutCreateOrderRequest: + properties: + amount: + description: The total amount of the order. + $ref: '#/components/schemas/Amount' + expiresAt: + description: 'The date that order expires; e.g. 2019-03-23T12:25:28Z. If not provided, the default expiry duration is 1 day.' + type: string + merchantAccount: + description: 'The merchant account identifier, with which you want to process the order.' + type: string + reference: + description: A custom reference identifying the order. + type: string + required: + - merchantAccount + - amount + CheckoutCreateOrderResponse: + properties: + additionalData: + anyOf: + - $ref: '#/components/schemas/ResponseAdditionalDataCommon' + - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataCard' + - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' + - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' + - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' + - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' + expiresAt: + description: The date that the order will expire. + type: string + fraudResult: + description: The fraud result properties of the payment. + $ref: '#/components/schemas/FraudResult' + orderData: + description: The encrypted data that will be used by merchant for adding payments to the order. + type: string + pspReference: + description: |- + Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request. + + > `pspReference` is returned only for non-redirect payment methods. + type: string + refusalReason: + description: |- + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). + type: string + remainingAmount: + description: The remaining amount in the order. + $ref: '#/components/schemas/Amount' + resultCode: + description: |- + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: + + * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. + * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. + * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state. + * **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. + * **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. + * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state. + enum: + - AuthenticationFinished + - Authorised + - Cancelled + - ChallengeShopper + - Error + - IdentifyShopper + - Pending + - PresentToShopper + - Received + - RedirectShopper + - Refused + type: string + required: + - remainingAmount + - expiresAt + - orderData + CheckoutDonationAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutOneTimePasscodeAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + redirect: + description: 'When the payment flow requires a redirect as fallback, this object contains information about the redirect.' + $ref: '#/components/schemas/Redirect' + resendInterval: + description: The interval in second between OTP resend. + format: int32 + type: integer + resendMaxAttempts: + description: The maximum number of OTP resend attempts. + format: int32 + type: integer + resendUrl: + description: 'The URL, to which you make POST request to trigger OTP resend.' + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutOrder: + properties: + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + required: + - pspReference + - orderData + CheckoutOrderResponse: + properties: + expiresAt: + description: The expiry date for the order. + type: string + orderData: + description: The encrypted order data. + type: string + pspReference: + description: The `pspReference` that belongs to the order. + type: string + reference: + description: The merchant reference for the order. + type: string + remainingAmount: + description: The updated remaining amount. + $ref: '#/components/schemas/Amount' + required: + - pspReference + CheckoutQrCodeAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + qrCodeData: + description: The contents of the QR code as a UTF8 string. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutRedirectAction: + properties: + data: + additionalProperties: + type: string + description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' + type: object + method: + description: 'Specifies the HTTP method, for example GET or POST.' + type: string + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutSDKAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + sdkData: + additionalProperties: + type: string + description: The data to pass to the SDK. + type: object + url: + description: Specifies the URL to redirect to. + type: string + CheckoutThreeDS2ChallengeAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + token: + description: A token to pass to the 3DS2 Component to get the challenge. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutThreeDS2FingerPrintAction: + properties: + paymentData: + description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' + type: string + paymentMethodType: + description: Specifies the payment method. + type: string + token: + description: A token to pass to the 3DS2 Component to get the fingerprint. + type: string + url: + description: Specifies the URL to redirect to. + type: string + CheckoutUtilityRequest: + properties: + originDomains: + description: 'The list of origin domains, for which origin keys are requested.' + items: + type: string + type: array + required: + - originDomains + CheckoutUtilityResponse: + properties: + originKeys: + additionalProperties: + type: string + description: 'The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.' + type: object + CheckoutVoucherAction: properties: alternativeReference: description: The voucher alternative reference code. type: string - data: - description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' - type: object downloadUrl: description: The URL to download the voucher. type: string + entity: + description: An entity number of Multibanco. + type: string expiresAt: description: The date time of the voucher expiry. type: string @@ -2022,18 +2540,12 @@ components: merchantReference: description: The merchant reference. type: string - method: - description: 'Specifies the HTTP method, for example GET or POST.' - type: string paymentData: description: 'When non-empty, contains a value that you must submit to the `/payments/details` endpoint. In some cases, required for polling.' type: string paymentMethodType: description: Specifies the payment method. type: string - qrCodeData: - description: The contents of the QR code as a UTF8 string. - type: string reference: description: The voucher reference code. type: string @@ -2046,25 +2558,9 @@ components: surcharge: description: The surcharge amount. $ref: '#/components/schemas/Amount' - token: - description: A token to pass to the 3DS2 Component to get the fingerprint/challenge. - type: string totalAmount: description: The total amount (initial plus surcharge amount). $ref: '#/components/schemas/Amount' - type: - description: Enum that specifies the action that needs to be taken by the client. - enum: - - await - - donate - - qrCode - - redirect - - sdk - - threeDS2Challenge - - threeDS2Fingerprint - - voucher - - wechatpaySDK - type: string url: description: Specifies the URL to redirect to. type: string @@ -2131,12 +2627,13 @@ components: type: string type: array amount: - description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' + description: The payment amount and currency. $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).' + $ref: '#/components/schemas/ApplicationInfo' billingAddress: - description: |- - The address where to send the invoice. - > For 3D Secure 2 transactions, schemes require the `billingAddress` for both `deviceChannel` **browser** and **app**. Include all of the fields within this object. + description: The address where to send the invoice. $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- @@ -2147,75 +2644,98 @@ components: type: string type: array countryCode: - description: The shopper's country code. + description: The shopper's two-letter country code. type: string deliveryAddress: description: The address where the purchased goods should be delivered. $ref: '#/components/schemas/Address' description: description: |- - A short description visible on the Pay By Link page. + A short description visible on the payment page. Maximum length: 280 characters. type: string expiresAt: - description: 'The date that the Pay By Link expires, in ISO 8601 format. For example, 2019-11-23T12:25:28Z. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry duration is 24 hours.' + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array merchantAccount: - description: 'The merchant account identifier, with which you want to process the transaction.' + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + metadata: + additionalProperties: + type: string + description: |- + Metadata consists of entries, each of which includes a key and a value. + Limitations: + * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit" + * Maximum 20 characters per key. When exceeding, the "178" error occurs: "Metadata key size exceeds limit" + * A key cannot have the name `checkout.linkId`. Whatever value is present under that key is going to be replaced by the real link id + type: object + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile type: string reference: - description: |- - The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. - If you need to provide multiple references for a transaction, separate them with hyphens ("-"). - Maximum length: 80 characters. + description: A reference that is used to uniquely identify the payment in future communications about the payment status. type: string returnUrl: description: |- Website URL used for redirection after payment is completed. - If provided, a **Continue** button will be shown on the page. If shoppers select the button, they are redirected to the specified URL. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean shopperEmail: - description: |- - The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks. - > For 3D Secure 2 transactions, schemes require the `shopperEmail` for both `deviceChannel` **browser** and **app**. + description: The shopper's email address. type: string shopperLocale: - description: The combination of a language code and a country code to specify the language to be used in the payment. + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' shopperReference: - description: |- - The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). - > This field is required for recurring payments. + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + store: + description: 'The physical store, for which this payment is processed.' type: string storePaymentMethod: - description: 'When true and `shopperReference` is provided, the payment details will be stored.' + description: 'When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.' type: boolean required: - - merchantAccount - - reference - amount - - countryCode - CreatePaymentLinkResponse: - properties: - amount: - description: The amount for which the Pay By Link URL was created. - $ref: '#/components/schemas/Amount' - expiresAt: - description: 'The date that the Pay By Link expires; e.g. 2019-03-23T12:25:28Z.' - type: string - reference: - description: The reference that was specified when the Pay By Link URL was created. - type: string - url: - description: The URL at which the shopper can complete the payment. - type: string - required: - reference - - expiresAt - - url + - merchantAccount DetailsRequest: properties: details: + additionalProperties: + type: string + deprecated: true description: Use this collection to submit the details that were returned as a result of the `/payments` call. type: object paymentData: @@ -2229,18 +2749,20 @@ components: DeviceRenderOptions: properties: sdkInterface: + default: both description: |- Supported SDK interface types. Allowed values: - * Native - * Html + * native + * html * both enum: - - Html - - Native + - native + - html - both type: string sdkUiType: + default: description: |- UI types supported for displaying specific challenges. Allowed values: @@ -2258,6 +2780,103 @@ components: - text type: string type: array + DokuDetails: + properties: + firstName: + description: The shopper's first name. + type: string + infix: + type: string + lastName: + description: The shopper's last name. + type: string + ovoId: + type: string + shopperEmail: + description: The shopper's email. + type: string + type: + description: '**doku**' + enum: + - doku_mandiri_va + - doku_cimb_va + - doku_danamon_va + - doku_bni_va + - doku_permata_lite_atm + - doku_bri_va + - doku_bca_va + - doku_alfamart + - doku_indomaret + type: string + required: + - type + - firstName + - lastName + - shopperEmail + DotpayDetails: + properties: + issuer: + description: The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it. + type: string + type: + default: dotpay + description: '**dotpay**' + type: string + required: + - type + - issuer + DragonpayDetails: + properties: + issuer: + description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. + type: string + shopperEmail: + description: The shopper’s email address. + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer + EcontextVoucherDetails: + properties: + firstName: + description: The shopper's first name. + type: string + lastName: + description: The shopper's last name. + type: string + shopperEmail: + description: The shopper's email. + type: string + telephoneNumber: + description: The shopper's contact number. + type: string + type: + description: '**econtextvoucher**' + enum: + - econtext_seveneleven + - econtext_stores + type: string + required: + - type + - firstName + - lastName + - shopperEmail + - telephoneNumber + EntercashDetails: + properties: + issuer: + description: The issuer id of the shopper's selected bank. + type: string + type: + default: entercash + description: '**entercash**' + type: string + required: + - type + - issuer ExternalPlatform: properties: integrator: @@ -2342,9 +2961,52 @@ components: type: array required: - accountScore + GiropayDetails: + properties: + type: + default: giropay + description: '**giropay**' + type: string + required: + - type + GooglePayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + googlePayCardNetwork: + description: '' + type: string + googlePayToken: + description: '' + type: string + type: + default: paywithgoogle + description: '**paywithgoogle**' + type: string + required: + - type + - googlePayToken + - googlePayCardNetwork + IdealDetails: + properties: + issuer: + description: The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDEAL issuer to preselect it. + type: string + type: + default: ideal + description: '**ideal**' + type: string + required: + - type + - issuer InputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object details: @@ -2397,6 +3059,38 @@ components: name: description: The display name. type: string + KlarnaDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + token: + type: string + type: + description: The payment method type. + type: string + required: + - type + LianLianPayDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber LineItem: properties: amountExcludingTax: @@ -2433,6 +3127,38 @@ components: description: 'Tax percentage, in minor units.' format: int64 type: integer + MasterpassDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + masterpassTransactionId: + description: The Masterpass transaction ID. + type: string + type: + default: masterpass + description: '**masterpass**' + type: string + required: + - type + - masterpassTransactionId + MbwayDetails: + properties: + shopperEmail: + description: '' + type: string + telephoneNumber: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - telephoneNumber + - shopperEmail MerchantDevice: properties: os: @@ -2503,6 +3229,25 @@ components: reorderItems: description: Indicator for whether the shopper has already purchased the same items in the past. type: boolean + MobilePayDetails: + properties: + type: + default: mobilepay + description: '**mobilepay**' + type: string + required: + - type + MolPayDetails: + properties: + issuer: + description: '' + type: string + type: + description: The payment method type. + type: string + required: + - type + - issuer Name: properties: firstName: @@ -2531,6 +3276,185 @@ components: - firstName - lastName - gender + NexoRouterDetails: + properties: + type: + description: The payment method type. + type: string + uniqueTerminalId: + type: string + required: + - type + OpenInvoiceDetails: + properties: + bankAccount: + type: string + billingAddress: + type: string + deliveryAddress: + type: string + installmentConfigurationKey: + type: string + personalDetails: + type: string + separateDeliveryAddress: + type: string + type: + description: The payment method type. + type: string + required: + - type + PayPalDetails: + properties: + orderID: + type: string + payerID: + type: string + subtype: + description: The type of flow to initiate. + enum: + - redirect + - sdk + type: string + type: + default: paypal + description: '**paypal**' + type: string + required: + - type + PaymentDetails: + properties: + type: + description: The payment method type. + type: string + required: + - type + PaymentLinkResource: + properties: + allowedPaymentMethods: + description: |- + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"allowedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + amount: + description: The payment amount and currency. + $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).' + $ref: '#/components/schemas/ApplicationInfo' + billingAddress: + description: The address where to send the invoice. + $ref: '#/components/schemas/Address' + blockedPaymentMethods: + description: |- + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + + Example: `"blockedPaymentMethods":["ideal","giropay"]` + items: + type: string + type: array + countryCode: + description: The shopper's two-letter country code. + type: string + deliveryAddress: + description: The address where the purchased goods should be delivered. + $ref: '#/components/schemas/Address' + description: + description: |- + A short description visible on the payment page. + Maximum length: 280 characters. + type: string + expiresAt: + description: 'The date that the payment link expires, in ISO 8601 format. For example `2019-11-23T12:25:28Z`, or `2020-05-27T20:25:28+08:00`. Maximum expiry date should be 30 days from when the payment link is created. If not provided, the default expiry is set to 24 hours after the payment link is created.' + type: string + id: + description: A unique identifier of the payment link. + readOnly: true + type: string + lineItems: + description: |- + Price and product information about the purchased items, to be included on the invoice sent to the shopper. + This parameter is required for open invoice (_buy now, pay later_) payment methods such AfterPay, Klarna, RatePay, and Zip. + items: + $ref: '#/components/schemas/LineItem' + type: array + merchantAccount: + description: The merchant account identifier for which the payment link is created. + type: string + merchantOrderReference: + description: 'This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.' + type: string + recurringProcessingModel: + description: | + Defines a recurring payment type. + Allowed values: + * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + enum: + - CardOnFile + - Subscription + - UnscheduledCardOnFile + type: string + reference: + description: A reference that is used to uniquely identify the payment in future communications about the payment status. + type: string + returnUrl: + description: |- + Website URL used for redirection after payment is completed. + If provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL. + type: string + reusable: + description: 'Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.' + type: boolean + shopperEmail: + description: The shopper's email address. + type: string + shopperLocale: + description: 'The combination of a language code and a country code to specify the language to be used in the payment. For example, `en-US`.' + type: string + shopperName: + description: 'The shopper''s full name. This object is required for some payment methods such as AfterPay, Klarna, or if you''re enrolled in the PayPal Seller Protection program.' + $ref: '#/components/schemas/Name' + shopperReference: + description: 'A unique identifier for the shopper (for example, user ID or account ID).' + type: string + splits: + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' + items: + $ref: '#/components/schemas/Split' + type: array + status: + description: |- + Status of the payment link. Possible values: + * **active** + * **paid** + * **expired** + enum: + - active + - expired + - paid + type: string + store: + description: 'The physical store, for which this payment is processed.' + type: string + storePaymentMethod: + description: 'When this is set to **true** and the `shopperReference` is provided, the payment details will be stored.' + type: boolean + url: + description: The URL at which the shopper can complete the payment. + readOnly: true + type: string + required: + - amount + - reference + - merchantAccount + - id + - url + - status PaymentMethod: properties: brands: @@ -2539,6 +3463,8 @@ components: type: string type: array configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -2578,386 +3504,6 @@ components: type: description: The unique code of the group. type: string - PaymentMethodACH: - properties: - type: - description: Must be set to **ach**. - type: string - bankAccount: - description: 'The bank account, from which the funds should be deducted.' - type: string - required: - - type - - bankAccount - PaymentMethodCard: - properties: - type: - description: Must be set to **scheme**. - type: string - cvc: - description: |- - The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as: - * CVV2/CVC2 – length: 3 digits - * CID – length: 4 digits - maxLength: 20 - minLength: 1 - type: string - expiryMonth: - description: |- - The card expiry month. - Format: 2 digits, zero-padded for single digits. For example: - * 03 = March - * 11 = November - maxLength: 2 - minLength: 1 - type: string - expiryYear: - description: |- - The card expiry year. - Format: 4 digits. For example: 2020 - maxLength: 4 - minLength: 4 - type: string - holderName: - description: 'The name of the cardholder, as printed on the card.' - maxLength: 50 - minLength: 1 - type: string - number: - description: The card number (4-19 characters). Do not use any separators. - maxLength: 19 - minLength: 4 - type: string - required: - - type - - number - - expiryMonth - - expiryYear - - holderName - PaymentMethodApplePay: - properties: - type: - description: Must be set to **applepay**. - type: string - applepay.token: - description: The stringified and base64 encoded paymentData retrieved from the Apple framework. - type: string - required: - - type - - applepay.token - PaymentMethodAndroidPay: - properties: - type: - description: Must be set to **androidpay**. - type: string - androidpay.token: - description: The stringified and base64 encoded paymentData retrieved from the Android framework. - type: string - required: - - type - - androidpay.token - PaymentMethodAmazonPay: - properties: - type: - description: Must be set to **androidpay**. - type: string - amazonPayToken: - description: The stringified and base64 encoded paymentData retrieved from the Amazon framework. - type: string - required: - - type - - amazonPayToken - PaymentMethodSchemeGiftCard: - properties: - type: - description: Must be set to **scheme**. - type: string - cvc: - description: |- - The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as: - * CVV2/CVC2 – length: 3 digits - * CID – length: 4 digits - maxLength: 20 - minLength: 1 - type: string - expiryMonth: - description: |- - The card expiry month. - Format: 2 digits, zero-padded for single digits. For example: - * 03 = March - * 11 = November - maxLength: 2 - minLength: 1 - type: string - expiryYear: - description: |- - The card expiry year. - Format: 4 digits. For example: 2020 - maxLength: 4 - minLength: 4 - type: string - holderName: - description: 'The name of the cardholder, as printed on the card.' - maxLength: 50 - minLength: 1 - type: string - number: - description: The card number (4-19 characters). Do not use any separators. - maxLength: 19 - minLength: 4 - type: string - encryptedSecurityCode: - description: |- - The encrypted [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as: - * CVV2/CVC2 – length: 3 digits - * CID – length: 4 digits - maxLength: 20 - minLength: 1 - type: string - encryptedExpiryMonth: - description: |- - The encrypted card expiry month. - Format: 2 digits, zero-padded for single digits. For example: - * 03 = March - * 11 = November - maxLength: 2 - minLength: 1 - type: string - encryptedExpiryYear: - description: |- - The encrypted card expiry year. - Format: 4 digits. For example: 2020 - maxLength: 4 - minLength: 4 - type: string - encryptedCardNumber: - description: The encrypted card number (4-19 characters). Do not use any separators. - maxLength: 19 - minLength: 4 - type: string - required: - - type - - number - - expiryMonth - - expiryYear - - holderName - - encryptedCardNumber - - encryptedSecurityCode - - encryptedExpiryMonth - - encryptedExpiryYear - PaymentMethodDotpay: - properties: - type: - description: Must be set to **dotpay**. - type: string - issuer: - description: The Dotpay issuer value of the shopper's selected bank. Set this to an **id** of a Dotpay issuer to preselect it. - type: string - required: - - type - - issuer - PaymentMethodDragonpayEBanking: - properties: - type: - description: Must be set to **dragonpay_ebanking**. - type: string - issuer: - description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. - type: string - required: - - type - - issuer - PaymentMethodDragonpayOtcBanking: - properties: - type: - description: Must be set to **dragonpay_otc_banking**. - type: string - issuer: - description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. - type: string - required: - - type - - issuer - PaymentMethodDragonpayOtcNonBanking: - properties: - type: - description: Must be set to **dragonpay_otc_non_banking**. - type: string - issuer: - description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. - type: string - required: - - type - - issuer - PaymentMethodDragonpayOtcPhilippines: - properties: - type: - description: Must be set to **dragonpay_otc_philippines**. - type: string - issuer: - description: The Dragonpay issuer value of the shopper's selected bank. Set this to an **id** of a Dragonpay issuer to preselect it. - type: string - required: - - type - - issuer - PaymentMethodGiropay: - properties: - type: - description: Must be set to **giropay**. - type: string - bic: - description: The bank identifier code (BIC) of the selected issuing bank. - type: string - required: - - type - - bic - PaymentMethodIDeal: - properties: - type: - description: Must be set to **dotpay**. - type: string - issuer: - description: The iDEAL issuer value of the shopper's selected bank. Set this to an **id** of an iDeal issuer to preselect it. - type: string - required: - - type - - issuer - PaymentMethodLianLianPayEbankingEnterprise: - properties: - type: - description: Must be set to **lianlianpay_ebanking_enterprise**. - type: string - telephoneNumber: - description: The shopper's telephone number. - type: string - required: - - type - - telephoneNumber - PaymentMethodLianLianPayEbankingCredit: - properties: - type: - description: Must be set to **lianlianpay_ebanking_credit**. - type: string - telephoneNumber: - description: The shopper's telephone number. - type: string - required: - - type - - telephoneNumber - PaymentMethodLianLianPayEbankingDebit: - properties: - type: - description: Must be set to **lianlianpay_ebanking_debit**. - type: string - telephoneNumber: - description: The shopper's telephone number. - type: string - required: - - type - - telephoneNumber - PaymentMethodMOLpayEBankingMalaysia: - properties: - type: - description: Must be set to **molpay_ebanking_fpx_MY**. - type: string - issuer: - description: The MOLpay issuer value of the shopper's selected bank. Set this to an **id** of a MOLpay issuer to preselect it. - type: string - required: - - type - - issuer - PaymentMethodMOLpayEBankingThailand: - properties: - type: - description: Must be set to **molpay_ebanking_TH**. - type: string - issuer: - description: The MOLpay issuer value of the shopper's selected bank. Set this to an **id** of a MOLpay issuer to preselect it. - type: string - required: - - type - - issuer - PaymentMethodMOLpayEBankingVietnam: - properties: - type: - description: Must be set to **molpay_ebanking_VN**. - type: string - issuer: - description: The MOLpay issuer value of the shopper's selected bank. Set this to an **id** of a MOLpay issuer to preselect it. - type: string - required: - - type - - issuer - PaymentMethodPayWithGoogle: - properties: - type: - description: Must be set to **paywithgoogle**. - type: string - paywithgoogle.token: - description: The stringified and base64 encoded paymentData retrieved from the Google framework. - type: string - googlePayToken: - description: The stringified and base64 encoded paymentData retrieved from the Google framework. - type: string - googlePayCardNetwork: - description: The card type provided by the shopper. - type: string - required: - - paywithgoogle.token - - googlePayToken - - googlePayCardNetwork - PaymentMethodQIWIWallet: - properties: - type: - description: Must be set to **qiwiwallet**. - type: string - qiwiwallet.telephoneNumberPrefix: - description: The shopper's telephone number prefix. - type: string - qiwiwallet.telephoneNumber: - description: The shopper's telephone number. - type: string - required: - - type - - qiwiwallet.telephoneNumberPrefix - - qiwiwallet.telephoneNumber - PaymentMethodSamsungpay: - properties: - type: - description: Must be set to **samsungpay**. - type: string - samsungpay.token: - description: The stringified and base64 encoded paymentData retrieved from the Samsung framework. - type: string - required: - - type - - samsungpay.token - PaymentMethodSepaDirectDebit: - properties: - type: - description: Must be set to **sepadirectdebit**. - type: string - sepa.ibanNumber: - description: The shopper's international bank account number (IBAN). - type: string - sepa.ownerName: - description: The name on the SEPA bank account. - type: string - required: - - type - - sepa.ibanNumber - - sepa.ownerName - PaymentMethodVipps: - properties: - type: - description: Must be set to **vipps**. - type: string - telephoneNumber: - description: The shopper's telephone number. - type: string - required: - - type - - telephoneNumber PaymentMethodsGroup: properties: groupType: @@ -2974,10 +3520,6 @@ components: PaymentMethodsRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -2991,6 +3533,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). @@ -3039,9 +3586,11 @@ components: The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID). > This field is required for recurring payments. type: string - threeDSAuthenticationOnly: - 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 + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string required: - merchantAccount - reference @@ -3075,10 +3624,6 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/AccountInfo' additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -3092,6 +3637,11 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. amount: description: 'The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' @@ -3106,7 +3656,7 @@ components: browserInfo: description: |- The shopper's browser information. - > For 3D Secure 2 transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). + > For 3D Secure transactions, `browserInfo` is required for `channel` **web** (or `deviceChannel` **browser**). $ref: '#/components/schemas/BrowserInfo' captureDelayHours: description: 'The delay between the authorisation and scheduled auto-capture, specified in hours.' @@ -3214,13 +3764,18 @@ components: > For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow. $ref: '#/components/schemas/MerchantRiskIndicator' metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". type: object mpiData: - description: Authentication data produced by an MPI (Mastercard SecureCode or Verified By Visa). + description: Authentication data produced by an MPI (Mastercard SecureCode or Visa Secure). $ref: '#/components/schemas/ThreeDSecureData' + order: + description: Contains the order information which is required for partial payments. + $ref: '#/components/schemas/CheckoutOrder' orderReference: description: 'When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.' type: string @@ -3231,8 +3786,41 @@ components: Set this parameter to the origin URL of the page that you are loading the 3D Secure Component from. type: string paymentMethod: - description: The collection that contains the type of the payment method and its specific information (e.g. `idealIssuer`). - type: object + description: The type and required details of a payment method to use. + oneOf: + - $ref: '#/components/schemas/ApplePayDetails' + - $ref: '#/components/schemas/SamsungPayDetails' + - $ref: '#/components/schemas/AndroidPayDetails' + - $ref: '#/components/schemas/VisaCheckoutDetails' + - $ref: '#/components/schemas/GooglePayDetails' + - $ref: '#/components/schemas/AmazonPayDetails' + - $ref: '#/components/schemas/MasterpassDetails' + - $ref: '#/components/schemas/PaymentDetails' + - $ref: '#/components/schemas/CardDetails' + - $ref: '#/components/schemas/AchDetails' + - $ref: '#/components/schemas/KlarnaDetails' + - $ref: '#/components/schemas/IdealDetails' + - $ref: '#/components/schemas/PayPalDetails' + - $ref: '#/components/schemas/SepaDirectDebitDetails' + - $ref: '#/components/schemas/QiwiWalletDetails' + - $ref: '#/components/schemas/VippsDetails' + - $ref: '#/components/schemas/MobilePayDetails' + - $ref: '#/components/schemas/WeChatPayDetails' + - $ref: '#/components/schemas/WeChatPayMiniProgramDetails' + - $ref: '#/components/schemas/LianLianPayDetails' + - $ref: '#/components/schemas/MolPayDetails' + - $ref: '#/components/schemas/BillDeskOnlineDetails' + - $ref: '#/components/schemas/BillDeskWalletDetails' + - $ref: '#/components/schemas/DotpayDetails' + - $ref: '#/components/schemas/EntercashDetails' + - $ref: '#/components/schemas/OpenInvoiceDetails' + - $ref: '#/components/schemas/DokuDetails' + - $ref: '#/components/schemas/EcontextVoucherDetails' + - $ref: '#/components/schemas/DragonpayDetails' + - $ref: '#/components/schemas/GiropayDetails' + - $ref: '#/components/schemas/NexoRouterDetails' + - $ref: '#/components/schemas/BlikDetails' + - $ref: '#/components/schemas/MbwayDetails' recurringExpiry: description: Date after which no further authorisations shall be performed. Only for 3D Secure 2. type: string @@ -3244,8 +3832,8 @@ components: Defines a recurring payment type. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. - * `CardOnFile` – Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. - * `UnscheduledCardOnFile` – A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. + * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. + * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. enum: - CardOnFile - Subscription @@ -3264,7 +3852,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -3310,16 +3906,23 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array + store: + description: 'The physical store, for which this payment is processed.' + maxLength: 16 + minLength: 1 + type: string storePaymentMethod: description: 'When true and `shopperReference` is provided, the payment details will be stored.' type: boolean @@ -3330,6 +3933,7 @@ components: description: Request fields for 3D Secure 2. $ref: '#/components/schemas/ThreeDS2RequestData' threeDSAuthenticationOnly: + default: 'false' description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' type: boolean trustedShopper: @@ -3345,18 +3949,30 @@ components: properties: action: description: Action to be taken for completing the payment. - $ref: '#/components/schemas/CheckoutPaymentsAction' + oneOf: + - $ref: '#/components/schemas/CheckoutDonationAction' + - $ref: '#/components/schemas/CheckoutQrCodeAction' + - $ref: '#/components/schemas/CheckoutRedirectAction' + - $ref: '#/components/schemas/CheckoutSDKAction' + - $ref: '#/components/schemas/CheckoutThreeDS2ChallengeAction' + - $ref: '#/components/schemas/CheckoutThreeDS2FingerPrintAction' + - $ref: '#/components/schemas/CheckoutAwaitAction' + - $ref: '#/components/schemas/CheckoutVoucherAction' + - $ref: '#/components/schemas/CheckoutOneTimePasscodeAction' additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' authentication: + additionalProperties: + type: string description: 'Contains `threeds2.fingerprint` or `threeds2.challengeToken` values to be used in further calls to `/payments/details` endpoint. ' type: object details: @@ -3373,7 +3989,12 @@ components: If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters. type: string + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' outputDetails: + additionalProperties: + type: string description: Contains the details that will be presented to the shopper. type: object paymentData: @@ -3390,16 +4011,18 @@ components: $ref: '#/components/schemas/Redirect' refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -3407,7 +4030,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -3428,10 +4051,6 @@ components: PaymentSetupRequest: properties: additionalData: - description: |- - This field contains additional data, which may be required for a particular payment request. - - The `additionalData` object consists of entries, each of which includes the key and value. anyOf: - $ref: '#/components/schemas/AdditionalDataCommon' - $ref: '#/components/schemas/AdditionalData3DSecure' @@ -3445,9 +4064,14 @@ components: - $ref: '#/components/schemas/AdditionalDataRisk' - $ref: '#/components/schemas/AdditionalDataRiskStandalone' - $ref: '#/components/schemas/AdditionalDataTemporaryServices' + - $ref: '#/components/schemas/AdditionalDataWallets' + description: |- + This field contains additional data, which may be required for a particular payment request. + + The `additionalData` object consists of entries, each of which includes the key and value. allowedPaymentMethods: description: |- - List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be presented to the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"allowedPaymentMethods":["ideal","giropay"]` items: @@ -3466,7 +4090,7 @@ components: $ref: '#/components/schemas/Address' blockedPaymentMethods: description: |- - List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type` from [Payment methods overview](https://docs.adyen.com/payment-methods). + List of payments methods to be hidden from the shopper. To refer to payment methods, use their `paymentMethod.type`from [Payment methods overview](https://docs.adyen.com/payment-methods). Example: `"blockedPaymentMethods":["ideal","giropay"]` items: @@ -3573,6 +4197,8 @@ components: > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. type: string metadata: + additionalProperties: + type: string description: |- Metadata consists of entries, each of which includes a key and a value. Limitations: Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit". @@ -3599,7 +4225,15 @@ components: Maximum length: 80 characters. type: string returnUrl: - description: The URL to return to. + description: |- + The URL to return to in case of a redirection. + The format depends on the channel. This URL can have a maximum of 1024 characters. + * For web, include the protocol `http://` or `https://`. You can also include your own additional query parameters, for example, shopper ID or order reference number. + Example: `https://your-company.com/checkout?shopperOrder=12xy` + * For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app). + Example: `my-app://` + * For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters). + Example: `my-app://your.package.name` type: string riskData: description: 'Contains risk data, such as client-side data, used to identify risk for a transaction.' @@ -3648,13 +4282,15 @@ components: > This field is required for recurring payments. type: string shopperStatement: - description: The text to appear on the shopper's bank statement. + description: |- + The text to be shown on the shopper's bank statement. To enable this field, contact our [Support Team](https://support.adyen.com/hc/en-us/requests/new). + We recommend sending a maximum of 25 characters, otherwise banks might truncate the string. type: string socialSecurityNumber: description: The shopper's social security number. type: string splits: - description: The details of how the payment should be split when distributing a payment to a MarketPay Marketplace and its Accounts. + description: 'Information on how the payment should be split between accounts when using [Adyen for Platforms](https://docs.adyen.com/marketpay/processing-payments#providing-split-information).' items: $ref: '#/components/schemas/Split' type: array @@ -3665,6 +4301,7 @@ components: description: The shopper's telephone number. type: string threeDSAuthenticationOnly: + default: 'false' description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' type: boolean token: @@ -3703,21 +4340,25 @@ components: PaymentVerificationResponse: properties: additionalData: - description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' anyOf: - $ref: '#/components/schemas/ResponseAdditionalDataCommon' - $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress' - $ref: '#/components/schemas/ResponseAdditionalDataCard' - $ref: '#/components/schemas/ResponseAdditionalDataDeliveryAddress' - $ref: '#/components/schemas/ResponseAdditionalDataInstallments' + - $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens' - $ref: '#/components/schemas/ResponseAdditionalDataPayPal' - $ref: '#/components/schemas/ResponseAdditionalDataSepa' + description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs** > **Additional data settings**.' fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' merchantReference: description: A unique value that you provided in the initial `/paymentSession` request as a `reference` field. type: string + order: + description: Contains updated information regarding the order in case order information was provided in the request. + $ref: '#/components/schemas/CheckoutOrderResponse' paymentMethod: description: The payment method used in the transaction. type: string @@ -3729,16 +4370,18 @@ components: type: string refusalReason: description: |- - If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. + If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. - When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values. + For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons). type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see [Authorisation refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).' type: string resultCode: description: |- - The result of the payment. Possible values: + The result of the payment. For more information, see [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + + Possible values: * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions. * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. @@ -3746,7 +4389,7 @@ components: * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions. * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state. * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions. - * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. For more information, refer to [Result codes](https://docs.adyen.com/checkout/payment-result-codes). + * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment. * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment. * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments. * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation. @@ -3774,6 +4417,18 @@ components: - merchantReference - paymentMethod - shopperLocale + QiwiWalletDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: qiwiwallet + description: '**qiwiwallet**' + type: string + required: + - type + - telephoneNumber Recurring: properties: contract: @@ -3813,6 +4468,8 @@ components: type: string type: array configuration: + additionalProperties: + type: string description: The configuration of the payment method. type: object details: @@ -3850,6 +4507,8 @@ components: Redirect: properties: data: + additionalProperties: + type: string description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' type: object method: @@ -3864,6 +4523,504 @@ components: url: description: 'The URL, to which you must redirect a shopper to complete a payment.' type: string + ResponseAdditionalDataBillingAddress: + properties: + billingAddress.city: + description: The billing address city passed in the payment request. + type: string + billingAddress.country: + description: |- + The billing address country passed in the payment request. + + Example: NL + type: string + billingAddress.houseNumberOrName: + description: The billing address house number or name passed in the payment request. + type: string + billingAddress.postalCode: + description: |- + The billing address postal code passed in the payment request. + + Example: 1011 DJ + type: string + billingAddress.stateOrProvince: + description: |- + The billing address state or province passed in the payment request. + + Example: NH + type: string + billingAddress.street: + description: The billing address street passed in the payment request. + type: string + ResponseAdditionalDataCard: + properties: + cardBin: + description: |- + The Bank Identification Number of a credit card, which is the first six digits of a card number. + + Example: 521234 + type: string + cardHolderName: + description: The cardholder name passed in the payment request. + type: string + cardIssuingBank: + description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available. + type: string + cardIssuingCountry: + description: |- + The country where the card was issued. + + Example: US + type: string + cardIssuingCurrency: + description: |- + The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. + + Example: USD + type: string + cardPaymentMethod: + description: |- + The card payment method used for the transaction. + + Example: amex + type: string + cardSummary: + description: |- + The last four digits of a card number. + + > Returned only in case of a card payment. + type: string + ResponseAdditionalDataCommon: + properties: + acquirerAccountCode: + description: |- + The name of the Adyen acquirer account. + + Example: PayPalSandbox_TestAcquirer + + > Only relevant for PayPal transactions. + type: string + acquirerCode: + description: |- + The name of the acquirer processing the payment request. + + Example: TestPmmAcquirer + type: string + acquirerReference: + description: |- + The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. + + Example: 7C9N3FNBKT9 + type: string + alias: + description: |- + The Adyen alias of the card. + + Example: H167852639363479 + type: string + aliasType: + description: |- + The type of the card alias. + + Example: Default + type: string + authCode: + description: |- + Authorisation code: + * When the payment is authorised successfully, this field holds the authorisation code for the payment. + * When the payment is not authorised, this field is empty. + + Example: 58747 + type: string + authorisedAmountCurrency: + description: 'The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).' + type: string + authorisedAmountValue: + description: |- + Value of the amount authorised. + + This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes). + type: string + avsResult: + description: |- + The AVS result code of the payment, which provides information about the outcome of the AVS check. + + For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs). + type: string + avsResultRaw: + description: |- + Raw AVS result received from the acquirer, where available. + + Example: D + type: string + bic: + description: |- + BIC of a bank account. + + Example: TESTNL01 + + > Only relevant for SEPA Direct Debit transactions. + type: string + dsTransID: + description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction. + type: string + eci: + description: |- + The Electronic Commerce Indicator returned from the schemes for the 3DS payment session. + + Example: 02 + type: string + expiryDate: + description: |- + The expiry date on the card. + + Example: 6/2016 + + > Returned only in case of a card payment. + type: string + extraCostsCurrency: + description: |- + The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. + + Example: EUR + type: string + extraCostsValue: + description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units. + type: string + 'fraudCheck-[itemNr]-[FraudCheckname]': + description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair. + type: string + fundingSource: + description: |- + Information regarding the funding type of the card. The possible return values are: + * CHARGE + * CREDIT + * DEBIT + * PREPAID + * PREPAID_RELOADABLE + + * PREPAID_NONRELOADABLE + * DEFFERED_DEBIT + + > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + + For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**. + type: string + fundsAvailability: + description: |- + Indicates availability of funds. + + Visa: + * "I" (fast funds are supported) + * "N" (otherwise) + + Mastercard: + * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) + * "N" (otherwise) + + > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D". + type: string + inferredRefusalReason: + description: |- + Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported". + + Possible values: + + * 3D Secure Mandated + * Closed Account + * ContAuth Not Supported + * CVC Mandated + * Ecommerce Not Allowed + * Crossborder Not Supported + * Card Updated + + * Low Authrate Bin + * Non-reloadable prepaid card + type: string + issuerCountry: + description: |- + The issuing country of the card based on the BIN list that Adyen maintains. + + Example: JP + type: string + mcBankNetReferenceNumber: + description: |- + The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long. + + > Contact Support Team to enable this field. + type: string + networkTxReference: + description: |- + Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa. + + This contains either the Mastercard Trace ID or the Visa Transaction ID. + type: string + ownerName: + description: |- + The owner name of a bank account. + + Only relevant for SEPA Direct Debit transactions. + type: string + paymentAccountReference: + description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters. + type: string + paymentMethodVariant: + description: |- + The Adyen sub-variant of the payment method used for the payment request. + + For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). + + Example: mcpro + type: string + payoutEligible: + description: |- + Indicates whether a payout is eligible or not for this card. + + Visa: + * "Y" + * "N" + + Mastercard: + * "Y" (domestic and cross-border) + + * "D" (only domestic) + * "N" (no MoneySend) + * "U" (unknown) + type: string + realtimeAccountUpdaterStatus: + description: |- + The response code from the Real Time Account Updater service. + + Possible return values are: + * CardChanged + * CardExpiryChanged + * CloseAccount + + * ContactCardAccountHolder + type: string + receiptFreeText: + description: Message to be displayed on the terminal. + type: string + recurring.firstPspReference: + description: |- + The `pspReference`, of the first recurring payment that created the recurring detail. + + This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team. + type: string + recurring.recurringDetailReference: + description: The reference that uniquely identifies the recurring transaction. + type: string + referred: + description: |- + If the payment is referred, this field is set to true. + + This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. + + Example: true + type: string + refusalReasonRaw: + description: |- + Raw refusal reason received from the acquirer, where available. + + Example: AUTHORISED + type: string + shopperInteraction: + description: |- + The shopper interaction type of the payment request. + + Example: Ecommerce + type: string + shopperReference: + description: |- + The shopperReference passed in the payment request. + + Example: AdyenTestShopperXX + type: string + terminalId: + description: |- + The terminal ID used in a point-of-sale payment. + + Example: 06022622 + type: string + threeDAuthenticated: + description: |- + A Boolean value indicating whether 3DS authentication was completed on this payment. + + Example: true + type: string + threeDAuthenticatedResponse: + description: |- + The raw 3DS authentication result from the card issuer. + + Example: N + type: string + threeDOffered: + description: |- + A Boolean value indicating whether 3DS was offered for this payment. + + Example: true + type: string + threeDOfferedResponse: + description: |- + The raw enrollment result from the 3DS directory services of the card schemes. + + Example: Y + type: string + threeDSVersion: + description: The 3D Secure 2 version. + type: string + visaTransactionId: + description: |- + The `visaTransactionId`, has a fixed length of 15 numeric characters. + + > Contact Support Team to enable this field. + type: string + xid: + description: |- + The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field. + + Example: ODgxNDc2MDg2MDExODk5MAAAAAA= + type: string + ResponseAdditionalDataDeliveryAddress: + properties: + deliveryAddress.city: + description: The delivery address city passed in the payment request. + type: string + deliveryAddress.country: + description: |- + The delivery address country passed in the payment request. + + Example: NL + type: string + deliveryAddress.houseNumberOrName: + description: The delivery address house number or name passed in the payment request. + type: string + deliveryAddress.postalCode: + description: |- + The delivery address postal code passed in the payment request. + + Example: 1011 DJ + type: string + deliveryAddress.stateOrProvince: + description: |- + The delivery address state or province passed in the payment request. + + Example: NH + type: string + deliveryAddress.street: + description: The delivery address street passed in the payment request. + type: string + ResponseAdditionalDataInstallments: + properties: + installmentPaymentData.installmentType: + description: Type of installment. The value of `installmentType` should be **IssuerFinanced**. + type: string + 'installmentPaymentData.option[itemNr].annualPercentageRate': + description: Annual interest rate. + type: string + 'installmentPaymentData.option[itemNr].firstInstallmentAmount': + description: First Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].installmentFee': + description: Installment fee amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].interestRate': + description: Interest rate for the installment period. + type: string + 'installmentPaymentData.option[itemNr].maximumNumberOfInstallments': + description: Maximum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].minimumNumberOfInstallments': + description: Minimum number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].numberOfInstallments': + description: Total number of installments possible for this payment. + type: string + 'installmentPaymentData.option[itemNr].subsequentInstallmentAmount': + description: Subsequent Installment Amount in minor units. + type: string + 'installmentPaymentData.option[itemNr].totalAmountDue': + description: Total amount in minor units. + type: string + installmentPaymentData.paymentOptions: + description: |- + Possible values: + * PayInInstallmentsOnly + * PayInFullOnly + * PayInFullOrInstallments + type: string + installments.value: + description: |- + The number of installments that the payment amount should be charged with. + + Example: 5 + > Only relevant for card payments in countries that support installments. + type: string + ResponseAdditionalDataNetworkTokens: + properties: + networkToken.available: + description: Indicates whether a network token is available for the specified card. + type: string + networkToken.bin: + description: 'The Bank Identification Number of a tokenized card, which is the first six digits of a card number.' + type: string + networkToken.tokenSummary: + description: The last four digits of a card number. + type: string + ResponseAdditionalDataPayPal: + properties: + paypalEmail: + description: |- + The buyer's PayPal account email address. + + Example: paypaltest@adyen.com + type: string + paypalPayerId: + description: |- + The buyer's PayPal ID. + + Example: LF5HCWWBRV2KL + type: string + paypalPayerResidenceCountry: + description: |- + The buyer's country of residence. + + Example: NL + type: string + paypalPayerStatus: + description: |- + The status of the buyer's PayPal account. + + Example: unverified + type: string + paypalProtectionEligibility: + description: |- + The eligibility for PayPal Seller Protection for this payment. + + Example: Ineligible + type: string + ResponseAdditionalDataSepa: + properties: + sepadirectdebit.dateOfSignature: + description: |- + The transaction signature date. + + Format: yyyy-MM-dd + type: string + sepadirectdebit.mandateId: + description: Its value corresponds to the pspReference value of the transaction. + type: string + sepadirectdebit.sequenceType: + description: |- + This field can take one of the following values: + * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. + + * First: (FRST) Initial/first collection in a series of direct debit instructions. + * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. + * Final: (FNAL) Last/final collection in a series of direct debit instructions. + + Example: OOFF + type: string RiskData: properties: clientData: @@ -3883,6 +5040,39 @@ components: 'y': description: The `y` value as received from the 3D Secure 2 SDK. type: string + SamsungPayDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + samsungPayToken: + description: '' + type: string + type: + default: samsungpay + description: '**samsungpay**' + type: string + required: + - type + - samsungPayToken + SepaDirectDebitDetails: + properties: + iban: + description: The International Bank Account Number (IBAN). + type: string + ownerName: + description: The name of the bank account holder. + type: string + type: + default: sepadirectdebit + description: '**sepadirectdebit**' + type: string + required: + - type + - iban + - ownerName ServiceError: properties: errorCode: @@ -4047,6 +5237,8 @@ components: SubInputDetail: properties: configuration: + additionalProperties: + type: string description: Configuration parameters for the required input. type: object items: @@ -4075,6 +5267,7 @@ components: description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant''s acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.' type: string authenticationOnly: + default: 'false' description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.' type: boolean challengeIndicator: @@ -4112,6 +5305,7 @@ components: > Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account. type: string messageVersion: + default: 2.1.0 description: The `messageVersion` value indicating the 3D Secure 2 protocol version. type: string notificationURL: @@ -4133,6 +5327,7 @@ components: Required for `deviceChannel` set to **app**. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: + default: '60' description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for `deviceChannel` set to **app**. Defaults to **60** minutes. @@ -4180,7 +5375,7 @@ components: description: |- In 3D Secure 1, the authentication response if the shopper was redirected. - In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, set this value to **Y**. + In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter. enum: - 'Y' - 'N' @@ -4198,7 +5393,7 @@ components: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server. - In 3D Secure 2, this is the `transStatus` from the `ARes`. The possible values are **A** or **Y** for a frictionless flow, or **C** for a challenge flow. + In 3D Secure 2, this is the `transStatus` from the `ARes`. enum: - A - C @@ -4222,3 +5417,73 @@ components: description: 'Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).' format: byte type: string + UpdatePaymentLinkRequest: + properties: + status: + description: |- + Status of the payment link. Possible values: + * **expired** + enum: + - expired + type: string + required: + - status + VippsDetails: + properties: + telephoneNumber: + description: '' + type: string + type: + default: vipps + description: '**vipps**' + type: string + required: + - type + - telephoneNumber + VisaCheckoutDetails: + properties: + fundingSource: + enum: + - credit + - debit + type: string + type: + default: visacheckout + description: '**visacheckout**' + type: string + visaCheckoutCallId: + description: '' + type: string + required: + - type + - visaCheckoutCallId + WeChatPayDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + WeChatPayMiniProgramDetails: + properties: + appId: + type: string + openid: + type: string + type: + description: The payment method type. + type: string + required: + - type + securitySchemes: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + scheme: basic + type: http diff --git a/yaml/CheckoutUtilityService-v1.yaml b/yaml/CheckoutUtilityService-v1.yaml deleted file mode 100644 index 7974bf0..0000000 --- a/yaml/CheckoutUtilityService-v1.yaml +++ /dev/null @@ -1,78 +0,0 @@ -openapi: 3.0.0 -servers: - - url: 'https://checkout-test.adyen.com/v1' -info: - version: '1' - title: Adyen Checkout Utility API - description: |- - A web service containing utility functions available for merchants integrating with Checkout APIs. - ## Authentication - Each request to the Checkout Utility API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/user-management/how-to-get-the-api-key). Then set this key to the `X-API-Key` header value, for example: - - ``` - curl - -H "Content-Type: application/json" \ - -H "X-API-Key: Your_Checkout_API_key" \ - ... - ``` - Note that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints). - - ## Versioning - Checkout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: "vXX", where XX is the version number. - - For example: - ``` - https://checkout-test.adyen.com/v1/originKeys - ``` - termsOfService: 'https://www.adyen.com/legal/terms-and-conditions' - contact: - name: Adyen Support - url: 'https://support.adyen.com/' - email: support@adyen.com -x-groups: - - General -paths: - /originKeys: - post: - summary: Create originKey values for one or more merchant domains. - description: This operation takes the origin domains and returns a JSON object containing the corresponding origin keys for the domains. - x-groupName: General - x-sortIndex: 0 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CheckoutUtilityRequest' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/CheckoutUtilityResponse' - description: OK - the request has succeeded. - '400': - description: Bad Request - a problem reading or understanding the request. - '401': - description: Unauthorized - authentication required. - '403': - description: Forbidden - insufficient permissions to process the request. - '422': - description: Unprocessable Entity - a request validation error. - '500': - description: Internal Server Error - the server could not process the request. -components: - schemas: - CheckoutUtilityRequest: - properties: - originDomains: - description: 'The list of origin domains, for which origin keys are requested.' - items: - type: string - type: array - required: - - originDomains - CheckoutUtilityResponse: - properties: - originKeys: - description: 'The list of origin keys for all requested domains. For each list item, the key is the domain and the value is the origin key.' - type: object