openapi: 3.1.0
info:
version: '6'
x-publicVersion: true
title: Adyen Account acceptDispute Authorise3d API
description: "This API is used for the classic integration. If you are just starting your implementation, refer to our [new integration guide](https://docs.adyen.com/marketplaces-and-platforms) instead.\n\nThe Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and verification-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/marketplaces-and-platforms/classic).\n## Authentication\nYour Adyen contact will provide your API credential and an API key. To connect to the API, add an `X-API-Key` header with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively, you can use the username and password to connect to the API using basic authentication. For example:\n\n```\ncurl\n-U \"ws@MarketPlace.YOUR_PLATFORM_ACCOUNT\":\"YOUR_WS_PASSWORD\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nWhen going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://cal-test.adyen.com/cal/services/Account/v6/createAccountHolder\n```"
x-timestamp: '2023-05-30T15:27:20Z'
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://github.com/Adyen/adyen-openapi
servers:
- url: https://cal-test.adyen.com/cal/services/Account/v6
tags:
- name: Authorise3d
paths:
/authorise3d:
post:
tags:
- Authorise3d
summary: Adyen Complete a 3DS Authorisation
description: 'For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.
> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.'
operationId: post-authorise3d
x-sortIndex: 2
x-methodName: authorise3d
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
authorise3d:
$ref: '#/components/examples/post-authorise3d-authorise3d'
schema:
$ref: '#/components/schemas/PaymentRequest3d'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResult'
examples:
post-authorise3d200Example:
summary: Default post-authorise3d 200 response
x-microcks-default: true
value:
additionalData: {}
authCode: CODE123
dccAmount: 1000
dccSignature: example_value
fraudResult: example_value
issuerUrl: https://example.com/resource
md: example_value
paRequest: example_value
pspReference: REF-001
refusalReason: REF-001
resultCode: AuthenticationFinished
description: OK - the request has succeeded.
'400':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-400'
schema:
$ref: '#/components/schemas/ServiceError'
description: Bad Request - a problem reading or understanding the request.
'401':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-401'
schema:
$ref: '#/components/schemas/ServiceError'
description: Unauthorized - authentication required.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
examples:
post-authorise3d403Example:
summary: Default post-authorise3d 403 response
x-microcks-default: true
value:
additionalData: {}
errorCode: CODE123
errorType: standard
message: example_value
pspReference: REF-001
status: 500
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
examples:
post-authorise3d422Example:
summary: Default post-authorise3d 422 response
x-microcks-default: true
value:
additionalData: {}
errorCode: CODE123
errorType: standard
message: example_value
pspReference: REF-001
status: 500
description: Unprocessable Entity - a request validation error.
'500':
content:
application/json:
examples:
generic:
$ref: '#/components/examples/generic-500'
schema:
$ref: '#/components/schemas/ServiceError'
description: Internal Server Error - the server could not process the request.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
ThreeDSRequestorAuthenticationInfo:
properties:
threeDSReqAuthData:
description: 'Data that documents and supports a specific authentication process. Maximum length: 2048 bytes.'
type: string
threeDSReqAuthMethod:
description: 'Mechanism used by the Cardholder to authenticate to the 3DS Requestor. Allowed values:
* **01** — No 3DS Requestor authentication occurred (for example, cardholder “logged in” as guest).
* **02** — Login to the cardholder account at the 3DS Requestor system using 3DS Requestor’s own credentials.
* **03** — Login to the cardholder account at the 3DS Requestor system using federated ID.
* **04** — Login to the cardholder account at the 3DS Requestor system using issuer credentials.
* **05** — Login to the cardholder account at the 3DS Requestor system using third-party authentication.
* **06** — Login to the cardholder account at the 3DS Requestor system using FIDO Authenticator.'
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
maxLength: 2
minLength: 2
type: string
threeDSReqAuthTimestamp:
description: 'Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM'
maxLength: 12
minLength: 12
type: string
type: object
ThreeDSRequestorPriorAuthenticationInfo:
properties:
threeDSReqPriorAuthData:
description: 'Data that documents and supports a specific authentication process. Maximum length: 2048 bytes.'
type: string
threeDSReqPriorAuthMethod:
description: 'Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor. Allowed values:
* **01** — Frictionless authentication occurred by ACS.
* **02** — Cardholder challenge occurred by ACS.
* **03** — AVS verified.
* **04** — Other issuer methods.'
enum:
- '01'
- '02'
- '03'
- '04'
maxLength: 2
minLength: 2
type: string
threeDSReqPriorAuthTimestamp:
description: 'Date and time in UTC of the prior cardholder authentication. Format: YYYYMMDDHHMM'
maxLength: 12
minLength: 12
type: string
threeDSReqPriorRef:
description: 'This data element provides additional information to the ACS to determine the best approach for handing a request. This data element contains an ACS Transaction ID for a prior authenticated transaction. For example, the first recurring transaction that was authenticated with the cardholder. Length: 30 characters.'
maxLength: 36
minLength: 36
type: string
type: object
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
type: object
Phone:
properties:
cc:
description: 'Country code. Length: 1–3 characters.'
maxLength: 3
minLength: 1
type: string
subscriber:
description: 'Subscriber number. Maximum length: 15 characters.'
maxLength: 15
type: string
type: object
Installments:
properties:
plan:
x-addedInVersion: '64'
description: 'The installment plan, used for [card installments in Japan](https://docs.adyen.com/payment-methods/cards/credit-card-installments#make-a-payment-japan). By default, this is set to **regular**. Possible values:
* **regular**
* **revolving**
'
enum:
- regular
- revolving
type: string
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
type: object
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 network token.
type: string
type: object
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
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
type: object
AdditionalDataLodging:
properties:
lodging.checkInDate:
description: 'The arrival date.
* Date format: **yyyyMmDd**. For example, for 2023 April 22, **20230422**.'
type: string
lodging.checkOutDate:
description: 'The departure date.
* Date format: **yyyyMmDd**. For example, for 2023 April 22, **20230422**.'
type: string
lodging.customerServiceTollFreeNumber:
description: 'The toll-free phone number for the lodging.
* Format: numeric
* Max length: 17 characters.
* For US and CA numbers must be 10 characters in length
* Must not start with a space
* Must not contain any special characters such as + or -
*Must not be all zeros.'
type: string
lodging.fireSafetyActIndicator:
description: 'Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Must be ''Y'' or ''N''.
* Format: alphabetic
* Max length: 1 character'
type: string
lodging.folioCashAdvances:
description: 'The folio cash advances, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: numeric
* Max length: 12 characters'
type: string
lodging.folioNumber:
description: 'The card acceptor’s internal invoice or billing ID reference number.
* Max length: 25 characters.
* Must not start with a space
*Must not be all zeros.'
type: string
lodging.foodBeverageCharges:
description: 'Any charges for food and beverages associated with the booking, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: numeric
* Max length: 12 characters'
type: string
lodging.noShowIndicator:
description: "Indicates if the customer didn't check in for their booking.\n Possible values: \n* **Y**: the customer didn't check in \n* **N**: the customer checked in"
type: string
lodging.prepaidExpenses:
description: 'The prepaid expenses for the booking.
* Format: numeric
* Max length: 12 characters'
type: string
lodging.propertyPhoneNumber:
description: 'The lodging property location''s phone number.
* Format: numeric.
* Min length: 10 characters
* Max length: 17 characters
* For US and CA numbers must be 10 characters in length
* Must not start with a space
* Must not contain any special characters such as + or -
*Must not be all zeros.'
type: string
lodging.room1.numberOfNights:
description: 'The total number of nights the room is booked for.
* Format: numeric
* Must be a number between 0 and 99
* Max length: 4 characters'
type: string
lodging.room1.rate:
description: 'The rate for the room, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: numeric
* Max length: 12 characters
* Must not be a negative number'
type: string
lodging.totalRoomTax:
description: 'The total room tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: numeric
* Max length: 12 characters
* Must not be a negative number'
type: string
lodging.totalTax:
description: 'The total tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: numeric
* Max length: 12 characters
* Must not be a negative number'
type: string
travelEntertainmentAuthData.duration:
description: 'The number of nights. This should be included in the auth message.
* Format: numeric
* Max length: 4 characters'
type: string
travelEntertainmentAuthData.market:
description: 'Indicates what market-specific dataset will be submitted. Must be ''H'' for Hotel. This should be included in the auth message.
* Format: alphanumeric
* Max length: 1 character'
type: string
type: object
AdditionalDataCarRental:
properties:
carRental.checkOutDate:
description: 'The 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
* For US and CA numbers must be 10 characters in length
* Must not start with a space
* Must not contain any special characters such as + or -
*Must not be all zeros.'
type: string
carRental.daysRented:
description: 'Number of days for which the car is being rented.
* Format: Numeric
* maxLength: 4
* Must not be all spaces'
type: string
carRental.fuelCharges:
description: 'Any fuel charges associated with the rental, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: Numeric
* maxLength: 12'
type: string
carRental.insuranceCharges:
description: 'Any insurance charges associated with the rental, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Format: Numeric
* maxLength: 12
* Must not be all spaces
*Must not be all zeros.'
type: string
carRental.locationCity:
description: 'The city where the car is rented.
* Format: Alphanumeric
* maxLength: 18
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.locationCountry:
description: 'The country where the car is rented, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
* Format: Alphanumeric
* maxLength: 2'
type: string
carRental.locationStateProvince:
description: 'The state or province where the car is rented.
* Format: Alphanumeric
* maxLength: 2
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.noShowIndicator:
description: 'Indicates if the customer didn''t pick up their rental car.
* Y - Customer did not pick up their car
* N - Not applicable'
type: string
carRental.oneWayDropOffCharges:
description: 'The charge for not returning a car to the original rental location, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* maxLength: 12'
type: string
carRental.rate:
description: 'The daily rental rate, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* 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 for the car rental.
* Format: Alphanumeric
* maxLength: 9
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.rentalClassId:
description: 'The classification of the rental car.
* Format: Alphanumeric
* maxLength: 4
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.renterName:
description: 'The name of the person renting the car.
* Format: Alphanumeric
* maxLength: 26
* If you send more than 26 characters, the name is truncated
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.returnCity:
description: 'The city where the car must be returned.
* Format: Alphanumeric
* maxLength: 18
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.returnCountry:
description: 'The country where the car must be returned, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
* Format: Alphanumeric
* maxLength: 2'
type: string
carRental.returnDate:
description: 'The last date to return the car by.
* Date format: `yyyyMMdd`
* maxLength: 8'
type: string
carRental.returnLocationId:
description: 'The agency code, phone number, or address abbreviation
* Format: Alphanumeric
* maxLength: 10
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.returnStateProvince:
description: 'The state or province where the car must be returned.
* Format: Alphanumeric
* maxLength: 3
* Must not start with a space or be all spaces
*Must not be all zeros.'
type: string
carRental.taxExemptIndicator:
description: 'Indicates if the goods or services were tax-exempt, or if tax was not paid on them.
Values:
* Y - Goods or services were tax exempt
* N - Tax was not collected'
type: string
travelEntertainmentAuthData.duration:
description: 'Number of days the car is rented for. This should be included in the auth message.
* Format: Numeric
* maxLength: 4'
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
type: object
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/online-payments/online-payouts).'
enum:
- ONECLICK
- RECURRING
- PAYOUT
type: string
recurringDetailName:
description: A descriptive name for this detail.
type: string
recurringExpiry:
x-addedInVersion: '40'
description: Date after which no further authorisations shall be performed. Only for 3D Secure 2.
format: date-time
type: string
recurringFrequency:
x-addedInVersion: '40'
description: Minimum number of days between authorisations. Only for 3D Secure 2.
type: string
tokenService:
x-addedInVersion: '25'
description: The name of the token service.
enum:
- VISATOKENSERVICE
- MCTOKENSERVICE
- AMEXTOKENSERVICE
- TOKEN_SHARING
type: string
type: object
AdditionalDataLevel23:
properties:
enhancedSchemeData.customerReference:
description: 'The customer code.
* Encoding: ASCII
* Max length: 25 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.destinationCountryCode:
description: 'The three-letter [ISO 3166-1 alpha-3 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) for the destination address.
* Encoding: ASCII
* Fixed length: 3 characters'
type: string
enhancedSchemeData.destinationPostalCode:
description: 'The postal code of the destination address.
* Encoding: ASCII
* Max length: 10 characters
* Must not start with a space'
type: string
enhancedSchemeData.destinationStateProvinceCode:
description: 'Destination state or province code.
* Encoding: ASCII
* Max length: 3 characters
* Must not start with a space'
type: string
enhancedSchemeData.dutyAmount:
description: 'The duty amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
* Encoding: Numeric
* Max length: 12 characters'
type: string
enhancedSchemeData.freightAmount:
description: 'The shipping amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
* Encoding: Numeric
*Max length: 12 characters'
type: string
enhancedSchemeData.itemDetailLine[itemNr].commodityCode:
description: 'The [UNSPC commodity code](https://www.unspsc.org/) of the item.
* Encoding: ASCII
* Max length: 12 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.itemDetailLine[itemNr].description:
description: 'A description of the item.
* Encoding: ASCII
* Max length: 26 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.itemDetailLine[itemNr].discountAmount:
description: 'The discount amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
* Encoding: Numeric
* Max length: 12 characters'
type: string
enhancedSchemeData.itemDetailLine[itemNr].productCode:
description: 'The product code.
* Encoding: ASCII.
* Max length: 12 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.itemDetailLine[itemNr].quantity:
description: 'The number of items. Must be an integer greater than zero.
* Encoding: Numeric
* Max length: 12 characters
* Must not start with a space or be all spaces
'
type: string
enhancedSchemeData.itemDetailLine[itemNr].totalAmount:
description: 'The total amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
* Max length: 12 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure:
description: 'The unit of measurement for an item.
* Encoding: ASCII
Max length: 3 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.itemDetailLine[itemNr].unitPrice:
description: 'The unit price in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* For example, 2000 means USD 20.00.
* Encoding: Numeric
* Max length: 12 characters
* Must not be all zeros.'
type: string
enhancedSchemeData.orderDate:
description: 'The order date.
* Format: `ddMMyy`
* Encoding: ASCII
* Max length: 6 characters'
type: string
enhancedSchemeData.shipFromPostalCode:
description: 'The postal code of the address the item is shipped from.
* Encoding: ASCII
* Max length: 10 characters
* Must not start with a space or be all spaces
* Must not be all zeros.'
type: string
enhancedSchemeData.totalTaxAmount:
# --- truncated at 32 KB (151 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/openapi/adyen-authorise3d-api-openapi.yml