Files
adyen-openapi/specs/yaml/PayoutService-v49.yaml
2019-11-20 09:58:35 +01:00

1716 lines
73 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
openapi: 3.0.0
servers:
- url: 'https://pal-test.adyen.com/pal/servlet/Payout/v49'
info:
version: '49'
title: Adyen Payout API
description: |-
A set of API endpoints that allow you to store payout details, confirm, or decline a payout.
For more information, refer to [Online payouts](https://docs.adyen.com/checkout/online-payouts).
termsOfService: 'https://www.adyen.com/legal/terms-and-conditions'
contact:
name: Adyen Support
url: 'https://support.adyen.com/'
email: support@adyen.com
x-groups:
- Initialization
- Reviewing
- Instant payouts
paths:
/confirmThirdParty:
post:
summary: Confirms a payout.
description: |-
Confirms a previously submitted payout.
To cancel a payout, use the `/declineThirdParty` endpoint.
x-groupName: Reviewing
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyResponse'
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.
/declineThirdParty:
post:
summary: Cancels a payout.
description: |-
Cancels a previously submitted payout.
To confirm and send a payout, use the `/confirmThirdParty` endpoint.
x-groupName: Reviewing
x-sortIndex: 2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModifyResponse'
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.
/payout:
post:
summary: Pay out directly.
description: 'With this call, you can pay out to your customers, and funds will be made available within 30 minutes on the cardholder''s bank account (this is dependent on whether the issuer supports this functionality). Instant card payouts are only supported for Visa and Mastercard cards.'
x-groupName: Instant payouts
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutResponse'
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.
/storeDetail:
post:
summary: Stores payout details.
description: Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call.
x-groupName: Initialization
x-sortIndex: 2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreDetailRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StoreDetailResponse'
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.
/storeDetailAndSubmitThirdParty:
post:
summary: Stores details and submits a payout.
description: |-
Submits a payout and stores its details for subsequent payouts.
The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.
x-groupName: Initialization
x-sortIndex: 1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoreDetailAndSubmitRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StoreDetailAndSubmitResponse'
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.
/submitThirdParty:
post:
summary: Submits a payout.
description: |-
Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call.
The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.
x-groupName: Initialization
x-sortIndex: 3
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitResponse'
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:
AccountInfo:
properties:
accountAgeIndicator:
description: |-
Indicator for the length of time since this shopper account was created in the merchant's environment.
Allowed values:
* notApplicable
* thisTransaction
* lessThan30Days
* from30To60Days
* 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.
Allowed values:
* thisTransaction
* lessThan30Days
* from30To60Days
* moreThan60Days
enum:
- thisTransaction
- lessThan30Days
- from30To60Days
- moreThan60Days
type: string
accountCreationDate:
description: Date when the shopper's account was created.
format: date-time
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.
Allowed values:
* thisTransaction
* lessThan30Days
* from30To60Days
* 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.
Allowed values:
* notApplicable
* thisTransaction
* lessThan30Days
* from30To60Days
* 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.
Allowed values:
* notApplicable
* thisTransaction
* lessThan30Days
* from30To60Days
* 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
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, **SF** in US or **ON** for 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
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'
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
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.'
format: int32
type: integer
javaEnabled:
description: Boolean value indicating if the shopper's browser is able to execute Java.
type: boolean
javaScriptEnabled:
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:
* 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
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
DeviceRenderOptions:
properties:
sdkInterface:
description: |-
Supported SDK interface types.
Allowed values:
* Native
* Html
* both
enum:
- Html
- Native
- both
type: string
sdkUiType:
description: |-
UI types supported for displaying specific challenges.
Allowed values:
* text
* singleSelect
* outOfBand
* otherHtml
* multiSelect
items:
enum:
- multiSelect
- otherHtml
- outOfBand
- singleSelect
- text
type: string
type: array
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
FundSource:
properties:
additionalData:
description: a map of name/value pairs for passing in additional/industry-specific data
type: object
billingAddress:
description: the address where to send the invoice
$ref: '#/components/schemas/Address'
card:
description: a representation of a (credit or debit) card
$ref: '#/components/schemas/Card'
shopperEmail:
description: the email address of the person
type: string
shopperName:
description: the name of the person
$ref: '#/components/schemas/Name'
telephoneNumber:
description: the telephone number of the person
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
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.
Allowed values:
* `shipToBillingAddress`
* `shipToVerifiedAddress`
* `shipToNewAddress`
* `shipToStore`
* `digitalGoods`
* `goodsNotShipped`
* `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.
Allowed values:
* `electronicDelivery`
* `sameDayShipping`
* `overnightShipping`
* `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
ModifyRequest:
properties:
additionalData:
description: 'This field contains additional data, which may be required for a particular payout request.'
type: object
merchantAccount:
description: 'The merchant account identifier, with which you want to process the transaction.'
type: string
originalReference:
description: The PSP reference received in the `/submitThirdParty` response.
type: string
required:
- merchantAccount
- originalReference
ModifyResponse:
properties:
additionalData:
description: 'This field contains additional data, which may be returned in a particular response.'
type: object
pspReference:
description: Adyen's 16-character string reference associated with the transaction. This value is globally unique; quote it when communicating with us about this response.
type: string
response:
description: |-
The response:
* In case of success, it is either `payout-confirm-received` or `payout-decline-received`.
* In case of an error, an informational message is returned.
type: string
required:
- pspReference
- response
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
PayoutRequest:
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:
description: |-
This field contains additional data, which may be required for a particular payment request.
The `additionalData` object consists of entries, each of which includes the key and value. For more information on possible key-value pairs, refer to the [additionalData section](https://docs.adyen.com/api-reference/payments-api/paymentrequest/paymentrequest-additionaldata).
type: object
amount:
description: 'The amount information for the transaction. For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).'
$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'
bankAccount:
description: |-
The details of the bank account, from which the payment should be made.
> Either `bankAccount` or `card` field must be provided in a payment request.
$ref: '#/components/schemas/BankAccount'
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
card:
description: |-
A container for card data.
> Either `bankAccount` or `card` field must be provided in a payment request.
$ref: '#/components/schemas/Card'
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
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
fundSource:
description: The person or entity funding the money.
$ref: '#/components/schemas/FundSource'
installments:
description: 'Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/installment-payments).'
$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:
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'
nationality:
description: The two-character country code of the shopper's nationality.
maxLength: 2
type: string
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
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` 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
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 appear on the shopper's bank statement.
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.
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
PayoutResponse:
properties:
additionalData:
description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to **Customer Area** > **Account** > **API URLs**.'
type: object
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.
type: string
dccAmount:
description: |-
Includes the currency of the conversion and the value of the transaction.
> This value only applies if you have implemented Dynamic Currency Conversion. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).
$ref: '#/components/schemas/Amount'
dccSignature:
description: |-
Cryptographic signature used to verify `dccQuote`.
> This value only applies if you have implemented Dynamic Currency Conversion. For more information, [contact Support](https://support.adyen.com/hc/en-us/requests/new).
type: string
fraudResult:
description: The fraud result properties of the payment.
$ref: '#/components/schemas/FraudResult'
issuerUrl:
description: |-
The URL to direct the shopper to.
> In case of SecurePlus, do not redirect a shopper to this URL.
type: string
md:
description: The payment session.
type: string
paRequest:
description: |-
The 3D request data for the issuer.
If the value is **CUPSecurePlus-CollectSMSVerificationCode**, collect an SMS code from the shopper and pass it in the `/authorise3D` request. For more information, see [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).
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 on handling a pending payment, refer to [Payments with pending status](https://docs.adyen.com/development-resources/payments-with-pending-status).
* **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
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
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
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
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.
>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.
>Required if the type is `MarketPlace`.
type: string
type:
description: |-
The type of this split.
>Permitted values: `Default`, `PaymentFee`, `VAT`, `Commission`, `MarketPlace`, `Verification`.
enum:
- 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).
If 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.
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
StoreDetailAndSubmitRequest:
properties:
additionalData:
description: 'This field contains additional data, which may be required for a particular request.'
type: object
amount:
description: A container object for the payable amount information of the transaction.
$ref: '#/components/schemas/Amount'
bank:
description: |-
A container for bank account data.
> This field is mandatory if `card` is not provided.
$ref: '#/components/schemas/BankAccount'
billingAddress:
description: The billing address.
$ref: '#/components/schemas/Address'
card:
description: |-
A container for card data.
> This field is mandatory if `bank` is not provided.
$ref: '#/components/schemas/Card'
dateOfBirth:
description: |-
The date of birth.
Format: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD
For Paysafecard it must be the same as used when registering the Paysafecard account.
> This field is mandatory for natural persons.
format: date-time
type: string
entityType:
description: The type of the entity the payout is processed for.
enum:
- NaturalPerson
- Company
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
merchantAccount:
description: 'The merchant account identifier, with which you want to process the transaction.'
type: string
nationality:
description: |-
The shopper's nationality.
A valid value is an ISO 2-character country code (e.g. 'NL').
maxLength: 2
type: string
recurring:
description: |-
A container for the type of recurring contract to be retrieved.
The recurring.contract must be set to `PAYOUT`
$ref: '#/components/schemas/Recurring'
reference:
description: 'The merchant reference for this payment. This reference will be used in all communication to the merchant about the status of the payout. Although it is a good idea to make sure it is unique, this is not a requirement.'
type: string
selectedBrand:
description: |-
The name of the brand to make a payout to.
For Paysafecard it must be set to `paysafecard`.
type: string
shopperEmail:
description: The shopper's email address.
type: string
shopperName:
description: |-
The shopper's name.
When the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.
$ref: '#/components/schemas/Name'
shopperReference:
description: The shopper's reference for the payment transaction.
type: string
shopperStatement:
description: The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).
type: string
socialSecurityNumber:
description: The shopper's social security number.
type: string
required:
- merchantAccount
- shopperEmail
- shopperReference
- recurring
- dateOfBirth
- nationality
- entityType
- reference
- amount
StoreDetailAndSubmitResponse:
properties:
additionalData:
description: 'This field contains additional data, which may be returned in a particular response.'
type: object
pspReference:
description: A new reference to uniquely identify this request.
type: string
refusalReason:
description: 'In case of refusal, an informational message for the reason.'
type: string
resultCode:
description: |-
The response:
* In case of success is payout-submit-received.
* In case of an error, an informational message is returned.
type: string
required:
- pspReference
- resultCode
StoreDetailRequest:
properties:
additionalData:
description: 'This field contains additional data, which may be required for a particular request.'
type: object
bank:
description: |-
A container for bank account data.
> This field is mandatory if `card` is not provided.
$ref: '#/components/schemas/BankAccount'
billingAddress:
description: The billing address.
$ref: '#/components/schemas/Address'
card:
description: |-
A container for card data.
> This field is mandatory if `bank` is not provided.
$ref: '#/components/schemas/Card'
dateOfBirth:
description: |-
The date of birth.
Format: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD
For Paysafecard it must be the same as used when registering the Paysafecard account.
> This field is mandatory for natural persons.
format: date-time
type: string
entityType:
description: The type of the entity the payout is processed for.
enum:
- NaturalPerson
- Company
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
merchantAccount:
description: 'The merchant account identifier, with which you want to process the transaction.'
type: string
nationality:
description: |-
The shopper's nationality.
A valid value is an ISO 2-character country code (e.g. 'NL').
maxLength: 2
type: string
recurring:
description: |-
A container for the type of recurring contract to be retrieved.
The recurring.contract must be set to `PAYOUT`
$ref: '#/components/schemas/Recurring'
selectedBrand:
description: |-
The name of the brand to make a payout to.
For Paysafecard it must be set to `paysafecard`.
type: string
shopperEmail:
description: The shopper's email address.
type: string
shopperName:
description: |-
The shopper's name.
When the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.
$ref: '#/components/schemas/Name'
shopperReference:
description: The shopper's reference for the payment transaction.
type: string
socialSecurityNumber:
description: The shopper's social security number.
type: string
required:
- merchantAccount
- shopperEmail
- shopperReference
- recurring
- dateOfBirth
- nationality
- entityType
StoreDetailResponse:
properties:
additionalData:
description: 'This field contains additional data, which may be returned in a particular response.'
type: object
pspReference:
description: A new reference to uniquely identify this request.
type: string
recurringDetailReference:
description: The token which you can use later on for submitting the payout.
type: string
resultCode:
description: The result code of the transaction. `Success` indicates that the details were stored successfully.
type: string
required:
- pspReference
- recurringDetailReference
- resultCode
SubmitRequest:
properties:
additionalData:
description: 'This field contains additional data, which may be required for a particular request.'
type: object
amount:
description: A container object for the payable amount information of the transaction.
$ref: '#/components/schemas/Amount'
dateOfBirth:
description: |-
The date of birth.
Format: ISO-8601; example: YYYY-MM-DD
For Paysafecard it must be the same as used when registering the Paysafecard account.
> This field is mandatory for natural persons.
> This field is required to update the existing `dateOfBirth` that is associated with this recurring contract.
format: date-time
type: string
entityType:
description: |-
The type of the entity the payout is processed for.
Allowed values:
* NaturalPerson
* Company
> This field is required to update the existing `entityType` that is associated with this recurring contract.
enum:
- NaturalPerson
- Company
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
merchantAccount:
description: The merchant account identifier you want to process the transaction request with.
type: string
nationality:
description: |-
The shopper's nationality.
A valid value is an ISO 2-character country code (e.g. 'NL').
> This field is required to update the existing nationality that is associated with this recurring contract.
type: string
recurring:
description: |-
A container for the type of recurring contract to be retrieved.
The `recurring.contract` must be set to "PAYOUT".
$ref: '#/components/schemas/Recurring'
reference:
description: 'The merchant reference for this payout. This reference will be used in all communication to the merchant about the status of the payout. Although it is a good idea to make sure it is unique, this is not a requirement.'
type: string
selectedRecurringDetailReference:
description: |-
This is the `recurringDetailReference` you want to use for this payout.
You can use the value LATEST to select the most recently used recurring detail.
type: string
shopperEmail:
description: The shopper's email address.
type: string
shopperName:
description: |-
The shopper's name.
In case the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.
> This field is required to update the existing `shopperName` associated with a recurring contract.
$ref: '#/components/schemas/Name'
shopperReference:
description: The shopper's reference for the payout transaction.
type: string
shopperStatement:
description: The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method).
type: string
socialSecurityNumber:
description: The shopper's social security number.
type: string
required:
- merchantAccount
- reference
- amount
- shopperEmail
- shopperReference
- recurring
- selectedRecurringDetailReference
SubmitResponse:
properties:
additionalData:
description: 'This field contains additional data, which may be returned in a particular response.'
type: object
pspReference:
description: A new reference to uniquely identify this request.
type: string
refusalReason:
description: 'In case of refusal, an informational message for the reason.'
type: string
resultCode:
description: |-
The response:
* In case of success, it is `payout-submit-received`.
* In case of an error, an informational message is returned.
type: string
required:
- pspReference
- resultCode
ThreeDS2RequestData:
properties:
acquirerBIN:
description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.'
type: string
acquirerMerchantID:
description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant''s acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.'
type: string
authenticationOnly:
description: 'If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only), and not the payment authorisation.'
type: boolean
challengeIndicator:
description: |
Possibility to specify a preference for receiving a challenge from the issuer.
Allowed values:
* `noPreference`
* `requestNoChallenge`
* `requestChallenge`
* `requestChallengeAsMandate`
enum:
- noPreference
- requestNoChallenge
- requestChallenge
- requestChallengeAsMandate
type: string
deviceChannel:
description: |-
The environment of the shopper.
Allowed values:
* `app`
* `browser`
type: string
deviceRenderOptions:
description: |-
Display options for the 3D Secure 2 SDK.
Optional and only for `deviceChannel` **app**.
$ref: '#/components/schemas/DeviceRenderOptions'
mcc:
description: 'Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.'
type: string
merchantName:
description: |-
Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.
> 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:
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.
Required for `deviceChannel` set to **app**.
type: string
sdkEncData:
description: |-
The `sdkEncData` value as received from the 3D Secure 2 SDK.
Required for `deviceChannel` set to **app**.
type: string
sdkEphemPubKey:
description: |-
The `sdkEphemPubKey` value as received from the 3D Secure 2 SDK.
Required for `deviceChannel` set to **app**.
$ref: '#/components/schemas/SDKEphemPubKey'
sdkMaxTimeout:
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.
format: int32
type: integer
sdkReferenceNumber:
description: |-
The `sdkReferenceNumber` value as received from the 3D Secure 2 SDK.
Only for `deviceChannel` set to **app**.
type: string
sdkTransID:
description: |-
The `sdkTransID` value as received from the 3D Secure 2 SDK.
Only 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/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.'
type: string
threeDSRequestorName:
description: 'Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.'
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
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.
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
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