openapi: 3.1.0
info:
version: '6'
x-publicVersion: true
title: Adyen Account acceptDispute Cardacquisition API
description: "This API is used for the classic integration. If you are just starting your implementation, refer to our [new integration guide](https://docs.adyen.com/marketplaces-and-platforms) instead.\n\nThe Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and verification-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/marketplaces-and-platforms/classic).\n## Authentication\nYour Adyen contact will provide your API credential and an API key. To connect to the API, add an `X-API-Key` header with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively, you can use the username and password to connect to the API using basic authentication. For example:\n\n```\ncurl\n-U \"ws@MarketPlace.YOUR_PLATFORM_ACCOUNT\":\"YOUR_WS_PASSWORD\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nWhen going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://cal-test.adyen.com/cal/services/Account/v6/createAccountHolder\n```"
x-timestamp: '2023-05-30T15:27:20Z'
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://github.com/Adyen/adyen-openapi
servers:
- url: https://cal-test.adyen.com/cal/services/Account/v6
tags:
- name: Cardacquisition
paths:
/cardacquisition:
post:
description: It conveys Information related to the payment and loyalty cards to read and analyse. This message pair is usually followed by a message pair (e.g. payment or loyalty) which refers to this Card Acquisition message pair. Content of the Card Acquisition Request message.
summary: Adyen CardAcquisition Request
security:
- BasicAuth: []
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CardAcquisitionRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CardAcquisitionResponse'
examples:
operation200Example:
summary: Default operation 200 response
x-microcks-default: true
value:
Response: example_value
SaleData: example_value
POIData: example_value
CustomerLanguage: example_value
PaymentBrand:
- example_value
PaymentInstrumentData: example_value
LoyaltyAccount:
- example_value
description: It conveys Information related to the payment and loyalty cards read and processed by the POI System and entered by the Customer. Content of the Card Acquisition Response message.
tags:
- Cardacquisition
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
POIData:
type: object
description: In the Message Response, identification of the POI transaction. Data related to the POI System.
properties:
POITransactionID:
$ref: '#/components/schemas/TransactionIDType'
POIReconciliationID:
type: integer
description: If Result is Success.
required:
- POITransactionID
PaymentInstrumentData:
type: object
description: Sent in the result of the payment transaction. For a card, it could also be sent in the CardAcquisition response, to be processed by the Sale System. Data related to the instrument of payment for the transaction.
properties:
PaymentInstrumentType:
$ref: '#/components/schemas/PaymentInstrumentType'
ProtectedCardData:
type: string
CardData:
$ref: '#/components/schemas/CardData'
CheckData:
$ref: '#/components/schemas/CheckData'
MobileData:
$ref: '#/components/schemas/MobileData'
StoredValueAccountID:
$ref: '#/components/schemas/StoredValueAccountID'
required:
- PaymentInstrumentType
CardAcquisitionResponse:
type: object
description: It conveys Information related to the payment and loyalty cards read and processed by the POI System and entered by the Customer. Content of the Card Acquisition Response message.
properties:
Response:
$ref: '#/components/schemas/Response'
SaleData:
$ref: '#/components/schemas/SaleData'
POIData:
$ref: '#/components/schemas/POIData'
CustomerLanguage:
type: string
pattern: ^[a-z]{2,2}$
description: Data related to the POI System.
PaymentBrand:
type: array
items:
type: string
pattern: ^.+$
description: Brands available for payment by the card and not chosen by the Customer.
PaymentInstrumentData:
$ref: '#/components/schemas/PaymentInstrumentData'
LoyaltyAccount:
type: array
items:
$ref: '#/components/schemas/LoyaltyAccount'
required:
- Response
- SaleData
- POIData
LoyaltyAccountID:
type: object
description: In the Payment or the Loyalty Request message, it allows to identify the loyalty account by the Sale Terminal instead of the POI Terminal (e.g. because the account identification is a bar-code read by the Cashier on a scanner device). Identification of a Loyalty account.
properties:
EntryMode:
$ref: '#/components/schemas/EntryMode'
IdentificationType:
$ref: '#/components/schemas/IdentificationType'
IdentificationSupport:
$ref: '#/components/schemas/IdentificationSupport'
LoyaltyID:
type: string
required:
- EntryMode
- IdentificationType
- LoyaltyID
ErrorCondition:
type: string
enum:
- Aborted
- Busy
- Cancel
- DeviceOut
- InProgress
- InsertedCard
- InvalidCard
- LoggedOut
- MessageFormat
- NotAllowed
- NotFound
- PaymentRestriction
- Refusal
- UnavailableDevice
- UnavailableService
- UnreachableHost
- WrongPIN
CardData:
type: object
description: Allows acquisition of the card data by the Sale System before the Payment, CardAcquisition or BalanceInquiry request to the POI. It could also be sent in the CardAcquisition response, to be processed by the Sale System. Information related to the payment card used for the transaction.
properties:
PaymentBrand:
type: string
pattern: ^.+$
description: If card PAN is readable .
MaskedPan:
type: string
pattern: ^.+$
PaymentAccountRef:
type: string
pattern: ^.+$
EntryMode:
$ref: '#/components/schemas/EntryMode'
CardCountryCode:
type: integer
minimum: 3
maximum: 3
description: If available in the card.
ProtectedCardData:
type: string
description: SensitiveCardData protected by CMS EnvelopedData.
SensitiveCardData:
$ref: '#/components/schemas/SensitiveCardData'
AllowedProductCode:
type: array
items:
type: integer
minimum: 1
maximum: 20
AllowedProduct:
type: array
items:
$ref: '#/components/schemas/AllowedProduct'
PaymentToken:
$ref: '#/components/schemas/PaymentToken'
CustomerOrder:
type: array
items:
$ref: '#/components/schemas/CustomerOrder'
UTMCoordinates:
type: object
properties:
UTMZone:
type: string
pattern: ^.+$
UTMEastward:
type: string
pattern: ^.+$
UTMNorthward:
type: string
pattern: ^.+$
required:
- UTMZone
- UTMEastward
- UTMNorthward
EntryMode:
type: array
items:
type: string
enum:
- Contactless
- File
- ICC
- Keyed
- MagStripe
- Manual
- Mobile
- RFID
- Scanned
- SynchronousICC
- Tapped
Response:
type: object
description: If Result is Success, ErrorCondition is absent or not used in the processing of the message. In the other cases, the ErrorCondition has to be present and can refine the processing of the message response. AdditionalResponse gives more information about the success or the failure of the message request processing, for logging without real time involvements. Result of a message request processing.
properties:
Result:
$ref: '#/components/schemas/Result'
ErrorCondition:
$ref: '#/components/schemas/ErrorCondition'
AdditionalResponse:
type: string
pattern: ^.+$
description: If present, the POI logs it for further examination.
required:
- Result
StoredValueAccountID:
type: object
description: It contains the identifications of the stored value account or the stored value card, and the associated product sold by the Sale System for stored value requests. Identification of the stored value account or the stored value card.
properties:
StoredValueAccountType:
$ref: '#/components/schemas/StoredValueAccountType'
StoredValueProvider:
type: string
pattern: ^.+$
OwnerName:
type: string
pattern: ^.+$
ExpiryDate:
type: integer
minimum: 4
maximum: 4
EntryMode:
$ref: '#/components/schemas/EntryMode'
IdentificationType:
$ref: '#/components/schemas/IdentificationType'
StoredValueID:
type: string
pattern: ^.+$
required:
- StoredValueAccountType
- EntryMode
- IdentificationType
- StoredValueID
TransactionIDType:
type: object
description: Identification of a transaction for the Sale System or the POI System.
properties:
TransactionID:
type: string
pattern: ^.+$
TimeStamp:
type: string
format: date-time
required:
- TransactionID
- TimeStamp
Result:
type: string
enum:
- Failure
- Partial
- Success
CheckData:
type: object
description: Allows the check information to be provided by the Sale System before requesting the payment, or stored by the Sale System after processing of the payment. Information related to the paper check used for the transaction.
properties:
BankID:
type: string
pattern: ^.+$
description: Mandatory if TrackData absent.
AccountNumber:
type: string
pattern: ^.+$
description: Mandatory if TrackData absent.
CheckNumber:
type: string
pattern: ^.+$
description: Mandatory if TrackData absent.
TrackData:
$ref: '#/components/schemas/TrackData'
CheckCardNumber:
type: string
pattern: ^.+$
description: If provided by the customer.
TypeCode:
$ref: '#/components/schemas/TypeCode'
Country:
type: string
pattern: ^[A-Z]{3,3}$
description: Absent if country of the Sale system.
GeographicCoordinates:
type: object
properties:
Latitude:
type: string
pattern: ^.+$
Longitude:
type: string
pattern: ^.+$
required:
- Latitude
- Longitude
IdentificationType:
type: string
enum:
- AccountNumber
- BarCode
- ISOTrack2
- PAN
- PhoneNumber
CardAcquisitionTransaction:
type: object
properties:
AllowedPaymentBrand:
type: array
items:
type: string
pattern: ^.+$
AllowedLoyaltyBrand:
type: array
items:
type: string
pattern: ^.+$
LoyaltyHandling:
$ref: '#/components/schemas/LoyaltyHandling'
CustomerLanguage:
type: string
pattern: ^[a-z]{2,2}$
ForceEntryMode:
$ref: '#/components/schemas/ForceEntryMode'
ForceCustomerSelectionFlag:
type: boolean
TotalAmount:
type: number
maximum: 99999999.999999
minimum: 0
PaymentType:
$ref: '#/components/schemas/PaymentType'
CashBackFlag:
type: boolean
SaleData:
type: object
description: Data associated to the Sale System, with a particular value during the processing of the payment by the POI, including the cards acquisition. Data related to the Sale System.
properties:
OperatorID:
type: string
pattern: ^.+$
OperatorLanguage:
type: string
pattern: ^[a-z]{2,2}$
description: if different from the Login.
ShiftNumber:
type: string
pattern: ^.+$
description: if different from the Login and see Login .SaleData.
SaleTransactionID:
$ref: '#/components/schemas/TransactionIDType'
SaleReferenceID:
type: string
pattern: ^.+$
description: If payment reservation.
SaleTerminalData:
$ref: '#/components/schemas/SaleTerminalData'
TokenRequestedType:
$ref: '#/components/schemas/TokenRequestedType'
CustomerOrderID:
type: string
pattern: ^.+$
description: Additional and optional identification of a customer order.
CustomerOrderReq:
$ref: '#/components/schemas/CustomerOrderReq'
SaleToPOIData:
type: string
pattern: ^.+$
description: Stored with the transaction.
SaleToAcquirerData:
type: string
pattern: ^.+$
description: Send to the Acquirer if present.
SaleToIssuerData:
$ref: '#/components/schemas/SaleToIssuerData'
required:
- SaleTransactionID
PaymentType:
type: string
enum:
- CashAdvance
- CashDeposit
- Completion
- FirstReservation
- Instalment
- IssuerInstalment
- Normal
- OneTimeReservation
- PaidOut
- Recurring
- Refund
- UpdateReservation
Geolocation:
type: object
properties:
GeographicCoordinates:
$ref: '#/components/schemas/GeographicCoordinates'
UTMCoordinates:
$ref: '#/components/schemas/UTMCoordinates'
CardAcquisitionRequest:
type: object
description: It conveys Information related to the payment and loyalty cards to read and analyse. This message pair is usually followed by a message pair (e.g. payment or loyalty) which refers to this Card Acquisition message pair. Content of the Card Acquisition Request message.
properties:
SaleData:
$ref: '#/components/schemas/SaleData'
CardAcquisitionTransaction:
$ref: '#/components/schemas/CardAcquisitionTransaction'
required:
- SaleData
- CardAcquisitionTransaction
CustomerOrder:
type: object
description: Customer order attached to a customer, recorded in the POI system. Allows the management of customer orders by the POI, for instance in a multi-channel or a click and collect sale transaction.
properties:
CustomerOrderID:
type: string
pattern: ^.+$
description: Additional and optional identification of a customer order.
SaleReferenceID:
type: string
pattern: ^.+$
OpenOrderState:
type: boolean
default: true
StartDate:
type: string
format: date-time
description: Date time of the beginning of an operation.
EndDate:
type: string
format: date-time
description: Date time of the end of an operation.
ForecastedAmount:
type: number
maximum: 99999999.999999
minimum: 0
CurrentAmount:
type: number
maximum: 99999999.999999
minimum: 0
description: Total amount of all completed transactions of a customer order.
Currency:
type: string
pattern: ^[A-Z]{3,3}$
description: Currency of a monetary amount.
AccessedBy:
type: string
pattern: ^.+$
AdditionalInformation:
type: string
pattern: ^.+$
description: Unqualified information.
required:
- SaleReferenceID
- StartDate
- ForecastedAmount
- CurrentAmount
TrackFormat:
type: string
enum:
- AAMVA
- ISO
TypeCode:
type: string
enum:
- Company
- Personal
ForceEntryMode:
type: array
items:
type: string
enum:
- CheckReader
- Contactless
- File
- ICC
- Keyed
- MagStripe
- Manual
- RFID
- Scanned
- SynchronousICC
- Tapped
TrackData:
type: object
description: ISO 7813 - ISO 4909. Generic data structure for a card track, used when the magstripe card reader is located on the Sale Terminal, or for magstripe Card Reader device request. The data structure is also used to store the line at the bottom of a bank check. Magnetic track or magnetic ink characters line.
properties:
TrackNumb:
type: integer
minimum: 1
maximum: 3
default: 2
TrackFormat:
$ref: '#/components/schemas/TrackFormat'
TrackValue:
type: string
pattern: ^.{1,104}$
required:
- TrackValue
PaymentInstrumentType:
type: string
enum:
- Card
- Cash
- Check
- Mobile
- StoredValue
SensitiveCardData:
type: object
description: This data structure could be CMS protected (EnvelopedData). In this case the data structure SensitiveCardData is replaced by the data structure ProtectedCardData of type ContentInformationType. When this data is protected, the exact content is unknown by the Sale System, and might include all the information which are required by an external backup POI Server to make a batch payment transaction in case of problem with the POI System. Sensitive information related to the payment card, entered or read by the Sale System.
properties:
PAN:
type: integer
minimum: 8
maximum: 28
CardSeqNumb:
type: integer
minimum: 2
maximum: 3
description: if EntryMode is File, Keyed or Manual.
ExpiryDate:
type: integer
minimum: 4
maximum: 4
description: if EntryMode is File.
TrackData:
type: array
items:
$ref: '#/components/schemas/TrackData'
PaymentToken:
type: object
description: Surrogate of the PAN (Primary Account Number) of the payment card to identify the payment mean of the customer. It allows, for a merchant, to identify the customer.
properties:
TokenRequestedType:
$ref: '#/components/schemas/TokenRequestedType'
TokenValue:
type: string
pattern: ^.+$
ExpiryDateTime:
type: string
format: date-time
description: Expiry date and time. Limits the validity of a payment token.
required:
- TokenRequestedType
- TokenValue
TokenRequestedType:
type: string
enum:
- Customer
- Transaction
MobileData:
type: object
description: Mobile phone is used as a payment instrument for the transaction. Information related to the mobile for the payment transaction.
properties:
MobileCountryCode:
type: integer
minimum: 3
maximum: 3
description: If data available.
MobileNetworkCode:
type: integer
minimum: 2
maximum: 3
description: If data available.
MaskedMSISDN:
type: integer
description: If data available.
Geolocation:
$ref: '#/components/schemas/Geolocation'
ProtectedMobileData:
type: string
description: SensitiveMobileData.
SensitiveMobileData:
$ref: '#/components/schemas/SensitiveMobileData'
StoredValueAccountType:
type: string
enum:
- GiftCard
- Other
- PhoneCard
SensitiveMobileData:
type: object
properties:
MSISDN:
type: integer
ISMI:
type: integer
IMEI:
type: integer
required:
- MSISDN
SaleTerminalData:
type: object
description: In the Login Request, if a Sale Terminal is involved in the login. In other messages, when a logical device is out of order (SaleCapabilites), or when the other data have changed since or were not in the Login. Information related to the software and hardware feature of the Sale Terminal.
properties:
TotalsGroupID:
type: string
pattern: ^.{1,16}$
description: If present, default value for all transaction.
AllowedProduct:
type: object
description: Product that is payable by the payment card. Product codes that are payable by the payment card.
properties:
ProductCode:
type: integer
minimum: 1
maximum: 20
description: Product code of item purchased with the transaction.
EanUpc:
type: integer
description: Standard product code of item purchased with the transaction.
ProductLabel:
type: string
pattern: ^.+$
description: Product name of an item purchased with the transaction.
AdditionalProductInfo:
type: string
pattern: ^.+$
description: Additionl information related to the line item.
required:
- ProductCode
CustomerOrderReq:
type: array
items:
type: string
enum:
- Both
- Closed
- Open
SaleToIssuerData:
type: object
description: The POI System receives this information and sends it to the Acquirer for the Issuer without any change. Sale information intended for the Issuer.
properties:
StatementReference:
type: string
pattern: ^.+$
description: Information to print on the bank statement.
LoyaltyHandling:
type: string
enum:
- Allowed
- Forbidden
- Processed
- Proposed
- Required
IdentificationSupport:
type: string
enum:
- HybridCard
- LinkedCard
- LoyaltyCard
- NoCard
LoyaltyAccount:
type: object
description: This data structure conveys the identification of the account and the associated loyalty brand. Data related to a loyalty account processed in the transaction.
properties:
LoyaltyAccountID:
$ref: '#/components/schemas/LoyaltyAccountID'
LoyaltyBrand:
type: string
pattern: ^.+$
description: If a card is analysed.
required:
- LoyaltyAccountID
securitySchemes:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey
BasicAuth:
scheme: basic
type: http
x-groups:
- Account holders
- Accounts
- Verification