Files
adyen-openapi/yaml/PaymentService-v49.yaml
Adyen Automation 1c73e309c0 spec release
2024-06-17 10:56:08 +02:00

6647 lines
260 KiB
YAML

openapi: 3.1.0
servers:
- url: https://pal-test.adyen.com/pal/servlet/Payment/v49
info:
version: '49'
x-publicVersion: true
title: Adyen Payment API
description: "A set of API endpoints that allow you to initiate, settle, and modify\
\ payments on the Adyen payments platform. You can use the API to accept card\
\ payments (including One-Click and 3D Secure), bank transfers, ewallets, and\
\ many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\
\n## Authentication\nYou need an [API credential](https://docs.adyen.com/development-resources/api-credentials)\
\ to authenticate to the API.\n\nIf using an API key, 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@Company.YOUR_COMPANY_ACCOUNT\":\"YOUR_BASIC_AUTHENTICATION_PASSWORD\"\
\ \\\n-H \"Content-Type: application/json\" \\\n...\n```\n\n## Versioning\nPayments\
\ 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://pal-test.adyen.com/pal/servlet/Payment/v49/authorise\n\
```\n\n## Going live\n\nTo authenticate to the live endpoints, you need an [API\
\ credential](https://docs.adyen.com/development-resources/api-credentials) from\
\ your live Customer Area.\n\nThe live endpoint URLs contain a prefix which is\
\ unique to your company account:\n```\n\nhttps://{PREFIX}-pal-live.adyenpayments.com/pal/servlet/Payment/v49/authorise\n\
```\n\nGet your `{PREFIX}` from your live Customer Area under **Developers** >\
\ **API URLs** > **Prefix**."
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://github.com/Adyen/adyen-openapi
tags:
- name: Payments
- name: Modifications
paths:
/adjustAuthorisation:
post:
tags:
- Modifications
summary: Change the authorised amount
description: 'Allows you to increase or decrease the authorised amount after
the initial authorisation has taken place. This functionality enables for
example tipping, improving the chances your authorisation will be valid, or
charging the shopper when they have already left the merchant premises.
> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce).
> If you have a [newer integration](https://docs.adyen.com/online-payments),
and are doing:
> * [Asynchronous adjustments](https://docs.adyen.com/online-payments/adjust-authorisation#asynchronous-or-synchronous-adjustment),
use the [`/payments/{paymentPspReference}/amountUpdates`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/{paymentPspReference}/amountUpdates)
endpoint on Checkout API.
> * [Synchronous adjustments](https://docs.adyen.com/online-payments/adjust-authorisation#asynchronous-or-synchronous-adjustment),
use this endpoint.'
x-addedInVersion: '30'
operationId: post-adjustAuthorisation
x-sortIndex: 6
x-methodName: adjustAuthorisation
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
adjustAuthorisation:
$ref: '#/components/examples/post-adjustAuthorisation-adjustAuthorisation'
schema:
$ref: '#/components/schemas/AdjustAuthorisationRequest'
responses:
'200':
content:
application/json:
examples:
adjustAuthorisation:
$ref: '#/components/examples/post-adjustAuthorisation-adjustAuthorisation-200'
schema:
$ref: '#/components/schemas/ModificationResult'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/authorise:
post:
tags:
- Payments
summary: Create an authorisation
description: 'Creates a payment with a unique reference (`pspReference`) and
attempts to obtain an authorisation hold. For cards, this amount can be captured
or cancelled later. Non-card payment methods typically don''t support this
and will automatically capture as part of the authorisation.
> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce).
If using a [newer integration](https://docs.adyen.com/online-payments), use
the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments)
endpoint under Checkout API instead.'
operationId: post-authorise
x-sortIndex: 1
x-methodName: authorise
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
authorise-3d-secure-2:
$ref: '#/components/examples/post-authorise-authorise-3d-secure-2'
authorise-3dsecure:
$ref: '#/components/examples/post-authorise-authorise-3dsecure'
authorise-card:
$ref: '#/components/examples/post-authorise-authorise-card'
authorise-recurringcontauth:
$ref: '#/components/examples/post-authorise-authorise-recurringcontauth'
authorise-recurringoneclick:
$ref: '#/components/examples/post-authorise-authorise-recurringoneclick'
authorise-recurringstore:
$ref: '#/components/examples/post-authorise-authorise-recurringstore'
authorise-split:
$ref: '#/components/examples/post-authorise-authorise-split'
schema:
$ref: '#/components/schemas/PaymentRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResult'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/authorise3d:
post:
tags:
- Payments
summary: 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'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/authorise3ds2:
post:
tags:
- Payments
summary: Complete a 3DS2 authorisation
description: 'For an authenticated 3D Secure 2 session, completes the payment
authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result`
parameters.
> 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.'
x-addedInVersion: '37'
operationId: post-authorise3ds2
x-sortIndex: 3
x-methodName: authorise3ds2
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
authorise3ds2:
$ref: '#/components/examples/post-authorise3ds2-authorise3ds2'
schema:
$ref: '#/components/schemas/PaymentRequest3ds2'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResult'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/cancel:
post:
tags:
- Modifications
summary: Cancel an authorisation
description: 'Cancels the authorisation hold on a payment, returning a unique
reference for this request. You can cancel payments after authorisation only
for payment methods that support distinct authorisations and captures.
For more information, refer to [Cancel](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/cancel).
> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce).
If using a [newer integration](https://docs.adyen.com/online-payments), use
the [`/payments/{paymentPspReference}/cancels`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/{paymentPspReference}/cancels)
endpoint under Checkout API instead.'
operationId: post-cancel
x-sortIndex: 2
x-methodName: cancel
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
cancel:
$ref: '#/components/examples/post-cancel-cancel'
schema:
$ref: '#/components/schemas/CancelRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModificationResult'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/cancelOrRefund:
post:
tags:
- Modifications
summary: Cancel or refund a payment
description: "Cancels a payment if it has not been captured yet, or refunds\
\ it if it has already been captured. This is useful when it is not certain\
\ if the payment has been captured or not (for example, when using auto-capture).\n\
\nDo not use this endpoint for payments that involve:\n * [Multiple partial\
\ captures](https://docs.adyen.com/online-payments/capture).\n * [Split data](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information)\
\ either at time of payment or capture for Adyen for Platforms.\n\n Instead,\
\ check if the payment has been captured and make a corresponding [`/refund`](https://docs.adyen.com/api-explorer/#/Payment/refund)\
\ or [`/cancel`](https://docs.adyen.com/api-explorer/#/Payment/cancel) call.\n\
\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/cancel-or-refund).\n\
\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce).\
\ If using a [newer integration](https://docs.adyen.com/online-payments),\
\ use the [`/payments/{paymentPspReference}/reversals`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/{paymentPspReference}/reversals)\
\ endpoint under Checkout API instead."
operationId: post-cancelOrRefund
x-sortIndex: 4
x-methodName: cancelOrRefund
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
cancelOrRefund:
$ref: '#/components/examples/post-cancelOrRefund-cancelOrRefund'
schema:
$ref: '#/components/schemas/CancelOrRefundRequest'
responses:
'200':
content:
application/json:
examples:
cancelOrRefund:
$ref: '#/components/examples/post-cancelOrRefund-cancelOrRefund-200'
schema:
$ref: '#/components/schemas/ModificationResult'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/capture:
post:
tags:
- Modifications
summary: Capture an authorisation
description: 'Captures the authorisation hold on a payment, returning a unique
reference for this request. Usually the full authorisation amount is captured,
however it''s also possible to capture a smaller amount, which results in
cancelling the remaining authorisation balance.
Payment methods that are captured automatically after authorisation don''t
need to be captured. However, submitting a capture request on these transactions
will not result in double charges. If immediate or delayed auto-capture is
enabled, calling the capture method is not neccessary.
For more information refer to [Capture](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/capture).
> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce).
If using a [newer integration](https://docs.adyen.com/online-payments), use
the [`/payments/{paymentPspReference}/captures`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/{paymentPspReference}/captures)
endpoint on Checkout API instead.
'
operationId: post-capture
x-sortIndex: 1
x-methodName: capture
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
capture:
$ref: '#/components/examples/post-capture-capture'
schema:
$ref: '#/components/schemas/CaptureRequest'
responses:
'200':
content:
application/json:
examples:
capture:
$ref: '#/components/examples/post-capture-capture-200'
schema:
$ref: '#/components/schemas/ModificationResult'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/donate:
post:
tags:
- Modifications
summary: Create a donation
description: 'Schedules a new payment to be created (including a new authorisation
request) for the specified donation using the payment details of the original
payment.
> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce).
If using a [newer integration](https://docs.adyen.com/online-payments), use
the [`/donations`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/donations)
endpoint under Checkout API instead.'
deprecated: true
x-addedInVersion: '40'
operationId: post-donate
x-sortIndex: 6
x-methodName: donate
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
donate:
$ref: '#/components/examples/post-donate-donate'
schema:
$ref: '#/components/schemas/DonationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModificationResult'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/refund:
post:
tags:
- Modifications
summary: Refund a captured payment
description: 'Refunds a payment that has previously been captured, returning
a unique reference for this request. Refunding can be done on the full captured
amount or a partial amount. Multiple (partial) refunds will be accepted as
long as their sum doesn''t exceed the captured amount. Payments which have
been authorised, but not captured, cannot be refunded, use the /cancel method
instead.
Some payment methods/gateways do not support partial/multiple refunds.
A margin above the captured limit can be configured to cover shipping/handling
costs.
For more information, refer to [Refund](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/refund).
> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce).
If using a [newer integration](https://docs.adyen.com/online-payments), use
the [`/payments/{paymentPspReference}/refunds`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/{paymentPspReference}/refunds)
endpoint under Checkout API instead.'
operationId: post-refund
x-sortIndex: 3
x-methodName: refund
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
refund:
$ref: '#/components/examples/post-refund-refund'
schema:
$ref: '#/components/schemas/RefundRequest'
responses:
'200':
content:
application/json:
examples:
refund:
$ref: '#/components/examples/post-refund-refund-200'
schema:
$ref: '#/components/schemas/ModificationResult'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/retrieve3ds2Result:
post:
tags:
- Payments
summary: Get the 3DS2 authentication result
description: Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication
only.
x-addedInVersion: '40'
operationId: post-retrieve3ds2Result
x-sortIndex: 4
x-methodName: retrieve3ds2Result
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
retrieve3ds2Result:
$ref: '#/components/examples/post-retrieve3ds2Result-retrieve3ds2Result'
schema:
$ref: '#/components/schemas/ThreeDS2ResultRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ThreeDS2ResultResponse'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/technicalCancel:
post:
tags:
- Modifications
summary: Cancel an authorisation using your reference
description: "This endpoint allows you to cancel a payment if you do not have\
\ the PSP reference of the original payment request available.\n\nIn your\
\ call, refer to the original payment by using the `reference` that you specified\
\ in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/cancel#technical-cancel).\
\ \n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce).\
\ If using a [newer integration](https://docs.adyen.com/online-payments),\
\ use the [`/cancels`](https://docs.adyen.com/api-explorer/#/CheckoutService/cancels)\
\ endpoint under Checkout API instead."
x-addedInVersion: '30'
operationId: post-technicalCancel
x-sortIndex: 5
x-methodName: technicalCancel
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
technicalCancel:
$ref: '#/components/examples/post-technicalCancel-technicalCancel'
schema:
$ref: '#/components/schemas/TechnicalCancelRequest'
responses:
'200':
content:
application/json:
examples:
technicalCancel:
$ref: '#/components/examples/post-technicalCancel-technicalCancel-200'
schema:
$ref: '#/components/schemas/ModificationResult'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
/voidPendingRefund:
post:
tags:
- Modifications
summary: Cancel an in-person refund
description: 'This endpoint allows you to cancel an unreferenced refund request
before it has been completed.
In your call, you can refer to the original refund request either by using
the `tenderReference`, or the `pspReference`. We recommend implementing based
on the `tenderReference`, as this is generated for both offline and online
transactions.
For more information, refer to [Cancel an unreferenced refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-unreferenced).'
x-addedInVersion: '25'
operationId: post-voidPendingRefund
x-sortIndex: 7
x-methodName: voidPendingRefund
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
examples:
voidpendingrefund-pspreference:
$ref: '#/components/examples/post-voidPendingRefund-voidpendingrefund-pspreference'
voidpendingrefund-tenderreference:
$ref: '#/components/examples/post-voidPendingRefund-voidpendingrefund-tenderreference'
schema:
$ref: '#/components/schemas/VoidPendingRefundRequest'
responses:
'200':
content:
application/json:
examples:
voidpendingrefund-pspreference:
$ref: '#/components/examples/post-voidPendingRefund-voidpendingrefund-pspreference-200'
voidpendingrefund-tenderreference:
$ref: '#/components/examples/post-voidPendingRefund-voidpendingrefund-tenderreference-200'
schema:
$ref: '#/components/schemas/ModificationResult'
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'
description: Forbidden - insufficient permissions to process the request.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
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.
components:
schemas:
AccountInfo:
additionalProperties: false
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
type: object
AdditionalData3DSecure:
additionalProperties: false
properties:
allow3DS2:
description: "Indicates if you are able to process 3D Secure 2 transactions\
\ natively on your payment page. Send this parameter when you are using\
\ `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\
\n > This parameter only indicates readiness to support native 3D Secure\
\ 2 authentication. To specify if you _want_ to perform 3D Secure, use\
\ [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the\
\ `executeThreeD` parameter.\n\nPossible 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** \u2013 Not ready\
\ to support native 3D Secure 2 authentication. Adyen will not offer 3D\
\ Secure 2 to your shopper regardless of your configuration.\n"
type: string
challengeWindowSize:
description: "Dimensions of the 3DS2 challenge window to be displayed to\
\ the cardholder.\n\nPossible values:\n\n* **01** - size of 250x400 \n\
* **02** - size of 390x400\n* **03** - size of 500x600\n* **04** - size\
\ of 600x400\n* **05** - Fullscreen"
enum:
- '01'
- '02'
- '03'
- '04'
- '05'
type: string
executeThreeD:
description: "Indicates if you want to perform 3D Secure authentication\
\ on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure)\
\ to configure rules for applying 3D Secure.\n\nPossible values:\n* **true**\
\ \u2013 Perform 3D Secure authentication.\n* **false** \u2013 Don't perform\
\ 3D Secure authentication. Note that this setting results in refusals\
\ if the issuer mandates 3D Secure because of the PSD2 directive or other,\
\ national regulations. \n"
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.\n\n Possible values:\n\
* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n*\
\ **transactionRiskAnalysis** "
type: string
threeDSVersion:
description: "Indicates your preference for the 3D Secure version. \n> If\
\ you use this parameter, you override the checks from Adyen's Authentication\
\ Engine. We recommend to use this field only if you have an extensive\
\ knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure\
\ version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**:\
\ Apply 3D Secure version 2.2.0. If the issuer does not support version\
\ 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n*\
\ If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus`\
\ in the `ARes`, we will apply the fallback policy configured in your\
\ account. For example, if the configuration is to fall back to 3D Secure\
\ 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but\
\ the BIN is not enrolled, you will receive an error.\n\n"
type: string
type: object
AdditionalDataAirline:
additionalProperties: false
properties:
airline.agency_invoice_number:
description: 'The reference number for the invoice, issued by the agency.
* Encoding: ASCII
* minLength: 1 character
* maxLength: 6 characters'
type: string
airline.agency_plan_name:
description: 'The two-letter agency plan identifier.
* Encoding: ASCII
* minLength: 2 characters
* maxLength: 2 characters'
type: string
airline.airline_code:
description: 'The [IATA](https://www.iata.org/services/pages/codes.aspx)
3-digit accounting code (PAX) that identifies the carrier.
* Format: IATA 3-digit accounting code (PAX)
* Example: KLM = 074
* minLength: 3 characters
* maxLength: 3 characters
* Must not be all spaces
*Must not be all zeros.'
type: string
airline.airline_designator_code:
description: 'The [IATA](https://www.iata.org/services/pages/codes.aspx)
2-letter accounting code (PAX) that identifies the carrier.
* Encoding: ASCII
* Example: KLM = KL
* minLength: 2 characters
* maxLength: 2 characters
* Must not be all spaces
*Must not be all zeros.'
type: string
airline.boarding_fee:
description: 'The amount charged for boarding the plane, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Encoding: Numeric
* minLength: 1 character
* maxLength: 18 characters'
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.
* Encoding: ASCII
* minLength: 4 characters
* maxLength: 4 characters'
type: string
airline.customer_reference_number:
description: 'The alphanumeric customer reference number.
* Encoding: ASCII
* maxLength: 20 characters
* If you send more than 20 characters, the customer reference number is
truncated
* Must not be all spaces'
type: string
airline.document_type:
description: 'A code that identifies the type of item bought. The description
of the code can appear on credit card statements.
* Encoding: ASCII
* Example: Passenger ticket = 01
* minLength: 2 characters
* maxLength: 2 characters'
type: string
airline.flight_date:
description: 'The 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 characters
* maxLength: 16 characters'
type: string
airline.issue_date:
description: 'The date that the ticket was issued to the passenger.
* minLength: 6 characters
* maxLength: 6 characters
* Date format: YYMMDD'
type: string
airline.leg.carrier_code:
description: 'The [IATA](https://www.iata.org/services/pages/codes.aspx)
2-letter accounting code (PAX) that identifies the carrier.
This field is required if the airline data includes leg details.
* Example: KLM = KL
* minLength: 2 characters
* maxLength: 2 characters
* Must not be all spaces
*Must not be all zeros.'
type: string
airline.leg.class_of_travel:
description: "A one-letter travel class identifier.\n The following are\
\ common:\n * F: first class\n* J: business class\n* Y: economy class\n\
* W: premium economy\n\n* Encoding: ASCII\n* minLength: 1 character\n\
* maxLength: 1 character\n* Must not be all spaces\n*Must not be all zeros."
type: string
airline.leg.date_of_travel:
description: "\t\nDate and time of travel in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\
\ format `yyyy-MM-dd HH:mm`.\n* Encoding: ASCII\n* minLength: 16 characters\n\
* maxLength: 16 characters"
type: string
airline.leg.depart_airport:
description: 'The [IATA](https://www.iata.org/services/pages/codes.aspx)
three-letter airport code of the departure airport.
This field is required if the airline data includes leg details.
* Encoding: ASCII
* Example: Amsterdam = AMS
* minLength: 3 characters
* maxLength: 3 characters
* Must not be all spaces
*Must not be all zeros.'
type: string
airline.leg.depart_tax:
description: 'The amount of [departure tax](https://en.wikipedia.org/wiki/Departure_tax)
charged, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
* Encoding: Numeric
* minLength: 1
* maxLength: 12
*Must not be all zeros.'
type: string
airline.leg.destination_code:
description: 'The [IATA](https://www.iata.org/services/pages/codes.aspx)
3-letter airport code of the destination airport.
This field is required if the airline data includes leg details.
* Example: Amsterdam = AMS
* Encoding: ASCII
* minLength: 3 characters
* maxLength: 3 characters
* Must not be all spaces
*Must not be all zeros.'
type: string
airline.leg.fare_base_code:
description: 'The [fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code),
alphanumeric.
* minLength: 1 character
* maxLength: 6 characters
* Must not be all spaces
*Must not be all zeros.'
type: string
airline.leg.flight_number:
description: 'The flight identifier.
* minLength: 1 character
* maxLength: 5 characters
* Must not be all spaces
*Must not be all zeros.'
type: string
airline.leg.stop_over_code:
description: 'A one-letter code that indicates whether the passenger is
entitled to make a stopover. Can be a space, O if the passenger is entitled
to make a stopover, or X if they are not.
* Encoding: ASCII
* minLength: 1 character
* maxLength: 1 character'
type: string
airline.passenger.date_of_birth:
description: 'The passenger''s date of birth.
Date format: `yyyy-MM-dd`
* minLength: 10
* maxLength: 10'
type: string
airline.passenger.first_name:
description: 'The passenger''s first name.
> This field is required if the airline data includes passenger details
or leg details.
* Encoding: ASCII'
type: string
airline.passenger.last_name:
description: 'The passenger''s last name.
> This field is required if the airline data includes passenger details
or leg details.
* Encoding: ASCII'
type: string
airline.passenger.telephone_number:
description: 'The passenger''s telephone number, including country code.
This is an alphanumeric field that can include the ''+'' and ''-'' signs.
* Encoding: ASCII
* minLength: 3 characters
* maxLength: 30 characters'
type: string
airline.passenger.traveller_type:
description: 'The IATA passenger type code (PTC).
* Encoding: ASCII
* minLength: 3 characters
* maxLength: 6 characters'
type: string
airline.passenger_name:
description: "The passenger's name, initials, and title.\n* Format: last\
\ name + first name or initials + title\n* Example: *FLYER / MARY MS*\n\
* minLength: 1 character\n* maxLength: 20 characters\n* If you send more\
\ than 20 characters, the name is truncated\n* Must not be all spaces\
\ \n*Must not be all zeros."
type: string
airline.ticket_issue_address:
description: 'The address of the organization that issued the ticket.
* minLength: 0 characters
* maxLength: 16 characters'
type: string
airline.ticket_number:
description: 'The ticket''s unique identifier.
* minLength: 1 character
* maxLength: 15 characters
* Must not be all spaces
*Must not be all zeros.'
type: string
airline.travel_agency_code:
description: 'The unique identifier from IATA or ARC for the travel agency
that issues the ticket.
* Encoding: ASCII
* minLength: 1 character
* maxLength: 8 characters
* Must not be all spaces
*Must not be all zeros.'
type: string
airline.travel_agency_name:
description: 'The name of the travel agency.
* Encoding: ASCII
* minLength: 1 character
* maxLength: 25 characters
* Must not be all spaces
*Must not be all zeros.'
type: string
required:
- airline.passenger_name
type: object
AdditionalDataCarRental:
additionalProperties: false
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
AdditionalDataCommon:
additionalProperties: false
properties:
RequestedTestErrorResponseCode:
description: "Triggers test scenarios that allow to replicate certain communication\
\ errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** \u2013 There\
\ wasn't a connection available to service the outgoing communication.\n\
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.\n* **IOEXCEPTION_RECEIVED** \u2013 Something went\
\ wrong during transmission of the message or receiving the response.\n\
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
allowPartialAuth:
description: "Set to true to authorise a part of the requested amount in\
\ case the cardholder does not have enough funds on their account. \n\
If a payment was partially authorised, the response includes resultCode:\
\ PartiallyAuthorised and the authorised amount in additionalData.authorisedAmountValue.\n\
To enable this functionality, contact our Support Team."
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/online-payments/adjust-authorisation#authorisation-types).\n\
\nAllowed values:\n* **PreAuth** \u2013 flags the payment request to be\
\ handled as a pre-authorisation.\n* **FinalAuth** \u2013 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://www.adyen.help/hc/en-us/requests/new).'
type: string
industryUsage:
description: "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation),\
\ this field denotes why the additional payment is made.\n\nPossible values:\n\
\n * **NoShow**: An incremental charge is carried out because of a no-show\
\ for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental\
\ charge is carried out to process an additional payment after the original\
\ services have been rendered and the respective payment has been processed."
enum:
- NoShow
- DelayedCharge
type: string
manualCapture:
description: Set to **true** to require [manual capture](https://docs.adyen.com/online-payments/capture)
for the transaction.
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
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.
* 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.
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
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.
* Format: alpha-numeric.
* 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.
* Format: alpha-numeric.
* 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.
* Format: alpha-numeric.
* 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.
* Format: alpha-numeric.
* 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.
* Format: alpha-numeric.
* Fixed length: 11 or 14 characters.'
type: string
type: object
AdditionalDataLevel23:
additionalProperties: false
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:
description: 'The total tax 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
* Must not be all zeros.'
type: string
type: object
AdditionalDataLodging:
additionalProperties: false
properties:
lodging.SpecialProgramCode:
description: 'A code that corresponds to the category of lodging charges
for the payment. Possible values:
* 1: Lodging
* 2: No show reservation
* 3: Advanced deposit'
type: string
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\u2019s internal invoice or billing ID reference\
\ number.\n* Max length: 25 characters.\n* Must not start with a space\n\
*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
AdditionalDataModifications:
additionalProperties: false
properties:
installmentPaymentData.selectedInstallmentOption:
description: This is the installment option selected by the shopper. It
is required only if specified by the user.
type: string
type: object
AdditionalDataOpenInvoice:
additionalProperties: false
properties:
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.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
openinvoicedata.recipientFirstName:
description: First name of the recipient. If the delivery address and the
billing address are different, specify the `recipientFirstName` and `recipientLastName`
to share the delivery address with Klarna. Otherwise, only the billing
address is shared with Klarna.
type: string
openinvoicedata.recipientLastName:
description: Last name of the recipient. If the delivery address and the
billing address are different, specify the `recipientFirstName` and `recipientLastName`
to share the delivery address with Klarna. Otherwise, only the billing
address is shared with Klarna.
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.
The 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.
For 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].returnShippingCompany:
description: Name of the shipping company handling the the return shipment.
type: string
openinvoicedataLine[itemNr].returnTrackingNumber:
description: The tracking number for the return of the shipment.
type: string
openinvoicedataLine[itemNr].returnTrackingUri:
description: URI where the customer can track the return of their shipment.
type: string
openinvoicedataLine[itemNr].shippingCompany:
description: Name of the shipping company handling the delivery.
type: string
openinvoicedataLine[itemNr].shippingMethod:
description: Shipping method.
type: string
openinvoicedataLine[itemNr].trackingNumber:
description: The tracking number for the shipment.
type: string
openinvoicedataLine[itemNr].trackingUri:
description: URI where the customer can track their shipment.
type: string
type: object
AdditionalDataOpi:
additionalProperties: false
properties:
opi.includeTransToken:
description: 'Optional boolean indicator. Set to **true** if you want an
ecommerce transaction to return an `opi.transToken` as additional data
in the response.
You can store this Oracle Payment Interface token in your Oracle Opera
database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).'
type: string
type: object
AdditionalDataRatepay:
additionalProperties: false
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
type: object
AdditionalDataRetry:
additionalProperties: false
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: 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: 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: string
type: object
AdditionalDataRisk:
additionalProperties: false
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.
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
riskdata.riskProfileReference:
description: Reference number of the risk profile that you want to apply
to the payment. If not provided or left blank, the merchant-level account's
default risk profile will be applied to the payment. For more information,
see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).
type: string
riskdata.skipRisk:
description: If this parameter is provided with the value **true**, risk
checks for the payment request are skipped and the transaction will not
get a risk score.
type: string
type: object
AdditionalDataRiskStandalone:
additionalProperties: false
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** \u2014 Merchant is protected\
\ by PayPal's Seller Protection Policy for Unauthorized Payments and Item\
\ Not Received.\n\n* **PartiallyEligible** \u2014 Merchant is protected\
\ by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible**\
\ \u2014 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/online-payments/tokenization).
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
AdditionalDataSubMerchant:
additionalProperties: false
properties:
subMerchant.numberOfSubSellers:
description: Required for transactions performed by registered payment facilitators.
Indicates the number of sub-merchants contained in the request. For example,
**3**.
type: string
subMerchant.subSeller[subSellerNr].city:
description: 'Required for transactions performed by registered payment
facilitators. The city of the sub-merchant''s address.
* Format: Alphanumeric
* Maximum length: 13 characters'
type: string
subMerchant.subSeller[subSellerNr].country:
description: "Required for transactions performed by registered payment\
\ facilitators. The three-letter country code of the sub-merchant's address.\
\ For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n\
* Fixed length: 3 characters"
type: string
subMerchant.subSeller[subSellerNr].id:
description: "Required for transactions performed by registered payment\
\ facilitators. A unique identifier that you create for the sub-merchant,\
\ used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n\
* Maximum length: 15 characters"
type: string
subMerchant.subSeller[subSellerNr].mcc:
description: "Required for transactions performed by registered payment\
\ facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC).\
\ \n* Format: Numeric\n* Fixed length: 4 digits"
type: string
subMerchant.subSeller[subSellerNr].name:
description: 'Required for transactions performed by registered payment
facilitators. The name of the sub-merchant. Based on scheme specifications,
this value will overwrite the shopper statement that will appear in the
card statement.
* Format: Alphanumeric
* Maximum length: 22 characters'
type: string
subMerchant.subSeller[subSellerNr].postalCode:
description: 'Required for transactions performed by registered payment
facilitators. The postal code of the sub-merchant''s address, without
dashes.
* Format: Numeric
* Fixed length: 8 digits'
type: string
subMerchant.subSeller[subSellerNr].state:
description: 'Required for transactions performed by registered payment
facilitators. The state code of the sub-merchant''s address, if applicable
to the country.
* Format: Alphanumeric
* Maximum length: 2 characters'
type: string
subMerchant.subSeller[subSellerNr].street:
description: 'Required for transactions performed by registered payment
facilitators. The street name and house number of the sub-merchant''s
address.
* Format: Alphanumeric
* Maximum length: 60 characters'
type: string
subMerchant.subSeller[subSellerNr].taxId:
description: 'Required for transactions performed by registered payment
facilitators. The tax ID of the sub-merchant.
* Format: Numeric
* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ'
type: string
type: object
AdditionalDataTemporaryServices:
additionalProperties: false
properties:
enhancedSchemeData.customerReference:
description: 'The customer code, if supplied by a customer.
* Encoding: ASCII
* maxLength: 25'
type: string
enhancedSchemeData.employeeName:
description: "The name or ID of the person working in a temporary capacity.\n\
* maxLength: 40. \n* Must not be all spaces. \n*Must not be all zeros."
type: string
enhancedSchemeData.jobDescription:
description: "The job description of the person working in a temporary capacity.\n\
* maxLength: 40 \n* Must not be all spaces. \n*Must not be all zeros."
type: string
enhancedSchemeData.regularHoursRate:
description: 'The amount paid for regular hours worked, [minor units](https://docs.adyen.com/development-resources/currency-codes).
* maxLength: 7
* Must not be empty
* Can be all zeros'
type: string
enhancedSchemeData.regularHoursWorked:
description: 'The hours worked.
* maxLength: 7
* Must not be empty
* Can be all zeros'
type: string
enhancedSchemeData.requestName:
description: 'The name of the person requesting temporary services.
* maxLength: 40
* Must not be all zeros
* Must not be all spaces'
type: string
enhancedSchemeData.tempStartDate:
description: 'The billing period start date.
* Format: ddMMyy
* maxLength: 6'
type: string
enhancedSchemeData.tempWeekEnding:
description: 'The billing period end date.
* Format: ddMMyy
* maxLength: 6'
type: string
enhancedSchemeData.totalTaxAmount:
description: 'The total tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
For example, 2000 means USD 20.00
* maxLength: 12'
type: string
type: object
AdditionalDataWallets:
additionalProperties: false
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
type: object
Address:
additionalProperties: false
properties:
city:
description: 'The name of the city. Maximum length: 3000 characters.'
maxLength: 3000
type: string
country:
description: 'The two-character ISO-3166-1 alpha-2 country code. 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. Maximum length: 3000 characters.'
maxLength: 3000
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: 'The two-character ISO 3166-2 state or province code. 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. Maximum length: 3000 characters.
> The house number should not be included in this field; it should be
separately provided via `houseNumberOrName`.'
maxLength: 3000
type: string
required:
- street
- houseNumberOrName
- city
- postalCode
- country
type: object
AdjustAuthorisationRequest:
additionalProperties: false
properties:
additionalData:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataModifications'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $ref: '#/components/schemas/AdditionalDataTemporaryServices'
- $ref: '#/components/schemas/AdditionalDataWallets'
description: 'This field contains additional data, which may be required
for a particular modification request.
The additionalData object consists of entries, each of which includes
the key and value.'
type: object
merchantAccount:
description: The merchant account that is used to process the payment.
type: string
modificationAmount:
description: The amount that needs to be adjusted. The `currency` must match
the currency used in authorisation, the `value` must be smaller than or
equal to the authorised amount.
$ref: '#/components/schemas/Amount'
mpiData:
x-addedInVersion: '46'
description: Authentication data produced by an MPI (Mastercard SecureCode,
Visa Secure, or Cartes Bancaires).
$ref: '#/components/schemas/ThreeDSecureData'
originalMerchantReference:
x-addedInVersion: '30'
description: The original merchant reference to cancel.
type: string
originalReference:
description: 'The original pspReference of the payment to modify.
This reference is returned in:
* authorisation response
* authorisation notification
'
type: string
reference:
description: 'Your reference for the payment modification. This reference
is visible in Customer Area and in reports.
Maximum length: 80 characters.'
type: string
splits:
x-addedInVersion: '37'
description: An array of objects specifying how the amount should be split
between accounts when using Adyen for Platforms. For more information,
see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).
items:
$ref: '#/components/schemas/Split'
type: array
tenderReference:
x-addedInVersion: '25'
description: The transaction reference provided by the PED. For point-of-sale
integrations only.
type: string
uniqueTerminalId:
x-addedInVersion: '25'
description: Unique terminal ID for the PED that originally processed the
request. For point-of-sale integrations only.
type: string
required:
- merchantAccount
- modificationAmount
- originalReference
type: object
Amount:
additionalProperties: false
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 amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
format: int64
type: integer
required:
- value
- currency
type: object
ApplicationInfo:
additionalProperties: false
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'
type: object
BankAccount:
additionalProperties: false
properties:
bankAccountNumber:
description: The bank account number (without separators).
type: string
bankCity:
x-addedInVersion: '18'
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.\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* \u03C712 is converted to ch12.\n* \xFCA is converted to\
\ euA.\n* Peter M\xF8ller is converted to Peter Mller, because banks don't\
\ accept '\xF8'.\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:
x-addedInVersion: '18'
description: The bank account holder's tax ID.
type: string
type: object
BrowserInfo:
additionalProperties: false
properties:
acceptHeader:
description: The accept header value of the shopper's browser.
type: string
colorDepth:
x-addedInVersion: '40'
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:
x-addedInVersion: '40'
description: Boolean value indicating if the shopper's browser is able to
execute Java.
type: boolean
javaScriptEnabled:
x-addedInVersion: '40'
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:
x-addedInVersion: '40'
description: The `navigator.language` value of the shopper's browser (as
defined in IETF BCP 47).
type: string
screenHeight:
x-addedInVersion: '40'
description: The total height of the shopper's device screen in pixels.
format: int32
type: integer
screenWidth:
x-addedInVersion: '40'
description: The total width of the shopper's device screen in pixels.
format: int32
type: integer
timeZoneOffset:
x-addedInVersion: '40'
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.
type: string
required:
- userAgent
- acceptHeader
- javaEnabled
- colorDepth
- screenHeight
- screenWidth
- timeZoneOffset
- language
type: object
CancelOrRefundRequest:
additionalProperties: false
properties:
additionalData:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataModifications'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $ref: '#/components/schemas/AdditionalDataTemporaryServices'
- $ref: '#/components/schemas/AdditionalDataWallets'
description: 'This field contains additional data, which may be required
for a particular modification request.
The additionalData object consists of entries, each of which includes
the key and value.'
type: object
merchantAccount:
description: The merchant account that is used to process the payment.
type: string
mpiData:
x-addedInVersion: '46'
description: Authentication data produced by an MPI (Mastercard SecureCode,
Visa Secure, or Cartes Bancaires).
$ref: '#/components/schemas/ThreeDSecureData'
originalMerchantReference:
x-addedInVersion: '30'
description: The original merchant reference to cancel.
type: string
originalReference:
description: 'The original pspReference of the payment to modify.
This reference is returned in:
* authorisation response
* authorisation notification
'
type: string
reference:
description: 'Your reference for the payment modification. This reference
is visible in Customer Area and in reports.
Maximum length: 80 characters.'
type: string
tenderReference:
x-addedInVersion: '25'
description: The transaction reference provided by the PED. For point-of-sale
integrations only.
type: string
uniqueTerminalId:
x-addedInVersion: '25'
description: Unique terminal ID for the PED that originally processed the
request. For point-of-sale integrations only.
type: string
required:
- merchantAccount
- originalReference
type: object
CancelRequest:
additionalProperties: false
properties:
additionalData:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataModifications'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $ref: '#/components/schemas/AdditionalDataTemporaryServices'
- $ref: '#/components/schemas/AdditionalDataWallets'
description: 'This field contains additional data, which may be required
for a particular modification request.
The additionalData object consists of entries, each of which includes
the key and value.'
type: object
merchantAccount:
description: The merchant account that is used to process the payment.
type: string
mpiData:
x-addedInVersion: '46'
description: Authentication data produced by an MPI (Mastercard SecureCode,
Visa Secure, or Cartes Bancaires).
$ref: '#/components/schemas/ThreeDSecureData'
originalMerchantReference:
x-addedInVersion: '30'
description: The original merchant reference to cancel.
type: string
originalReference:
description: 'The original pspReference of the payment to modify.
This reference is returned in:
* authorisation response
* authorisation notification
'
type: string
reference:
description: 'Your reference for the payment modification. This reference
is visible in Customer Area and in reports.
Maximum length: 80 characters.'
type: string
splits:
x-addedInVersion: '37'
description: An array of objects specifying how the amount should be split
between accounts when using Adyen for Platforms. For more information,
see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).
items:
$ref: '#/components/schemas/Split'
type: array
tenderReference:
x-addedInVersion: '25'
description: The transaction reference provided by the PED. For point-of-sale
integrations only.
type: string
uniqueTerminalId:
x-addedInVersion: '25'
description: Unique terminal ID for the PED that originally processed the
request. For point-of-sale integrations only.
type: string
required:
- merchantAccount
- originalReference
type: object
CaptureRequest:
additionalProperties: false
properties:
additionalData:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataModifications'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $ref: '#/components/schemas/AdditionalDataTemporaryServices'
- $ref: '#/components/schemas/AdditionalDataWallets'
description: 'This field contains additional data, which may be required
for a particular modification request.
The additionalData object consists of entries, each of which includes
the key and value.'
type: object
merchantAccount:
description: The merchant account that is used to process the payment.
type: string
modificationAmount:
description: The amount that needs to be captured. The `currency` must match
the currency used in authorisation, the `value` must be smaller than or
equal to the authorised amount.
$ref: '#/components/schemas/Amount'
mpiData:
x-addedInVersion: '46'
description: Authentication data produced by an MPI (Mastercard SecureCode,
Visa Secure, or Cartes Bancaires).
$ref: '#/components/schemas/ThreeDSecureData'
originalMerchantReference:
x-addedInVersion: '30'
description: The original merchant reference to cancel.
type: string
originalReference:
description: 'The original pspReference of the payment to modify.
This reference is returned in:
* authorisation response
* authorisation notification
'
type: string
reference:
description: 'Your reference for the payment modification. This reference
is visible in Customer Area and in reports.
Maximum length: 80 characters.'
type: string
splits:
x-addedInVersion: '37'
description: An array of objects specifying how the amount should be split
between accounts when using Adyen for Platforms. For more information,
see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).
items:
$ref: '#/components/schemas/Split'
type: array
tenderReference:
x-addedInVersion: '25'
description: The transaction reference provided by the PED. For point-of-sale
integrations only.
type: string
uniqueTerminalId:
x-addedInVersion: '25'
description: Unique terminal ID for the PED that originally processed the
request. For point-of-sale integrations only.
type: string
required:
- merchantAccount
- modificationAmount
- originalReference
type: object
Card:
additionalProperties: false
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 \u2013 length: 3 digits\n* CID \u2013 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.
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
type: object
CommonField:
additionalProperties: false
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
type: object
DeviceRenderOptions:
additionalProperties: false
properties:
sdkInterface:
default: both
description: 'Supported SDK interface types.
Allowed values:
* native
* html
* both'
enum:
- native
- html
- 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
type: object
DonationRequest:
additionalProperties: false
properties:
donationAccount:
description: The Adyen account name of the charity.
type: string
merchantAccount:
description: The merchant account that is used to process the payment.
type: string
modificationAmount:
description: The amount to be donated.The `currency` must match the currency
used in authorisation, the `value` must be smaller than or equal to the
authorised amount.
$ref: '#/components/schemas/Amount'
originalReference:
description: 'The original pspReference of the payment to modify.
This reference is returned in:
* authorisation response
* authorisation notification
'
type: string
reference:
description: 'Your reference for the payment modification. This reference
is visible in Customer Area and in reports.
Maximum length: 80 characters.'
type: string
required:
- merchantAccount
- donationAccount
- modificationAmount
type: object
ExternalPlatform:
additionalProperties: false
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
type: object
ForexQuote:
additionalProperties: false
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
FraudCheckResult:
additionalProperties: false
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
type: object
FraudCheckResultWrapper:
properties:
FraudCheckResult:
$ref: '#/components/schemas/FraudCheckResult'
FraudResult:
additionalProperties: false
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/FraudCheckResultWrapper'
type: array
required:
- accountScore
type: object
Installments:
additionalProperties: false
properties:
value:
description: 'Defines the number of installments.
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.
This value can be zero for Installments processed in Mexico.'
format: int32
type: integer
required:
- value
type: object
Mandate:
additionalProperties: false
properties:
amount:
description: The billing amount (in minor units) of the recurring transactions.
type: string
amountRule:
description: "The limitation rule of the billing amount.\n\nPossible values:\n\
\ * **max**: The transaction amount can not exceed the `amount`.\n\n *\
\ **exact**: The transaction amount should be the same as the `amount`.\n\
\n"
enum:
- max
- exact
type: string
billingAttemptsRule:
description: "The rule to specify the period, within which the recurring\
\ debit can happen, relative to the mandate recurring date.\n\nPossible\
\ values:\n\n * **on**: On a specific date.\n\n * **before**: Before\
\ and on a specific date.\n\n * **after**: On and after a specific date.\n\
\n"
enum:
- 'on'
- before
- after
type: string
billingDay:
description: 'The number of the day, on which the recurring debit can happen.
Should be within the same calendar month as the mandate recurring date.
Possible values: 1-31 based on the `frequency`.'
type: string
endsAt:
description: End date of the billing plan, in YYYY-MM-DD format.
type: string
frequency:
description: 'The frequency with which a shopper should be charged.
Possible values: **daily**, **weekly**, **biWeekly**, **monthly**, **quarterly**,
**halfYearly**, **yearly**.'
enum:
- adhoc
- daily
- weekly
- biWeekly
- monthly
- quarterly
- halfYearly
- yearly
type: string
remarks:
description: The message shown by UPI to the shopper on the approval screen.
type: string
startsAt:
description: Start date of the billing plan, in YYYY-MM-DD format. By default,
the transaction date.
type: string
required:
- frequency
- amount
- endsAt
type: object
MerchantDevice:
additionalProperties: false
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
type: object
MerchantRiskIndicator:
additionalProperties: false
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: For prepaid or gift card purchase, the purchase amount total
of prepaid or gift card(s).
$ref: '#/components/schemas/Amount'
giftCardCount:
description: For prepaid or gift card purchase, total count of individual
prepaid or gift cards/codes purchased.
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
type: object
ModificationResult:
additionalProperties: false
properties:
additionalData:
additionalProperties:
type: string
description: This field contains additional data, which may be returned
in a particular modification response.
type: object
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.
type: string
response:
description: Indicates if the modification request has been received for
processing.
enum:
- '[capture-received]'
- '[cancel-received]'
- '[refund-received]'
- '[cancelOrRefund-received]'
- '[adjustAuthorisation-received]'
- '[donation-received]'
- '[technical-cancel-received]'
- '[voidPendingRefund-received]'
type: string
required:
- response
- pspReference
type: object
Name:
additionalProperties: false
properties:
firstName:
description: The first name.
maxLength: 80
type: string
lastName:
description: The last name.
maxLength: 80
type: string
required:
- firstName
- lastName
type: object
PaymentRequest:
additionalProperties: false
properties:
accountInfo:
x-addedInVersion: '40'
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:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $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.'
type: object
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:
x-addedInVersion: '40'
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:
x-addedInVersion: '4'
description: 'The address where to send the invoice.
> The `billingAddress` object is required in the following scenarios.
Include all of the fields within this object.
>* For 3D Secure 2 transactions in all browser-based and mobile implementations.
>* For cross-border payouts to and from Canada.'
$ref: '#/components/schemas/Address'
browserInfo:
description: 'The shopper''s browser information.
> For 3D Secure, the full object is required for web integrations. For
mobile app integrations, include the `userAgent` and `acceptHeader` fields
to indicate that your integration can support a redirect in case a payment
is routed to 3D Secure 1.'
$ref: '#/components/schemas/BrowserInfo'
captureDelayHours:
x-addedInVersion: '2'
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:
x-addedInVersion: '7'
description: 'The shopper''s date of birth.
Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD'
format: date
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:
x-addedInVersion: '8'
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:
x-addedInVersion: '2'
description: A string containing the shopper's device fingerprint. For more
information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
maxLength: 5000
type: string
entityType:
x-addedInVersion: '24'
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:
x-addedInVersion: '4'
description: Contains installment settings. For more information, refer
to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).
$ref: '#/components/schemas/Installments'
mandate:
description: The mandate details to initiate recurring transaction.
$ref: '#/components/schemas/Mandate'
mcc:
x-addedInVersion: '12'
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:
x-addedInVersion: '9'
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:
x-addedInVersion: '40'
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:
x-addedInVersion: '17'
additionalProperties:
type: string
description: 'Metadata consists of entries, each of which includes a key
and a value.
Limits:
* Maximum 20 key-value pairs per request. When exceeding, the "177" error
occurs: "Metadata size exceeds limit".
* Maximum 20 characters per key.
* Maximum 80 characters per value. '
type: object
mpiData:
description: Authentication data produced by an MPI (Mastercard SecureCode,
Visa Secure, or Cartes Bancaires).
$ref: '#/components/schemas/ThreeDSecureData'
nationality:
x-addedInVersion: '24'
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:
x-addedInVersion: '30'
description: "Defines a recurring payment type. Required when creating a\
\ token to store payment details or using stored payment details.\nAllowed\
\ values:\n* `Subscription` \u2013 A transaction for a fixed or variable\
\ amount, which follows a fixed schedule.\n* `CardOnFile` \u2013 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` \u2013 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.
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 `shopperEmail` for all
browser-based and mobile implementations.'
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).
> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based
implementations.
This field is also mandatory for some merchants depending on your business
model. For more information, [contact Support](https://www.adyen.help/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:
x-addedInVersion: '7'
description: The combination of a language code and a country code to specify
the language to be used in the payment.
type: string
shopperName:
x-addedInVersion: '7'
description: The shopper's full name.
$ref: '#/components/schemas/Name'
shopperReference:
description: "Required for recurring payments. \nYour reference to uniquely\
\ identify this shopper, for example user ID or account ID. Minimum length:\
\ 3 characters.\n> Your reference must not include personally identifiable\
\ information (PII), for example name or email address."
type: string
shopperStatement:
description: "The text to be shown on the shopper's bank statement.\n We\
\ recommend sending a maximum of 22 characters, otherwise banks might\
\ truncate the string.\n Allowed characters: **a-z**, **A-Z**, **0-9**,\
\ spaces, and special characters **. , ' _ - ? + * /**."
type: string
socialSecurityNumber:
x-addedInVersion: '4'
description: The shopper's social security number.
type: string
splits:
x-addedInVersion: '37'
description: An array of objects specifying how the payment should be split
when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments)
or [platforms]((https://docs.adyen.com/platforms/split-payments), or standalone
[Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).
items:
$ref: '#/components/schemas/Split'
type: array
store:
x-addedInVersion: '23'
description: Required for Adyen for Platforms integrations if you are a
platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference)
(on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference)
(in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store))
for the ecommerce or point-of-sale store that is processing the payment.
maxLength: 16
minLength: 1
type: string
telephoneNumber:
x-addedInVersion: '7'
description: The shopper's telephone number.
type: string
threeDS2RequestData:
x-addedInVersion: '40'
description: Request fields for 3D Secure 2. To check if any of the following
fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments)
or [Classic integration](https://docs.adyen.com/classic-integration) documentation.
$ref: '#/components/schemas/ThreeDS2RequestData'
totalsGroup:
x-addedInVersion: '23'
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:
x-addedInVersion: '37'
description: Set to true if the payment should be routed to a trusted MID.
type: boolean
required:
- merchantAccount
- reference
- amount
type: object
PaymentRequest3d:
additionalProperties: false
properties:
accountInfo:
x-addedInVersion: '40'
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:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $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.'
type: object
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:
x-addedInVersion: '40'
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:
x-addedInVersion: '4'
description: 'The address where to send the invoice.
> The `billingAddress` object is required in the following scenarios.
Include all of the fields within this object.
>* For 3D Secure 2 transactions in all browser-based and mobile implementations.
>* For cross-border payouts to and from Canada.'
$ref: '#/components/schemas/Address'
browserInfo:
description: 'The shopper''s browser information.
> For 3D Secure, the full object is required for web integrations. For
mobile app integrations, include the `userAgent` and `acceptHeader` fields
to indicate that your integration can support a redirect in case a payment
is routed to 3D Secure 1.'
$ref: '#/components/schemas/BrowserInfo'
captureDelayHours:
x-addedInVersion: '2'
description: The delay between the authorisation and scheduled auto-capture,
specified in hours.
format: int32
type: integer
dateOfBirth:
x-addedInVersion: '7'
description: 'The shopper''s date of birth.
Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD'
format: date
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:
x-addedInVersion: '8'
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:
x-addedInVersion: '2'
description: A string containing the shopper's device fingerprint. For more
information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
maxLength: 5000
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:
x-addedInVersion: '4'
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:
x-addedInVersion: '12'
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
md:
description: The payment session identifier returned by the card issuer.
type: string
merchantAccount:
description: The merchant account identifier, with which you want to process
the transaction.
type: string
merchantOrderReference:
x-addedInVersion: '9'
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:
x-addedInVersion: '40'
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:
x-addedInVersion: '17'
additionalProperties:
type: string
description: 'Metadata consists of entries, each of which includes a key
and a value.
Limits:
* Maximum 20 key-value pairs per request. When exceeding, the "177" error
occurs: "Metadata size exceeds limit".
* Maximum 20 characters per key.
* Maximum 80 characters per value. '
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
paResponse:
description: Payment authorisation response returned by the card issuer.
The `paResponse` field holds the PaRes value received from the card issuer.
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:
x-addedInVersion: '30'
description: "Defines a recurring payment type. Required when creating a\
\ token to store payment details or using stored payment details.\nAllowed\
\ values:\n* `Subscription` \u2013 A transaction for a fixed or variable\
\ amount, which follows a fixed schedule.\n* `CardOnFile` \u2013 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` \u2013 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.
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 `shopperEmail` for all
browser-based and mobile implementations.'
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).
> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based
implementations.
This field is also mandatory for some merchants depending on your business
model. For more information, [contact Support](https://www.adyen.help/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:
x-addedInVersion: '7'
description: The combination of a language code and a country code to specify
the language to be used in the payment.
type: string
shopperName:
x-addedInVersion: '7'
description: The shopper's full name.
$ref: '#/components/schemas/Name'
shopperReference:
description: "Required for recurring payments. \nYour reference to uniquely\
\ identify this shopper, for example user ID or account ID. Minimum length:\
\ 3 characters.\n> Your reference must not include personally identifiable\
\ information (PII), for example name or email address."
type: string
shopperStatement:
description: "The text to be shown on the shopper's bank statement.\n We\
\ recommend sending a maximum of 22 characters, otherwise banks might\
\ truncate the string.\n Allowed characters: **a-z**, **A-Z**, **0-9**,\
\ spaces, and special characters **. , ' _ - ? + * /**."
type: string
socialSecurityNumber:
x-addedInVersion: '4'
description: The shopper's social security number.
type: string
splits:
x-addedInVersion: '37'
description: An array of objects specifying how the payment should be split
when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments)
or [platforms]((https://docs.adyen.com/platforms/split-payments), or standalone
[Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).
items:
$ref: '#/components/schemas/Split'
type: array
store:
x-addedInVersion: '23'
description: Required for Adyen for Platforms integrations if you are a
platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference)
(on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference)
(in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store))
for the ecommerce or point-of-sale store that is processing the payment.
maxLength: 16
minLength: 1
type: string
telephoneNumber:
x-addedInVersion: '7'
description: The shopper's telephone number.
type: string
threeDS2RequestData:
x-addedInVersion: '40'
description: Request fields for 3D Secure 2. To check if any of the following
fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments)
or [Classic integration](https://docs.adyen.com/classic-integration) documentation.
$ref: '#/components/schemas/ThreeDS2RequestData'
totalsGroup:
x-addedInVersion: '23'
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:
x-addedInVersion: '37'
description: Set to true if the payment should be routed to a trusted MID.
type: boolean
required:
- merchantAccount
- paResponse
- md
type: object
PaymentRequest3ds2:
additionalProperties: false
properties:
accountInfo:
x-addedInVersion: '40'
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:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $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.'
type: object
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:
x-addedInVersion: '40'
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:
x-addedInVersion: '4'
description: 'The address where to send the invoice.
> The `billingAddress` object is required in the following scenarios.
Include all of the fields within this object.
>* For 3D Secure 2 transactions in all browser-based and mobile implementations.
>* For cross-border payouts to and from Canada.'
$ref: '#/components/schemas/Address'
browserInfo:
description: 'The shopper''s browser information.
> For 3D Secure, the full object is required for web integrations. For
mobile app integrations, include the `userAgent` and `acceptHeader` fields
to indicate that your integration can support a redirect in case a payment
is routed to 3D Secure 1.'
$ref: '#/components/schemas/BrowserInfo'
captureDelayHours:
x-addedInVersion: '2'
description: The delay between the authorisation and scheduled auto-capture,
specified in hours.
format: int32
type: integer
dateOfBirth:
x-addedInVersion: '7'
description: 'The shopper''s date of birth.
Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD'
format: date
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:
x-addedInVersion: '8'
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:
x-addedInVersion: '2'
description: A string containing the shopper's device fingerprint. For more
information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
maxLength: 5000
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:
x-addedInVersion: '4'
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:
x-addedInVersion: '12'
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:
x-addedInVersion: '9'
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:
x-addedInVersion: '40'
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:
x-addedInVersion: '17'
additionalProperties:
type: string
description: 'Metadata consists of entries, each of which includes a key
and a value.
Limits:
* Maximum 20 key-value pairs per request. When exceeding, the "177" error
occurs: "Metadata size exceeds limit".
* Maximum 20 characters per key.
* Maximum 80 characters per value. '
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
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:
x-addedInVersion: '30'
description: "Defines a recurring payment type. Required when creating a\
\ token to store payment details or using stored payment details.\nAllowed\
\ values:\n* `Subscription` \u2013 A transaction for a fixed or variable\
\ amount, which follows a fixed schedule.\n* `CardOnFile` \u2013 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` \u2013 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.
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 `shopperEmail` for all
browser-based and mobile implementations.'
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).
> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based
implementations.
This field is also mandatory for some merchants depending on your business
model. For more information, [contact Support](https://www.adyen.help/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:
x-addedInVersion: '7'
description: The combination of a language code and a country code to specify
the language to be used in the payment.
type: string
shopperName:
x-addedInVersion: '7'
description: The shopper's full name.
$ref: '#/components/schemas/Name'
shopperReference:
description: "Required for recurring payments. \nYour reference to uniquely\
\ identify this shopper, for example user ID or account ID. Minimum length:\
\ 3 characters.\n> Your reference must not include personally identifiable\
\ information (PII), for example name or email address."
type: string
shopperStatement:
description: "The text to be shown on the shopper's bank statement.\n We\
\ recommend sending a maximum of 22 characters, otherwise banks might\
\ truncate the string.\n Allowed characters: **a-z**, **A-Z**, **0-9**,\
\ spaces, and special characters **. , ' _ - ? + * /**."
type: string
socialSecurityNumber:
x-addedInVersion: '4'
description: The shopper's social security number.
type: string
splits:
x-addedInVersion: '37'
description: An array of objects specifying how the payment should be split
when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments)
or [platforms]((https://docs.adyen.com/platforms/split-payments), or standalone
[Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).
items:
$ref: '#/components/schemas/Split'
type: array
store:
x-addedInVersion: '23'
description: Required for Adyen for Platforms integrations if you are a
platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference)
(on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference)
(in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store))
for the ecommerce or point-of-sale store that is processing the payment.
maxLength: 16
minLength: 1
type: string
telephoneNumber:
x-addedInVersion: '7'
description: The shopper's telephone number.
type: string
threeDS2RequestData:
x-addedInVersion: '40'
description: Request fields for 3D Secure 2. To check if any of the following
fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments)
or [Classic integration](https://docs.adyen.com/classic-integration) documentation.
$ref: '#/components/schemas/ThreeDS2RequestData'
threeDS2Result:
description: Thre ThreeDS2Result that was returned in the final CRes.
$ref: '#/components/schemas/ThreeDS2Result'
threeDS2Token:
description: The ThreeDS2Token that was returned in the /authorise call.
type: string
totalsGroup:
x-addedInVersion: '23'
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:
x-addedInVersion: '37'
description: Set to true if the payment should be routed to a trusted MID.
type: boolean
required:
- merchantAccount
- reference
- amount
type: object
PaymentResult:
additionalProperties: false
properties:
additionalData:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/ResponseAdditionalData3DSecure'
- $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress'
- $ref: '#/components/schemas/ResponseAdditionalDataCard'
- $ref: '#/components/schemas/ResponseAdditionalDataCommon'
- $ref: '#/components/schemas/ResponseAdditionalDataDomesticError'
- $ref: '#/components/schemas/ResponseAdditionalDataInstallments'
- $ref: '#/components/schemas/ResponseAdditionalDataNetworkTokens'
- $ref: '#/components/schemas/ResponseAdditionalDataOpi'
- $ref: '#/components/schemas/ResponseAdditionalDataSepa'
description: 'Contains additional information about the payment. Some data
fields are included only if you select them first: Go to **Customer Area**
> **Developers** > **Additional data**.'
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://www.adyen.help/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://www.adyen.help/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.
maxLength: 20000
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 reference associated with the transaction/request.
This value is globally unique; quote it when communicating with us about
this request.
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/online-payments/payment-result-codes).\n\
\nPossible values:\n\n* **AuthenticationFinished** \u2013 The payment\
\ has been successfully authenticated with 3D Secure 2. Returned for 3D\
\ Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired**\
\ \u2013 The transaction does not require 3D Secure authentication. Returned\
\ for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n\
* **Authorised** \u2013 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** \u2013 Indicates the\
\ payment has been cancelled (either by the shopper or the merchant) before\
\ processing was completed. This is a final state.\n* **ChallengeShopper**\
\ \u2013 The issuer requires further shopper interaction before the payment\
\ can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error**\
\ \u2013 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** \u2013 The issuer requires the shopper's device\
\ fingerprint before the payment can be authenticated. Returned for 3D\
\ Secure 2 transactions.\n* **PartiallyAuthorised** \u2013 The payment\
\ has been authorised for a partial amount.\nThis happens for card payments\
\ when the merchant supports Partial Authorisations and the cardholder\
\ has insufficient funds.\n* **Pending** \u2013 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** \u2013 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** \u2013\
\ Indicates the payment has successfully been received by Adyen, and will\
\ be processed. This is the initial state for all payments.\n* **RedirectShopper**\
\ \u2013 Indicates the shopper should be redirected to an external web\
\ page or app to complete the authorisation.\n* **Refused** \u2013 Indicates\
\ the payment was refused. The reason is given in the `refusalReason`\
\ field. This is a final state."
enum:
- AuthenticationFinished
- AuthenticationNotRequired
- Authorised
- Cancelled
- ChallengeShopper
- Error
- IdentifyShopper
- PartiallyAuthorised
- Pending
- PresentToShopper
- Received
- RedirectShopper
- Refused
- Success
type: string
type: object
Recurring:
additionalProperties: false
properties:
contract:
description: "The type of recurring contract to be used.\nPossible values:\n\
* `ONECLICK` \u2013 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` \u2013 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` \u2013 Payment details can be used regardless of\
\ whether the shopper is on your site or not.\n* `PAYOUT` \u2013 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
RefundRequest:
additionalProperties: false
properties:
additionalData:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataModifications'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $ref: '#/components/schemas/AdditionalDataTemporaryServices'
- $ref: '#/components/schemas/AdditionalDataWallets'
description: 'This field contains additional data, which may be required
for a particular modification request.
The additionalData object consists of entries, each of which includes
the key and value.'
type: object
merchantAccount:
description: The merchant account that is used to process the payment.
type: string
modificationAmount:
description: The amount that needs to be refunded. The `currency` must match
the currency used in authorisation, the `value` must be smaller than or
equal to the authorised amount.
$ref: '#/components/schemas/Amount'
mpiData:
x-addedInVersion: '46'
description: Authentication data produced by an MPI (Mastercard SecureCode,
Visa Secure, or Cartes Bancaires).
$ref: '#/components/schemas/ThreeDSecureData'
originalMerchantReference:
x-addedInVersion: '30'
description: The original merchant reference to cancel.
type: string
originalReference:
description: 'The original pspReference of the payment to modify.
This reference is returned in:
* authorisation response
* authorisation notification
'
type: string
reference:
description: 'Your reference for the payment modification. This reference
is visible in Customer Area and in reports.
Maximum length: 80 characters.'
type: string
splits:
x-addedInVersion: '37'
description: An array of objects specifying how the amount should be split
between accounts when using Adyen for Platforms. For more information,
see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).
items:
$ref: '#/components/schemas/Split'
type: array
tenderReference:
x-addedInVersion: '25'
description: The transaction reference provided by the PED. For point-of-sale
integrations only.
type: string
uniqueTerminalId:
x-addedInVersion: '25'
description: Unique terminal ID for the PED that originally processed the
request. For point-of-sale integrations only.
type: string
required:
- merchantAccount
- modificationAmount
- originalReference
type: object
ResponseAdditionalData3DSecure:
additionalProperties: false
properties:
cardHolderInfo:
description: 'Information provided by the issuer to the cardholder. If this
field is present, you need to display this information to the cardholder. '
type: string
cavv:
description: The Cardholder Authentication Verification Value (CAVV) for
the 3D Secure authentication session, as a Base64-encoded 20-byte array.
type: string
cavvAlgorithm:
description: The CAVV algorithm used.
type: string
scaExemptionRequested:
description: "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest)\
\ that Adyen requested for the payment.\n\n Possible values:\n* **lowValue**\
\ \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** "
type: string
threeds2.cardEnrolled:
description: Indicates whether a card is enrolled for 3D Secure 2.
type: boolean
type: object
ResponseAdditionalDataBillingAddress:
additionalProperties: false
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
type: object
ResponseAdditionalDataCard:
additionalProperties: false
properties:
cardBin:
description: 'The first six digits of the card number.
This is the [Bank Identification Number (BIN)](https://docs.adyen.com/get-started-with-adyen/payment-glossary#bank-identification-number-bin)
for card numbers with a six-digit BIN.
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. \n\nExample: 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
issuerBin:
description: 'The first eight digits of the card number. Only returned if
the card number is 16 digits or more.
This is the [Bank Identification Number (BIN)](https://docs.adyen.com/get-started-with-adyen/payment-glossary#bank-identification-number-bin)
for card numbers with an eight-digit BIN.
Example: 52123423'
type: string
type: object
ResponseAdditionalDataCommon:
additionalProperties: false
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
authorisationMid:
description: Merchant ID known by the acquirer.
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
coBrandedWith:
description: Includes the co-branded card information.
type: string
cvcResult:
description: The result of CVC verification.
example: 1 Matches
type: string
cvcResultRaw:
description: The raw result of CVC verification.
example: M
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
fraudManualReview:
description: Indicates if the payment is sent to manual review.
type: string
fraudResultType:
description: The fraud result properties of the payment.
enum:
- GREEN
- FRAUD
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
isCardCommercial:
description: Indicates if the card is used for business purposes only.
type: string
issuerCountry:
description: 'The issuing country of the card based on the BIN list that
Adyen maintains.
Example: JP'
type: string
liabilityShift:
description: A Boolean value indicating whether a liability shift was offered
for this payment.
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
merchantAdviceCode:
description: 'The Merchant Advice Code (MAC) can be returned by Mastercard
issuers for refused payments. If present, the MAC contains information
about why the payment failed, and whether it can be retried.
For more information see [Mastercard Merchant Advice Codes](https://docs.adyen.com/development-resources/raw-acquirer-responses#mastercard-merchant-advice-codes).'
type: string
merchantReference:
description: The reference provided for the transaction.
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
nonScheme.transactionLimit:
description: The maximum spendable value for a single transaction. Applicable
to some gift cards.
type: string
nonScheme.transactionLimitCcy:
description: The currency of the transaction limit.
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
paymentMethod:
description: The payment method used in the transaction.
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.contractTypes:
x-addedInVersion: '40'
description: The recurring contract types applicable to the transaction.
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
recurring.shopperReference:
x-addedInVersion: '40'
description: The provided reference of the shopper for a recurring transaction.
type: string
recurringProcessingModel:
x-addedInVersion: '40'
description: The processing model used for the recurring transaction.
enum:
- CardOnFile
- Subscription
- UnscheduledCardOnFile
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
requestAmount:
description: The amount of the payment request.
type: string
requestCurrencyCode:
description: The currency of the payment request.
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
type: object
ResponseAdditionalDataDomesticError:
additionalProperties: false
properties:
domesticRefusalReasonRaw:
description: "The reason the transaction was declined, given by the local\
\ issuer. \nCurrently available for merchants in Japan."
type: string
domesticShopperAdvice:
description: "The action the shopper should take, in a local language. \n\
Currently available in Japanese, for merchants in Japan."
type: string
type: object
ResponseAdditionalDataInstallments:
additionalProperties: false
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
type: object
ResponseAdditionalDataNetworkTokens:
additionalProperties: false
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
ResponseAdditionalDataOpi:
additionalProperties: false
properties:
opi.transToken:
description: 'Returned in the response if you included `opi.includeTransToken:
true` in an ecommerce payment request. This contains an Oracle Payment
Interface token that you can store in your Oracle Opera database to identify
tokenized ecommerce transactions. For more information and required settings,
see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).'
type: string
type: object
ResponseAdditionalDataSepa:
additionalProperties: false
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
type: object
SDKEphemPubKey:
additionalProperties: false
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
type: object
ServiceError:
additionalProperties: false
properties:
additionalData:
x-addedInVersion: '46'
additionalProperties:
type: string
description: Contains additional information about the payment. Some data
fields are included only if you select them first. Go to **Customer Area**
> **Developers** > **Additional data**.
type: object
errorCode:
description: The error code mapped to the error message.
type: string
errorType:
description: The category of the error.
type: string
message:
description: A short explanation of the issue.
type: string
pspReference:
description: The PSP reference of the payment.
type: string
status:
description: The HTTP response status.
format: int32
type: integer
type: object
ShopperInteractionDevice:
additionalProperties: false
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
type: object
Split:
additionalProperties: false
properties:
account:
description: 'The unique identifier of the account to which the split amount
is booked. Required if `type` is **MarketPlace** or **BalanceAccount**.
* [Classic Platforms integration](https://docs.adyen.com/classic-platforms):
The [`accountCode`](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccount#request-accountCode)
of the account to which the split amount is booked.
* [Balance Platform](https://docs.adyen.com/adyen-for-platforms-model):
The [`balanceAccountId`](https://docs.adyen.com/api-explorer/balanceplatform/latest/get/balanceAccounts/_id_#path-id)
of the account to which the split amount is booked.'
type: string
amount:
description: 'The amount of the split item.
* Required for all split types in the [Classic Platforms integration](https://docs.adyen.com/classic-platforms).
* Required if `type` is **BalanceAccount**, **Commission**, **Default**,
or **VAT** in your [Balance Platform](https://docs.adyen.com/adyen-for-platforms-model)
integration.'
$ref: '#/components/schemas/SplitAmount'
description:
description: Your description for the split item.
type: string
reference:
description: 'Your unique reference for the part of the payment booked to
the specified `account`.
This is required if `type` is **MarketPlace** ([Classic Platforms integration](https://docs.adyen.com/classic-platforms))
or **BalanceAccount** ([Balance Platform](https://docs.adyen.com/adyen-for-platforms-model)).
For the other types, we also recommend providing a **unique** reference
so you can reconcile the split and the associated payment in the transaction
overview and in the reports.'
type: string
type:
description: "The part of the payment you want to book to the specified\
\ `account`.\n\nPossible values for the [Balance Platform](https://docs.adyen.com/adyen-for-platforms-model):\n\
* **BalanceAccount**: books part of the payment (specified in `amount`)\
\ to the specified `account`.\n* Transaction fees types that you can book\
\ to the specified `account`:\n * **AcquiringFees**: the aggregated\
\ amount of the interchange and scheme fees.\n * **PaymentFee**: the\
\ aggregated amount of all transaction fees.\n * **AdyenFees**: the\
\ aggregated amount of Adyen's commission and markup fees.\n * **AdyenCommission**:\
\ the transaction fees due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/interchange-fees-explained).\n\
\ * **AdyenMarkup**: the transaction fees due to Adyen under [Interchange\
\ ++ pricing](https://www.adyen.com/knowledge-hub/interchange-fees-explained).\n\
\ * **Interchange**: the fees paid to the issuer for each payment made\
\ with the card network.\n * **SchemeFee**: the fees paid to the card\
\ scheme for using their network. \n* **Remainder**: the amount left over\
\ after a currency conversion, booked to the specified `account`.\n* **VAT**:\
\ the value-added tax charged on the payment, booked to your platforms\
\ liable balance account.\n* **Commission**: your platform's commission\
\ (specified in `amount`) on the payment, booked to your liable balance\
\ account.\n* **Default**: in very specific use cases, allows you to book\
\ the specified `amount` to the specified `account`. For more information,\
\ contact Adyen support.\n\nPossible values for the [Classic Platforms\
\ integration](https://docs.adyen.com/classic-platforms): **Commission**,\
\ **Default**, **Marketplace**, **PaymentFee**, **VAT**."
enum:
- AcquiringFees
- AdyenCommission
- AdyenFees
- AdyenMarkup
- BalanceAccount
- Commission
- Default
- Interchange
- MarketPlace
- PaymentFee
- Remainder
- SchemeFee
- Surcharge
- Tip
- VAT
type: string
required:
- type
type: object
SplitAmount:
additionalProperties: false
properties:
currency:
description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
By default, this is the original payment currency.
maxLength: 3
minLength: 3
type: string
value:
description: The value of the split amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
format: int64
type: integer
required:
- value
type: object
TechnicalCancelRequest:
additionalProperties: false
properties:
additionalData:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataModifications'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $ref: '#/components/schemas/AdditionalDataTemporaryServices'
- $ref: '#/components/schemas/AdditionalDataWallets'
description: 'This field contains additional data, which may be required
for a particular modification request.
The additionalData object consists of entries, each of which includes
the key and value.'
type: object
merchantAccount:
description: The merchant account that is used to process the payment.
type: string
modificationAmount:
description: The amount that needs to be captured/refunded. Required for
`/capture` and `/refund`, not allowed for `/cancel`. The `currency` must
match the currency used in authorisation, the `value` must be smaller
than or equal to the authorised amount.
$ref: '#/components/schemas/Amount'
mpiData:
x-addedInVersion: '46'
description: Authentication data produced by an MPI (Mastercard SecureCode,
Visa Secure, or Cartes Bancaires).
$ref: '#/components/schemas/ThreeDSecureData'
originalMerchantReference:
x-addedInVersion: '30'
description: The original merchant reference to cancel.
type: string
reference:
description: 'Your reference for the payment modification. This reference
is visible in Customer Area and in reports.
Maximum length: 80 characters.'
type: string
splits:
x-addedInVersion: '37'
description: An array of objects specifying how the amount should be split
between accounts when using Adyen for Platforms. For more information,
see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).
items:
$ref: '#/components/schemas/Split'
type: array
tenderReference:
x-addedInVersion: '25'
description: The transaction reference provided by the PED. For point-of-sale
integrations only.
type: string
uniqueTerminalId:
x-addedInVersion: '25'
description: Unique terminal ID for the PED that originally processed the
request. For point-of-sale integrations only.
type: string
required:
- merchantAccount
- originalMerchantReference
type: object
ThreeDS2RequestData:
additionalProperties: false
properties:
acquirerBIN:
x-addedInVersion: '49'
description: Required for [authentication-only integration](https://docs.adyen.com/online-payments/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:
x-addedInVersion: '49'
description: Required for [authentication-only integration](https://docs.adyen.com/online-payments/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/online-payments/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.
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:
x-addedInVersion: '49'
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/online-payments/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:
x-addedInVersion: '49'
description: 'Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).
The merchant name that the issuer presents to the shopper if they get
a challenge. We recommend to use the same value that you will use in the
authorization. Maximum length is 40 characters.
> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/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:
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.'
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
sdkVersion:
x-addedInVersion: '40'
description: "Version of the 3D Secure 2 mobile 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/online-payments/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/online-payments/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
whiteListStatus:
x-addedInVersion: '49'
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
type: object
ThreeDS2Result:
additionalProperties: false
properties:
authenticationValue:
description: The `authenticationValue` value as defined in the 3D Secure
2 specification.
type: string
dsTransID:
description: The `dsTransID` value as defined in the 3D Secure 2 specification.
type: string
eci:
description: The `eci` value as defined in the 3D Secure 2 specification.
type: string
messageVersion:
x-addedInVersion: '49'
description: The `messageVersion` value as defined in the 3D Secure 2 specification.
type: string
threeDSServerTransID:
description: The `threeDSServerTransID` value as defined in the 3D Secure
2 specification.
type: string
timestamp:
description: The `timestamp` value of the 3D Secure 2 authentication.
type: string
transStatus:
description: The `transStatus` value as defined in the 3D Secure 2 specification.
type: string
transStatusReason:
description: Provides information on why the `transStatus` field has the
specified value. For possible values, refer to [our docs](https://docs.adyen.com/online-payments/3d-secure/api-reference#possible-transstatusreason-values).
type: string
whiteListStatus:
x-addedInVersion: '49'
description: The `whiteListStatus` value as defined in the 3D Secure 2 specification.
type: string
type: object
ThreeDS2ResultRequest:
additionalProperties: false
properties:
merchantAccount:
description: The merchant account identifier, with which you want to process
the transaction.
type: string
pspReference:
description: The pspReference returned in the /authorise call.
type: string
required:
- merchantAccount
- pspReference
type: object
ThreeDS2ResultResponse:
additionalProperties: false
properties:
threeDS2Result:
description: The result of the 3D Secure 2 authentication.
$ref: '#/components/schemas/ThreeDS2Result'
type: object
ThreeDSecureData:
additionalProperties: false
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, 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.
In 3D Secure 2, this is the `transStatus` from the `ARes`.'
enum:
- A
- C
- D
- I
- N
- R
- U
- Y
type: string
dsTransID:
x-addedInVersion: '40'
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:
x-addedInVersion: '40'
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
type: object
VoidPendingRefundRequest:
additionalProperties: false
properties:
additionalData:
additionalProperties:
type: string
x-anyOf:
- $ref: '#/components/schemas/AdditionalData3DSecure'
- $ref: '#/components/schemas/AdditionalDataAirline'
- $ref: '#/components/schemas/AdditionalDataCarRental'
- $ref: '#/components/schemas/AdditionalDataCommon'
- $ref: '#/components/schemas/AdditionalDataLevel23'
- $ref: '#/components/schemas/AdditionalDataLodging'
- $ref: '#/components/schemas/AdditionalDataModifications'
- $ref: '#/components/schemas/AdditionalDataOpenInvoice'
- $ref: '#/components/schemas/AdditionalDataOpi'
- $ref: '#/components/schemas/AdditionalDataRatepay'
- $ref: '#/components/schemas/AdditionalDataRetry'
- $ref: '#/components/schemas/AdditionalDataRisk'
- $ref: '#/components/schemas/AdditionalDataRiskStandalone'
- $ref: '#/components/schemas/AdditionalDataSubMerchant'
- $ref: '#/components/schemas/AdditionalDataTemporaryServices'
- $ref: '#/components/schemas/AdditionalDataWallets'
description: 'This field contains additional data, which may be required
for a particular modification request.
The additionalData object consists of entries, each of which includes
the key and value.'
type: object
merchantAccount:
description: The merchant account that is used to process the payment.
type: string
modificationAmount:
description: The amount that needs to be captured/refunded. Required for
`/capture` and `/refund`, not allowed for `/cancel`. The `currency` must
match the currency used in authorisation, the `value` must be smaller
than or equal to the authorised amount.
$ref: '#/components/schemas/Amount'
mpiData:
x-addedInVersion: '46'
description: Authentication data produced by an MPI (Mastercard SecureCode,
Visa Secure, or Cartes Bancaires).
$ref: '#/components/schemas/ThreeDSecureData'
originalMerchantReference:
x-addedInVersion: '30'
description: The original merchant reference to cancel.
type: string
originalReference:
description: 'The original pspReference of the payment to modify.
This reference is returned in:
* authorisation response
* authorisation notification
'
type: string
reference:
description: 'Your reference for the payment modification. This reference
is visible in Customer Area and in reports.
Maximum length: 80 characters.'
type: string
splits:
x-addedInVersion: '37'
description: An array of objects specifying how the amount should be split
between accounts when using Adyen for Platforms. For more information,
see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).
items:
$ref: '#/components/schemas/Split'
type: array
tenderReference:
x-addedInVersion: '25'
description: The transaction reference provided by the PED. For point-of-sale
integrations only.
type: string
uniqueTerminalId:
x-addedInVersion: '25'
description: Unique terminal ID for the PED that originally processed the
request. For point-of-sale integrations only.
type: string
required:
- merchantAccount
type: object
securitySchemes:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey
BasicAuth:
scheme: basic
type: http
examples:
generic-400:
summary: Response code 400. Bad request.
value:
status: 400
errorCode: '702'
message: 'Unexpected input: ", expected: }'
errorType: validation
generic-401:
summary: Response code 401. Unauthorized.
value:
status: 401
errorCode: '000'
message: HTTP Status Response - Unauthorized
errorType: security
generic-500:
summary: Response code 500. Internal server error.
value:
status: 500
errorCode: '905'
message: Payment details are not supported
errorType: configuration
pspReference: '8516091485743033'
post-adjustAuthorisation-adjustAuthorisation:
summary: Increases or decreases the authorised amount
value:
originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
modificationAmount:
currency: USD
value: 1700
reference: YourModificationReference
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-adjustAuthorisation-adjustAuthorisation-200:
summary: Example response for request 'adjustAuthorisation'
value:
pspReference: 851617892360718D
response: '[adjustAuthorisation-received]'
post-authorise-authorise-3d-secure-2:
summary: Make a card payment with 3D Secure 2 native authentication
value:
amount:
currency: USD
value: 1500
merchantAccount: YOUR_MERCHANT_ACCOUNT
reference: YOUR_REFERENCE_NUMBER
threeDS2RequestData:
deviceChannel: browser
notificationURL: https://www.example.com/YOUR_3DS_NOTIFICATION_URL
browserInfo:
userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36
acceptHeader: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
language: en
colorDepth: 24
screenHeight: 723
screenWidth: 1536
timeZoneOffset: 0
javaEnabled: false
billingAddress:
country: US
city: New York
street: Redwood Block
houseNumberOrName: 37C
stateOrProvince: NY
postalCode: '10039'
accountInfo:
accountCreationDate: '2019-01-17T13:42:40+01:00'
shopperEmail: s.hopper@test.com
shopperIP: 192.0.2.1
card:
cvc: '737'
expiryMonth: '03'
expiryYear: '2030'
holderName: John Smith
number: '4917610000000000'
post-authorise-authorise-3dsecure:
summary: Initiate a 3D Secure payment
value:
amount:
value: 1500
currency: EUR
browserInfo:
userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36
acceptHeader: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
language: en
colorDepth: 24
screenHeight: 723
screenWidth: 1536
timeZoneOffset: 0
javaEnabled: false
card:
number: '5212345678901234'
expiryMonth: '03'
expiryYear: '2030'
cvc: '737'
holderName: John Smith
reference: YOUR_REFERENCE
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-authorise-authorise-card:
summary: Authorise a card payment
value:
card:
number: '4111111111111111'
expiryMonth: '03'
expiryYear: '2030'
cvc: '737'
holderName: John Smith
amount:
value: 1500
currency: EUR
reference: YOUR_REFERENCE
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-authorise-authorise-recurringcontauth:
summary: Authorise a recurring payment
value:
amount:
value: 2000
currency: EUR
reference: YOUR_REFERENCE
shopperEmail: s.hopper@test.com
shopperIP: 61.294.12.12
shopperReference: YOUR_SHOPPER_REFERENCE
selectedRecurringDetailReference: LATEST
recurring:
contract: RECURRING
shopperInteraction: ContAuth
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-authorise-authorise-recurringoneclick:
summary: Authorise a one-click payment
value:
amount:
value: 2000
currency: EUR
card:
cvc: '737'
reference: YOUR_REFERENCE
shopperEmail: s.hopper@test.com
shopperIP: 61.294.12.12
shopperReference: YOUR_SHOPPER_REFERENCE
selectedRecurringDetailReference: LATEST
recurring:
contract: ONECLICK
shopperInteraction: Ecommerce
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-authorise-authorise-recurringstore:
summary: Store card details for recurring payments
value:
amount:
value: 2000
currency: EUR
card:
number: '4111111111111111'
expiryMonth: '03'
expiryYear: '2030'
cvc: '737'
holderName: John Smith
reference: YOUR_REFERENCE
shopperEmail: s.hopper@test.com
shopperIP: 61.294.12.12
shopperReference: YOUR_SHOPPER_REFERENCE
recurring:
contract: RECURRING
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-authorise-authorise-split:
summary: Split a payment between a sub-merchant and a platform account
value:
card:
number: '4111111111111111'
cvc: '737'
expiryMonth: '03'
expiryYear: '2030'
holderName: John Smith
amount:
value: 6200
currency: EUR
reference: YOUR_ORDER_NUMBER
merchantAccount: YOUR_MERCHANT_ACCOUNT
splits:
- amount:
value: 6000
type: MarketPlace
account: '151272963'
reference: '6124145'
description: 'Porcelain Doll: Eliza (20cm)'
- amount:
value: 200
type: Commission
reference: '6124146'
post-authorise3d-authorise3d:
summary: Complete a 3D Secure payment
value:
md: 31h..........vOXek7w
paResponse: eNqtmF........wGVA4Ch
shopperIP: 61.294.12.12
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-authorise3ds2-authorise3ds2:
summary: Submit 3D Secure 2 authentication data to the issuer
value:
merchantAccount: YOUR_MERCHANT_ACCOUNT
amount:
currency: EUR
value: 1000
reference: YOUR_ORDER_NUMBER
threeDS2RequestData:
deviceChannel: app
threeDSCompInd: Y
threeDS2Token: "\u2014 - BINARY DATA - -"
post-cancel-cancel:
summary: Cancel an authorised payment
value:
originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
reference: YourModificationReference
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-cancelOrRefund-cancelOrRefund:
summary: Cancel or refund a payment
value:
originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
reference: YourModificationReference
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-cancelOrRefund-cancelOrRefund-200:
summary: Example response for request 'cancelOrRefund'
value:
pspReference: 851617892359708H
response: '[cancelOrRefund-received]'
post-capture-capture:
summary: Capture an authorised payment
value:
originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
modificationAmount:
value: 500
currency: EUR
reference: YOUR_REFERENCE
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-capture-capture-200:
summary: Example response for request 'capture'
value:
pspReference: 861617892359057J
response: '[capture-received]'
post-donate-donate:
summary: Create a payment for the specified donation
value:
originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
modificationAmount:
value: 500
currency: EUR
reference: YOUR_DONATION_REFERENCE
donationAccount: AdyenGivingDemo
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-refund-refund:
summary: Refund a captured payment
value:
originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
modificationAmount:
value: 500
currency: EUR
reference: YOUR_REFERENCE
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-refund-refund-200:
summary: Example response for request 'refund'
value:
pspReference: 861617892360059B
response: '[refund-received]'
post-retrieve3ds2Result-retrieve3ds2Result:
summary: Retrieve authentication details after doing a 3D Secure 2 authentication
only
value:
merchantAccount: YOUR_MERCHANT_ACCOUNT
pspReference: '9935272408535455'
post-technicalCancel-technicalCancel:
summary: Cancel a payment without a PSP reference
value:
originalMerchantReference: YOUR_MERCHANT_REFERENCE
reference: YOUR_MODIFICATION_REFERENCE
merchantAccount: YOUR_MERCHANT_ACCOUNT
post-technicalCancel-technicalCancel-200:
summary: Example response for request 'technicalCancel'
value:
pspReference: 881617892361436J
response: '[technical-cancel-received]'
post-voidPendingRefund-voidpendingrefund-pspreference:
summary: Cancel a POS refund request with PSP reference before it has been completed
value:
merchantAccount: YOUR_MERCHANT_ACCOUNT
originalReference: '9914748988390044'
post-voidPendingRefund-voidpendingrefund-pspreference-200:
summary: Example response for request 'voidpendingrefund-pspreference'
value:
pspReference: 861617892360062F
response: '[voidPendingRefund-received]'
post-voidPendingRefund-voidpendingrefund-tenderreference:
summary: Cancels a POS refund request with tender reference before it has been
completed
value:
merchantAccount: YOUR_MERCHANT_ACCOUNT
tenderReference: 5Iw8001176969533005
uniqueTerminalId: VX820-123456789
post-voidPendingRefund-voidpendingrefund-tenderreference-200:
summary: Example response for request 'voidpendingrefund-tenderreference'
value:
pspReference: 881617892360409G
response: '[voidPendingRefund-received]'