ADX 2.1 YAML File

This document provides a user-friendly file format for viewing and implementing VCAS ADX API requests and responses including SendAuthenticationResultRequest and SendAuthenticationResultDetailRequest.

openapi: 3.0.1
info:
  title: VCAS Authentication Data Exchange (ADX) API
  description: "The Authentication Data Exchange (ADX) API is used to send the authentication\
    \ result of a transaction from Visa Consumer Authentication Service (VCAS) to\
    \ a 3rd party; i.e. an issuer or processor. This authentication result can be\
    \ used (but is not limited to) to help authorization decisioning, for case management\
    \ systems, or for additional data for risk modeling."
  contact:
    name: CardinalCommerce
    url: http://www.cardinalcommerce.com
  version: "2.1"
paths:
  /SendAuthenticationResultRequest:
    post:
      tags:
      - ADX Requests
      summary: Send Authentication Result
      description: "The SendAuthenticationResult call focuses on the authentication result, risk score, CAVV, ECI and IP address for a given transaction."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendAuthenticationResultRequest'
        required: true
      responses:
        "200":
          description: Successful Send Authentication Result Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendAuthenticationResultResponse'
      x-codegen-request-body-name: body
  /SendAuthenticationResultDetailRequest:
    post:
      tags:
      - ADX Requests
      summary: Send Authentication Result Detail
      description: "The SendAuthenticationResultDetail call provides more details about a given transaction such as device and/or browser information, merchant information, and cardholder information including billing/shipping address."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendAuthenticationResultDetailRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/SendAuthenticationResultDetailRequest'
        required: true
      responses:
        "200":
          description: Successful Send Authentication Result Detail Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendAuthenticationResultDetailResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/SendAuthenticationResultDetailResponse'
      x-codegen-request-body-name: body
components:
  schemas:
    SendAuthenticationResultRequest:
      required:
      - MessageVersion
      - RequestId
      type: object
      properties:
        RequestId:
          type: string
          description: System generated transaction reference id. This field is named “TransactionId” in the VCAS RDX API. Up to 36 characters.
          default: 0fe3b99f-8c52-41cf-a73c-0107fefd56e3
        IssuerOrgId:
          type: string
          description: Organization ID designated by VCAS. Hexadecimal value. Up to
            24 characters.
          default: 5723c1870063ac1a9c3ab07c
        DSTransactionId:
          type: string
          description: Directory Server (DS) generated transaction reference id. GUID
            Format. 36 characters.
          default: 00ec043e-40b5-4ce4-95c2-9e83b644f412
        CAVV:
          type: string
          description: Payment system specific value that is used to provide proof
            ofauthentication. This is the Base64 representation of the authentication
            value. Up to 28 characters.
          default: AAIBASR0YAAAAN6vhACIdQ8DKJSL
        CAVVHex:
          type: string
          description: Payment system specific value that is used to provide proof
            of authentication. This is the hexadecimal representation of the authentication
            value.
          default: 00020101247460000000DEAF8400887500073512
        ECI:
          type: string
          description: Payment system specific value provided by ACS to indicate results
            of the attempt to authenticate. 2 characters.
          default: "05"
        MessageVersion:
          type: string
          description: Version of the message based on 3DS spec. Example - 2.2.2;
            up to 8 characters.
          default: 2.2.2
        AuthenticationResponse:
          type: string
          description: Authentication response sent back to the merchant. String, one character.
          default: "Y"
          enum:
          - "Y"
          - "N"
          - "U"
          - "A"
          - "R"
          - "I"
        AuthenticationType:
          type: string
          description: "Type of credential used for the given transaction. Note: The\
            \ \"AuthenticationType\" field is referred to as “CredentialType” in other\
            \ Cardinal services. This is not the same as authentication type in reports.\
            \ This field will be NULL in the case where no credentials were used,\
            \ as in the case of a non-challenge transaction."
          default: OTP
          enum:
          - OTP
          - OTPEMAIL
          - OTPSMS
          - OTPIVR
          - KBASINGLE
          - BIOMETRIC
          - BIOMETRIC_FACIAL
          - BIOMETRIC_FINGERPRINT
          - OUTOFBANDOTHER
          - blank
        RiskScore:
          type: string
          description: "Risk score of the transaction as determined by Cardinal. 2-digit\
            \ value (ex: 49)."
          default: "50"
        IP:
          type: string
          description: IP Address of the device. Up to 45 characters.
          default: 123.567.22.980
        PaymentInfo:
          $ref: '#/components/schemas/PaymentInfo'
    SendAuthenticationResultResponse:
      required:
      - Status
      type: object
      properties:
        Status:
          type: string
          description: "Status of the call (values are Success, Failure)."
          default: Success
          enum:
          - Success
          - Failure
        Error:
          $ref: '#/components/schemas/ErrorMessage'
    SendAuthenticationResultDetailRequest:
      required:
      - MerchantInfo
      - MessageVersion
      - RequestId
      - TransactionInfo
      type: object
      properties:
        RequestId:
          type: string
          description: System generated transaction reference id. This field is named “TransactionId” in the VCAS RDX API. Up to 36 characters.
          default: 0fe3b99f-8c52-41cf-a73c-0107fefd56e3
        IssuerOrgId:
          type: string
          description: Organization ID designated by VCAS. Hexadecimal value. Up to
            24 characters.
          default: 5723c1870063ac1a9c3ab07c
        DSTransactionId:
          type: string
          description: Directory Server (DS) generated transaction reference id. GUID
            Format. 36 characters.
          default: 6aaaa5d7-ebb0-4f31-acce-b6284c1ff23e
        TransStatusReason:
          type: string
          description: Indicates the reason a transaction failed authentication. 2
            characters.
          default: "01"
        CAVV:
          type: string
          description: Payment system specific value that is used to provide proof
            of authentication. This is the Base64 representation of the authentication
            value. Up to 28 characters.
          default: AAIBASR0YAAAAN6vhACIdQ8DKJSL
        CAVVHex:
          type: string
          description: Payment system specific value that is used to provide proof
            of authentication. This is the hexadecimal representation of the authentication
            value.
          default: 00020101247460000000DEAF8400887500073512
        ECI:
          type: string
          description: Payment system specific value provided by ACS to indicate results
            of the attempt to authenticate. 2 characters.
          default: "05"
        MessageVersion:
          type: string
          description: Version of the message based on 3DS spec. Example - 2.2.2 up
            to 8 characters.
          default: 2.2.2
        AuthenticationResponse:
          type: string
          description: Authentication response back to the merchant.
          default: "Y"
          enum:
          - "Y"
          - "N"
          - U
          - A
          - R
          - I
        AuthenticationType:
          type: string
          description: "Type of credential used for the given transaction. Note: The\
            \ \"AuthenticationType\" field is referred to as “CredentialType” in other\
            \ Cardinal services. This is not the same as authentication type in reports.\
            \ This field will be NULL in the case where no credentials were used,\
            \ as in the case of a non-challenge transaction."
          default: OTP
          enum:
          - OTP
          - OTPEMAIL
          - OTPSMS
          - OTPIVR
          - KBASINGLE
          - BIOMETRIC
          - BIOMETRIC_FACIAL
          - BIOMETRIC_FINGERPRINT
          - OUTOFBANDOTHER
          - blank
        RiskScore:
          type: string
          description: "Risk score of the transaction as determined by Cardinal. 2-digit\
            \ value (ex: 49)."
          default: "50"
        MerchantChallengeIndicator:
          type: string
          description: Indicates whether a challenge is requested from the merchant.
          default: NoChallengeRiskPerformed
          enum:
          - NoChallengeRiskPerformed
          - NoChallengeDataOnly
          - NoChallengeSCAPerformed
        MerchantInfo:
          $ref: '#/components/schemas/MerchantInfo'
        TransactionInfo:
          $ref: '#/components/schemas/TransactionInfo'
        AdditionalRiskResultInfo:
          $ref: '#/components/schemas/AdditionalRiskResultInfo'
        ExemptionInfo:
          $ref: '#/components/schemas/ExemptionInfo'
        ExtensionData:
          $ref: '#/components/schemas/ExtensionData'
        threeRIInd:
          type: string
          description: Indicates the type of 3RI request. 2 characters.
          default: "01"
        threeDSRequestorPriorAuthenticationInfo:
          $ref: '#/components/schemas/threeDSRequestorPriorAuthenticationInfo'
    SendAuthenticationResultDetailResponse:
      required:
      - Status
      type: object
      properties:
        Status:
          type: string
          description: "Status of the call (values are Success, Failure)."
          default: Success
          enum:
          - Success
          - Failure
        Error:
          $ref: '#/components/schemas/ErrorMessage'
    AdditionalRiskResultInfo:
      required:
      - RiskIndicator
      type: object
      properties:
        RiskIndicator:
          type: string
          description: "This RiskIndicator value is set during risk or challenge flows\
            \ to indicate the risk or challenge type. The value is then used in the\
            \ construction of certain Authentication Values. For Example, Visa CAVV\
            \ Usage 3 Version 7 or Mastercard Enhanced IAV SPA2."
          default: "01"
        DeviceIDVelocity:
          type: integer
          description: "The number of times VCAS or other risk provider has seen the\
            \ same DeviceID within a given timespan. By default, the timespan is set\
            \ to 10 minutes."
        IPVelocity:
          type: integer
          description: "The number of times VCAS or other risk provider has seen the\
            \ same IP address within a given timespan. By default, the timespan is\
            \ set to 10 minutes."
    ExemptionInfo:
      type: object
      properties:
        MerchantFraudRate:
          type: string
          description: |
            ### Merchant fraud rate. 1 or 2 character value
            1 (represents fraud rate less than or equal to 1 bp)
            2 (represents fraud rate between 1 bp + - and 6 bps)
            3 (represents fraud rate between 6 bps + - and 13 bps)
            4 (represents fraud rate between 13 bps + - and 25 bps)
            5 (represents fraud rate greater than 25 bps)
          default: "1"
        SecureCorporatePayment:
          type: string
          description: "Indicates dedicated payment processes and procedures were\
            \ used, potential secure corporate payment exemption applies. Logically\
            \ this field should only be set to yes if the acquirer exemption field\
            \ is blank. A merchant cannot claim both acquirer exemption and secure\
            \ payment. However, the DS will not validate the conditions in the extension.\
            \ DS will pass data as presented. Possible values: \"Y\" or \"N\""
          default: "N"
    ExtensionData:
      type: object
      properties:
        ACSRBA:
          $ref: '#/components/schemas/ACSRBA'
        EMVPaymentToken:
          $ref: '#/components/schemas/EMVPaymentToken'
        DAFExtension:
          $ref: '#/components/schemas/DAFExtension'
    ACSRBA:
      type: object
      description: The ADX request needs to include ACSRBA object fields in order for an issuer to receive the Mastercard risk-based extension data. Refer to the Mastercard program guide for more information.
      properties:
        Status:
          type: string
          description: Indicates whether the Smart Authentication platform can provide
            the authentication assessment for that transaction. Up to 36 characters.
          default: Success
        Score:
          type: string
          description: "An authentication assessment between 0-950 in increments of\
            \ 50, with the threshold increasing with increasing authentication risk.\
            \ Up to 3 characters."
          default: "950"
        Decision:
          type: string
          description: Indicates the authentication risk analysis and whether Mastercard
            would have fully authenticated the transaction in a Smart Authentication
            Stand-In situation. Up to 36 characters.
          default: Not Low Risk
        ReasonCode1:
          type: string
          description: "One-character value (A-Z) reflecting key anchor variables\
            \ related to the transaction, with A as the highest risk to Z as the most\
            \ trusted reason. Up to 3 characters."
          default: A
        ReasonCode2:
          type: string
          description: Ensures that ACS is coded to receive reasonCode2 to be able
            to take advantage of future insights provided in this field. Defaults
            to GG. Currently not used. Reserved for future use. Up to 3 characters.
          default: GG
    EMVPaymentToken:
      type: object
      properties:
        TokenRequestorId:
          type: string
          description: A value that identifies each unique combination of Token Requestor
            and Token Domain(s) for a given Token Service Provider. 11 characters.
          default: "12345678910"
        TokenStatusIndicator:
          type: string
          description: Identifies the status of the Payment Token. 1 character.
          default: A
          enum:
          -  A
          -  I
          -  S
          -  D
          -  P
        TokenAdditionalData:
          $ref: '#/components/schemas/TokenAdditionalData'
        Version:
          type: string
          description: Version number of the token message extension. Up to 5 characters.
          default: "1.0"
    TokenAdditionalData:
      type: object
      properties:
        TokenAdditionalDataVersion:
          type: string
          description: Indicates the extension version and matches the value provided by the "Version" field on the "Data" object. Used for Visa transactions only. 3 characters.
          default: "1.0"
        TokenCharacteristics:
          type: string
          description: This data element indicates the type of token. Used for Visa transactions only. 2 characters.
          default: "06"
          enum:
          -  "01"
          -  "02"
          -  "03"
          -  "05"
          -  "06"
    DAFExtension:
      type: object
      properties:
        authPayCredStatus:
          type: string
          description: "Enables the communication of Authenticated Payment Credential\
            \ Status between the VDS and the 3DS Server, and the VDS and the ACS.\
            \ 1 character."
          default: "Y"
        authPayProcessReqInd:
          type: string
          description: Indicates whether the purpose of the transaction is to process
            as a DAF transaction or to inquire on the Authenticated Payment Credential
            Status. 2 characters.
          default: "01"
        dafAdvice:
          type: string
          description: Indicates to the ACS whether the transaction must be approved
            or whether approval is an issuer decision. 2 characters.
          default: "01"
        version:
          type: string
          description: Version number of the message extension. Up to 5 characters.
          default: "1.0"
    threeDSRequestorPriorAuthenticationInfo:
      type: object
      properties:
        threeDSReqPriorAuthData:
          type: string
          description: Data that documents and supports a specific authentication
            process. Max. 2048 characters.
          default: NA
        threeDSReqPriorAuthMethod:
          type: string
          description: Mechanism used by the Cardholder to previously authenticate
            to the 3DS Requestor. 2 characters.
          default: "01"
        threeDSReqPriorAuthTimestamp:
          type: string
          description: Date and time in UTC of the prior cardholder authentication.
            12 characters.
          default: 2028-08-28 10:23:31.490
        threeDSReqPriorRef:
          type: string
          description: Data which provides additional information to the ACS to determine
            the best approach for handing a request. Up to 36 characters.
          default: NA
    MerchantInfo:
      required:
      - MerchantURL
      type: object
      properties:
        AcquirerId:
          type: string
          description: AcquirerId for the merchant performing the purchase request.
            Up to 11 characters.
          default: "55554444"
        AcquirerCountryCode:
          type: string
          description: Country code of the Acquirer. ISO 3166-1 Numeric format. Up
            to 3 characters.
          default: "826"
        MerchantId:
          type: string
          description: MerchantId for the merchant performing the purchase request.
            Up to 35 characters.
          default: "12345678"
        MerchantName:
          type: string
          description: Merchant Name for the merchant performing the purchase request.
            Up to 40 characters.
          default: Ranier Expeditions
        MerchantURL:
          type: string
          description: URL or App Name for the merchants website or app. Up to 2048
            characters.
          default: wwww.google.com
        MerchantCategoryCode:
          type: string
          description: Code used to describe the merchant's type of business product
            or service.
          default: "5734"
        MerchantCountryCode:
          type: string
          description: Country code of the merchant. 3 characters.
          default: "372"
    PaymentInfo:
      required:
      - CardExpiryMonth
      - CardExpiryYear
      - CardNumber
      type: object
      properties:
        CardNumber:
          type: string
          description: Payment card number used in transaction. between 13 and 19
            characters.
          default: "123456789098877655"
        CardExpiryMonth:
          type: string
          description: Expiration month.
          default: "01"
        CardExpiryYear:
          type: string
          description: Expiration year. Up to 4 characters.
          default: "2028"
        CardType:
          type: string
          description: Card or account type e.g. Debit or Credit.
          default: Credit
          enum:
          - Credit
          - Debit
          - NotApplicable
        CardHolderName:
          type: string
          description: Name of the cardholder. Up to 45 characters.
          default: Johnny B Goode
    Address:
      required:
      - FirstName
      - LastName
      type: object
      properties:
        FirstName:
          type: string
          description: First Name for the Address Component.
          default: Johnny
        MiddleName:
          type: string
          description: Middle Name for the Address Component.
          default: B
        LastName:
          type: string
          description: Last Name for the Address Component.
          default: Goode
        Address1:
          type: string
          description: Address Line 1.
          default: 123 Main Street
        Address2:
          type: string
          description: Address Line 2.
          default: Apartment 99
        Address3:
          type: string
          description: Address Line 3.
          default: NA
        Locality:
          type: string
          description: "City, Town, etc."
          default: Anytown
        Region:
          type: string
          description: "State, Province, Territory, etc."
          default: IA
        PostalCode:
          type: string
          description: Postal Code.
          default: "52227"
        CountryCode:
          type: string
          description: "Country Code Format will follow [ISO 3166-1 three digit numeric]\
            \ 3 characters."
          default: "826"
    CartItem:
      type: object
      properties:
        Name:
          type: string
          description: Name of the item in the shopping cart. Up to 50 characters.
          default: Small blue t-shirt
        SKU:
          type: string
          description: Product SKU. Up to 50 characters.
          default: ABC-12345-S-BL
        Price:
          type: string
          description: Item price. Up to 48 characters.
          default: "4562"
        Quantity:
          type: string
          description: Item quantity in this cart. 2 characters.
          default: "1"
    ConsumerInfo:
      type: object
      properties:
        EmailAddress:
          type: string
          description: Email address for the consumer. Up to 254 characters.
          format: email
          default: [email protected]
        PhoneNumber:
          type: string
          description: Phone Number for the consumer. Up to 15 characters. E.164 format.
          default: "+14151231234"
        MobileNumber:
          type: string
          description: Consumers mobile number. Up to 15 characters. E.164 format.
          default: "+14151231234"
        WorkNumber:
          type: string
          description: Work phone number for the cardholder. Up to 15 characters.
            E.164 format.
          default: "+14151231234"
    ConsumerWalletInfo:
      type: object
      properties:
        Provider:
          type: string
          description: Wallet Provider Name. Up to 100 characters.
          default: Apple
        WalletAge:
          maximum: 10000
          minimum: 0
          type: number
          description: Number of days since the wallet was created.
          format: Int64
        PaymentCardAge:
          maximum: 10000
          minimum: 0
          type: number
          description: Number of days the card has been in the wallet.
          format: Int64
    MerchantAdditionalData:
      type: object
      properties:
        ShippingIndicator:
          type: string
          description: Indicates shipping method chosen for transaction.
          default: ShipToBillingAddress
          enum:
          - ShipToBillingAddress
          - ShipToVerifiedAddress
          - ShipToOtherAddress
          - ShipToStore
          - DigitalGoods
          - TravelOrEventTickets
          - Other
        DeliveryTimeFrame:
          type: string
          description: Deilvery timeframe
          default: OvernightShipping
          enum:
          - ElectronicDelivery
          - SameDayShipping
          - OvernightShipping
          - TwoOrMoreDaysShipping
        DeliveryEmailAddress:
          type: string
          description: Email address where merchandise was delivered. Up to 254 characters.
          default: [email protected]
        ReorderItemsIndicator:
          type: string
          description: Indicates whether cardholder ordered previously.
          default: FirstTime
          enum:
          - FirstTime
          - Reordered
        PreorderPurchaseIndicator:
          type: string
          description: Indicates purchase with future availability.
          default: MerchandiseAvailable
          enum:
          - MerchandiseAvailable
          - FutureAvailability
        PreorderDate:
          type: string
          description: "Expected date merchandise is available. Example, YYYYMMDD.\
            \ 8 characters."
          default: "20240828"
        GiftCardAmount:
          type: string
          description: "For a gift card, this is the purchase amount (represented\
            \ in raw amount, example 1000 for $10.00). Up to 15 characters."
          default: "10000"
        GiftCardCurrency:
          type: string
          description: "ISO 4217 3-digit numeric standard.[ISO 4217 Link] https://en.wikipedia.org/wiki/ISO_4217\
            \ 3 characters."
          default: "840"
        GiftCardCount:
          type: string
          description: Total count of individual prepaid or gift cards/codes purchased.
            2 characters.
          default: "1"
    DeviceInfo:
      type: object
      properties:
        UserAgent:
          type: string
          description: User Agent for browser or Device Identifier for InApp purchase.
            Up to 2048 characters.
          default: Google Chrome
        IP:
          type: string
          description: IP Address of the device. Up to 45 characters.
          default: 123.567.22.980
        Latitude:
          type: string
          description: Latitude of the device based on geolocation or IP Address.
            Up to 50 characters.
          default: "38.8951"
        Longitude:
          type: string
          description: Longitude of the device based on geolocation or IP Address.
            Up to 50 .
          default: "-77.0364"
        BrowserAcceptHeader:
          type: string
          description: Raw HTTP Accept header from the browser. Up to 2048 characters.
          default: '*/*'
        BrowserJavaEnabled:
          type: string
          description: "Indicates whether browser can execute Java. Example, true.\
            \ Up to 5 characters."
          default: "True"
        BrowserJavascriptEnabled:
          type: boolean
          description: "Indicates whether the browser can execute JavaScript. Example,\
            \ true. Up to 5 characters."
          default: true
        BrowserLanguage:
          type: string
          description: Browser language returned from navigator.language property.
            Up to 8 characters.
          default: en-US
        BrowserColorDepth:
          type: string
          description: Value representing the bit depth of the color palette. Up to
            2 characters.
          default: "24"
        BrowserScreenHeight:
          type: string
          description: Height of cardholder's screen in pixels. Up to 6 characters.
          default: "960"
        BrowserWidth:
          type: string
          description: Width of cardholders screen in pixels. Up to 6 characters.
          default: "1536"
        BrowserTimeZone:
          type: string
          description: "Time difference between UTC time and the cardholder's browser\
            \ local time, in minutes. From Date.getTimezoneOffset() method. Up to\
            \ 5 characters."
          default: "-330"
        Platform:
          type: string
          description: "Platform of the device. Example, Android, iOS. Up to 30 characters."
          default: Android
        DeviceModel:
          type: string
          description: Mobile device manufacture and model. Up to 25 characters.
          default: Android
        OperatingSystemName:
          type: string
          description: up to 50 characters.
          default: Marshmallow
        OperatingSystemVersion:
          type: string
          description: up to 25 characters.
          default: 1.2.3.4
        Locale:
          type: string
          description: Device locale. Up to 2048 characters.
          default: Denver
        AdvertisingId:
          type: string
          description: Unique ID available for advertising and fraud detection purposes.
            Up to 128 characters.
          default: NA
        ScreenResolution:
          type: string
          description: "Pixel width and height. Example, 1080x1920. Up to 15 characters."
          default: 1080x1920
        DeviceName:
          type: string
          description: User assigned device name. Up to 50 characters.
          default: Android
        SDKAppId:
          type: string
          description: Universally unique ID created upon all installations and upates
            of the 3DS Requestor App on a consumer device. Up to 36 characters.
          default: 45a2fc4d-d95f-4709-9200-65129b772
        DeviceExtendedData:
          type: string
          description: Base64url encoded JSON object. Device information gathered
            by 3DS SDK from a consumer device. Up to 64000 characters.
          default: NA
    RiskProvider:
      type: object
      properties:
        Name:
          type: string
          description: Device Profiling and Risk Engine Provider.
          default: Cardinal
          enum:
          - TM
          - Payfone
          - Cardinal
        ProviderId:
          type: string
          description: Risk Provider transaction reference Id. Up to 100 characters.
          default: 45a2fc4d-d95f-4709-9200-65129b772jdiK
        DeviceId:
          type: string
          description: Risk Provider device identifier or fingerprint. Up to 100 characters.
          default: x45e5ca957d4420d8d2cfbb98c6c3f84
    TransactionInfo:
      type: object
      properties:
        TransactionTimeStamp:
          type: string
          description: Transaction timestamp in UTC per ISO 8601 UTC. 24 characters
            e.g 2024-03-21T20:55:49.000Z
          format: date-time
        TransactionAmount:
          type: number
          description: "Transaction Amount (raw amount, example 1000 for $10.00).\
            \ Up to 48 characters."
          format: decimal
        TransactionAmountUSD:
          type: number
          description: "Transaction Amount in USD (raw amount, example 1000 for $10.00).\
            \ Up to 48 characters."
          format: decimal
        TransactionCurrency:
          type: string
          description: |
            ISO 4217 3-digit numeric standard.[ISO 4217 Link](https://en.wikipedia.org/wiki/ISO_4217) 3 characters.
          default: "840"
        TransactionExponent:
          type: integer
          description: Exponent for formatting the given currency ISO 4217 code. 1
            character.
        TransactionType:
          type: string
          description: Type of the transaction.
          default: Purchase
          enum:
          - Purchase
          - CardAdd
        PurchaseType:
          type: string
          description: Type of purchase
          default: GoodsOrService
          enum:
          - GoodsOrService
          - CheckAcceptance
          - AccountFunding
          - QuasiCash
          - PrepaidActivation
        Channel:
          type: string
          description: Channel in which the transaction occurs.
          default: WEB
          enum:
          - WEB
          - APP
          - MWEB
          - THREERI
        FlowStatus:
          type: string
          description: VCAS internal description of the status of the transaction
            at the time the transaction ended. Up to 31 characters.
          default: Fully Authenticated
          enum:
          - Fully Authenticated
          - Not Authenticated
          - Not Authenticated with Feedback
          - Attempts
          - Merchant Cancelled
          - Cardholder Cancelled
          - Incomplete
          - Unavailable
          - Rejected
          - Informational Only
        AddressMatch:
          type: string
          description: "Shipping address matches billing address. Y = shipping and\
            \ bill address are the same, N = shipping and billing addresses are different.\
            \ 1 character."
          default: "Y"
        RuleTriggered:
          type: string
          description: Rule triggered during risk processing. Up to 254 characters.
          default: Low-Risk Rule
        MerchantAdditionalData:
          $ref: '#/components/schemas/MerchantAdditionalData'
        VcasPanStatus:
          type: string
          description: "Indicates the status of the PAN status at the time of the\
            \ transaction (Active, Blocked, Bypass, Unavailable). Up to 11 characters."
          default: Active
        PaymentInfo:
          $ref: '#/components/schemas/PaymentInfo'
        BillingAddress:
          $ref: '#/components/schemas/Address'
        ShippingAddress:
          $ref: '#/components/schemas/Address'
        ShoppingCart:
          type: array
          items:
            $ref: '#/components/schemas/CartItem'
        ConsumerInfo:
          $ref: '#/components/schemas/ConsumerInfo'
        ConsumerWalletInfo:
          $ref: '#/components/schemas/ConsumerWalletInfo'
        DeviceInfo:
          $ref: '#/components/schemas/DeviceInfo'
        RiskProviderInfo:
          $ref: '#/components/schemas/RiskProvider'
        MandatedRegion:
          type: string
          description: A value describing the region in which mandates may apply to
            the current transaction. Added to support the new PSD2 transactions in
            the EEA.
          default: NONE
          enum:
          - EEA
          - NONE
          - UNKNOWN
        ChallengeCancel:
          type: string
          description: Indicator informing the ACS and the DS that the authentication
            has been canceled. Value sent from the VCAS ChallengeCancel field on the
            RReq message if the transaction was challenged. 2 characters.
          default: "01"
        ReasonCodes:
          $ref: '#/components/schemas/ReasonCodes'
    ReasonCodes:
      type: object
      properties:
        Risk:
          $ref: '#/components/schemas/Reason'
        StepUp:
          $ref: '#/components/schemas/Reason'
        InitiateAction:
          $ref: '#/components/schemas/Reason'
        Validate:
          $ref: '#/components/schemas/Reason'
    Reason:
      type: object
      properties:
        ReasonCode:
          type: string
          description: Used by the issuer for informational purposes. Sent from RDX.
            Up to 32 characters.
          default: Low-Risk
        ReasonDescription:
          type: string
          description: Used by the issuer for informational purposes. Up to 256 characters.
          default: Low-Risk
    ErrorMessage:
      type: object
      properties:
        ReferenceNumber:
          type: string
          description: System reference number for the error message. Up to 15 characters.
          default: NA
        Description:
          type: string
          description: A description of the error. Up to 50 characters.
          default: NA