info:
  description: >-
    Copyright (c) 2018 GEMALTO. All Rights Reserved.


    The API follows the HTTP protocol with content type in JSON.


    The messages are encoded with the UTF-8 character set which is the default
    set defined for JSON.


    **<span style="color:red">Important:</span>** In order to ensure backward
    compatibility, the connected system shall ignore properly any unused or
    unrecognized JSON field.


    The API security relies on several layers:
       - transport -> with TLS mutual authentication
       - application -> with asymmetric keys used to encrypt/decrypt JWE data structures

    As per the swagger file, the requests will be sent to the URL provided by
    Thales concatenated with '/tsh-cof/' and the operation name. 


    Example: <span
    style="color:DodgerBlue">https://thalesservername:443/path/tsh-cof/tokens</span>.
  title: Thales ETP Server API
  version: '1.78'
  x-gitbook-description-document:
    object: document
    data:
      schemaVersion: 9
    nodes:
      - object: block
        type: paragraph
        isVoid: false
        data: {}
        nodes:
          - object: text
            leaves:
              - object: leaf
                text: Copyright (c) 2018 GEMALTO. All Rights Reserved.
                marks: []
            key: fLnTRKIGJezp
        key: tM9z54ZSAuoE
      - object: block
        type: paragraph
        isVoid: false
        data: {}
        nodes:
          - object: text
            leaves:
              - object: leaf
                text: The API follows the HTTP protocol with content type in JSON.
                marks: []
            key: 1BmWQvtiHz36
        key: ZMNn1Ukvacqr
      - object: block
        type: paragraph
        isVoid: false
        data: {}
        nodes:
          - object: text
            leaves:
              - object: leaf
                text: >-
                  The messages are encoded with the UTF-8 character set which is
                  the default set defined for JSON.
                marks: []
            key: FGmgN8OXySpa
        key: DBdDsNwcOdiN
      - object: block
        type: paragraph
        isVoid: false
        data: {}
        nodes:
          - object: text
            leaves:
              - object: leaf
                text: 'Important:'
                marks:
                  - object: mark
                    type: bold
                    data: {}
              - object: leaf
                text: ' In order to ensure backward compatibility, the connected system shall ignore properly any unused or unrecognized JSON field.'
                marks: []
            key: 2qXvaZcYVK46
        key: eL5Wd6DOFvyU
      - object: block
        type: paragraph
        isVoid: false
        data: {}
        nodes:
          - object: text
            leaves:
              - object: leaf
                text: 'The API security relies on several layers:'
                marks: []
            key: aT6N6ZnB87n9
        key: NRD0nkNsj6Yb
      - object: block
        type: list-unordered
        isVoid: false
        data: {}
        nodes:
          - object: block
            type: list-item
            isVoid: false
            data: {}
            nodes:
              - object: block
                type: paragraph
                isVoid: false
                data: {}
                nodes:
                  - object: text
                    leaves:
                      - object: leaf
                        text: transport -> with TLS mutual authentication
                        marks: []
                    key: MS3recaZFEuc
                key: BiaGIB1UvjsH
            key: NcBuUEzFOJfM
          - object: block
            type: list-item
            isVoid: false
            data: {}
            nodes:
              - object: block
                type: paragraph
                isVoid: false
                data: {}
                nodes:
                  - object: text
                    leaves:
                      - object: leaf
                        text: >-
                          application -> with asymmetric keys used to
                          encrypt/decrypt JWE data structures
                        marks: []
                    key: 9fE1rxGIFhbb
                key: DNC7snpwdHGt
            key: fhJ4CGonkjiE
        key: jfhOhuXXrOb4
      - object: block
        type: paragraph
        isVoid: false
        data: {}
        nodes:
          - object: text
            leaves:
              - object: leaf
                text: >-
                  As per the swagger file, the requests will be sent to the URL
                  provided by Thales concatenated with '/tsh-cof/' and the
                  operation name.
                marks: []
            key: m96ZUtp19cNx
        key: ld7A7wLKBK2o
      - object: block
        type: paragraph
        isVoid: false
        data: {}
        nodes:
          - object: text
            leaves:
              - object: leaf
                text: 'Example: https://thalesservername:443/path/tsh-cof/tokens.'
                marks: []
            key: Q79u2OjodLwg
        key: If0GlR8Cy4MH
    key: ksWLZe05gAQl
  x-gitbook-description-html: >-
    <p>Copyright (c) 2018 GEMALTO. All Rights Reserved.</p><p>The API follows
    the HTTP protocol with content type in JSON.</p><p>The messages are encoded
    with the UTF-8 character set which is the default set defined for
    JSON.</p><p><strong>Important:</strong> In order to ensure backward
    compatibility, the connected system shall ignore properly any unused or
    unrecognized JSON field.</p><p>The API security relies on several
    layers:</p><ul><li>transport -> with TLS mutual
    authentication</li><li>application -> with asymmetric keys used to
    encrypt/decrypt JWE data structures</li></ul><p>As per the swagger file, the
    requests will be sent to the URL provided by Thales concatenated with
    '/tsh-cof/' and the operation name.</p><p>Example:
    https://thalesservername:443/path/tsh-cof/tokens.</p>
paths:
  /healthcheck:
    get:
      description: This method shall be used to check the server availability.
      operationId: healthcheck
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Healthcheck
      summary: Healthcheck
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      This method shall be used to check the server
                      availability.
                    marks: []
                key: nIdp3sLxsaZP
            key: xp8nLsaO6ebI
        key: Ztc6QT5ajwAG
      x-gitbook-description-html: <p>This method shall be used to check the server availability.</p>
  /tokens:
    post:
      description: >-
        **<span style="color:red">Important:</span>** Use this operation only
        when the end user is interacting with the merchant website or
        application and when a fast response time is important. It takes in
        average 2-3 seconds to obtain a token with this operation. For all other
        use cases, it is preferred to use the operation '**createAsyncToken**'.


        Create a network token from card details.


        ETP contacts the Scheme TSP to get the network token.
      operationId: createToken
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  tokenId:
                    $ref: '#/components/schemas/tokenId'
                  cardBin:
                    $ref: '#/components/schemas/cardBin'
                  cardLastDigits:
                    $ref: '#/components/schemas/cardLastDigits'
                  cardExpiryDate:
                    $ref: '#/components/schemas/cardExpiryDate'
                  tokenLastDigits:
                    $ref: '#/components/schemas/tokenLastDigits'
                  tokenExpiryDate:
                    $ref: '#/components/schemas/tokenExpiryDate'
                  tokenState:
                    $ref: '#/components/schemas/tokenState'
                  par:
                    $ref: '#/components/schemas/par'
                  vProvisionedTokenId:
                    $ref: '#/components/schemas/vProvisionedTokenId'
                  cardProduct:
                    $ref: '#/components/schemas/cardProduct'
                  color:
                    $ref: '#/components/schemas/color'
                  creationTimestamp:
                    $ref: '#/components/schemas/creationTimestamp'
                required:
                  - tokenId
                  - tokenState
                  - creationTimestamp
              examples:
                default:
                  value:
                    tokenId: COFTG-M-ce464906-cf39-4990-b4a8-c160e67c603a
                    cardBin: '554312'
                    cardLastDigits: '2366'
                    cardExpiryDate: '0426'
                    tokenLastDigits: '5589'
                    tokenExpiryDate: '1036'
                    tokenState: ACTIVE
                    par: 5001a9f027e5629d11e3949a0800a
                    vProvisionedTokenId: ctf-12354658979-55
                    cardProduct:
                      issuerName: Bank Name
                      cardType: DEBIT
                      scheme: MASTERCARD
                      cardDescription: The card description.
                      cardArts:
                        foregroundColor: 7FB8C8
                        backgroundColor: 7FB8C9
                        cardBackgroundImageId: 2ee5c858-a6a4-43f1-a503-ffde6c41fad9
                        issuerLogoId: 1fd8594c-5284-4aeb-bb73-6129c1d6cdb2
                        brandLogoId: 623046b7-4a8f-4550-bca8-45b38c9498a3
                        cobrandLogoId: 5548eb95-3aee-4bb8-9abf-38a7ab2c1cf3
                        completeCardImageId: 15ac4371-dcb9-4310-867e-b12338970276
                        cardIconId: 14e3044fa-949e-4900-800f-88b8fc6cc3d5
                      termsAndConditionsUrl: https://bank.com/tncs.html
                      privacyPolicyUrl: https://bank.com/privacyPolicy.html
                    color: GREEN
                    creationTimestamp: '2025-11-10T09:08:24.479Z'
          x-gitbook-description-html: <p>Created</p>
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |CRYPTO_ERROR|The server could not decrypt the data sent
                      in the request.|

                      |UNKNOWN_CARD|The server is not able to identify the card
                      scheme and so the associated TSP.|

                      |TSP_NON_RETRYABLE_ERROR|Non retryable errors returned by
                      the TSP.|

                      |INVALID_PAN_DATA|The PAN data is invalid.|

                      |VISA_VCES_INVALID_EXP_DATE|Card exp date is not present
                      or is expired and Visa VCES is not activated.|

                      |PAN_NOT_ELIGIBLE|The Issuer considers the PAN as not
                      eligible for tokenization.|

                      |UNKNOWN_MERCHANT|The merchantId is probably wrong.|

                      |ISSUER_DECLINED|The Issuer declined the tokenization.|

                      |SCHEME_TECHNICAL_ERROR|Technical error returned by TSP.|


                      -----------------
                    examples:
                      - CRYPTO_ERROR
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>














































                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>CRYPTO_ERROR</td><td>The
                      server could not decrypt the data sent in the
                      request.</td></tr><tr><td>UNKNOWN_CARD</td><td>The server
                      is not able to identify the card scheme and so the
                      associated
                      TSP.</td></tr><tr><td>TSP_NON_RETRYABLE_ERROR</td><td>Non
                      retryable errors returned by the
                      TSP.</td></tr><tr><td>INVALID_PAN_DATA</td><td>The PAN
                      data is
                      invalid.</td></tr><tr><td>VISA_VCES_INVALID_EXP_DATE</td><td>Card
                      exp date is not present or is expired and Visa VCES is not
                      activated.</td></tr><tr><td>PAN_NOT_ELIGIBLE</td><td>The
                      Issuer considers the PAN as not eligible for
                      tokenization.</td></tr><tr><td>UNKNOWN_MERCHANT</td><td>The
                      merchantId is probably
                      wrong.</td></tr><tr><td>ISSUER_DECLINED</td><td>The Issuer
                      declined the
                      tokenization.</td></tr><tr><td>SCHEME_TECHNICAL_ERROR</td><td>Technical
                      error returned by TSP.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: CRYPTO_ERROR
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          $ref: '#/components/responses/401'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Token Management
      summary: Create Token
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - merchantId
                - encryptedData
                - source
                - language
                - country
              properties:
                merchantId:
                  $ref: '#/components/schemas/merchantId'
                encryptedData:
                  $ref: '#/components/schemas/encryptedUserInfoSync'
                source:
                  $ref: '#/components/schemas/sourceSync'
                risk:
                  $ref: '#/components/schemas/risk'
                language:
                  $ref: '#/components/schemas/language'
                country:
                  $ref: '#/components/schemas/country'
                device:
                  $ref: '#/components/schemas/device'
            examples:
              default:
                value:
                  merchantId: 75bfc5f5-13c3-4797-b617-bfa039ceb60f
                  encryptedData: >-
                    eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ...XFBoMYUZodetZdvTiFvSkQ
                  source: MANUAL
                  language: en
                  country: US
                  risk:
                    accountScore: 4
                  device:
                    ipAddress: 172.16.254
                    location: 47.0880,2.3635
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: 'Important:'
                    marks:
                      - object: mark
                        type: bold
                        data: {}
                  - object: leaf
                    text: ' Use this operation only when the end user is interacting with the merchant website or application and when a fast response time is important. It takes in average 2-3 seconds to obtain a token with this operation. For all other use cases, it is preferred to use the operation '''
                    marks: []
                  - object: leaf
                    text: createAsyncToken
                    marks:
                      - object: mark
                        type: bold
                        data: {}
                  - object: leaf
                    text: '''.'
                    marks: []
                key: ebHUyFHEPsfS
            key: wxFjatKcCe2a
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Create a network token from card details.
                    marks: []
                key: cQL2oE4Z1xJD
            key: Zh9sUxeFE3eK
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: ETP contacts the Scheme TSP to get the network token.
                    marks: []
                key: lBHTKXU2SoYQ
            key: t5FtLNFx4VUq
        key: 3m7g1wBN764N
      x-gitbook-description-html: >-
        <p><strong>Important:</strong> Use this operation only when the end user
        is interacting with the merchant website or application and when a fast
        response time is important. It takes in average 2-3 seconds to obtain a
        token with this operation. For all other use cases, it is preferred to
        use the operation '<strong>createAsyncToken</strong>'.</p><p>Create a
        network token from card details.</p><p>ETP contacts the Scheme TSP to
        get the network token.</p>
  /async-tokens:
    post:
      description: >
        Create a network token from card details. 


        ETP contacts the Scheme TSP to get the network token.


        The process is asynchronous. It takes few seconds to get the callback
        except for VISA where it takes from 10 minutes to several hours.


        A notification 'notifyTokenCreation' is sent to the Merchant/PSP to
        complete the token creation process.


        The notification shares the same 'x-correlation-id' as in the create
        token request.
      operationId: createAsyncToken
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |CRYPTO_ERROR|The server could not decrypt the data sent
                      in the request.|

                      |UNKNOWN_CARD|The server is not able to identify the card
                      scheme and so the associated TSP.|

                      |VISA_VCES_INVALID_EXP_DATE|Card exp date is not present
                      or is expired and Visa VCES is not activated.|

                      |UNKNOWN_MERCHANT|The merchantId is probably wrong.|


                      -----------------
                    examples:
                      - CRYPTO_ERROR
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>


























                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>CRYPTO_ERROR</td><td>The
                      server could not decrypt the data sent in the
                      request.</td></tr><tr><td>UNKNOWN_CARD</td><td>The server
                      is not able to identify the card scheme and so the
                      associated
                      TSP.</td></tr><tr><td>VISA_VCES_INVALID_EXP_DATE</td><td>Card
                      exp date is not present or is expired and Visa VCES is not
                      activated.</td></tr><tr><td>UNKNOWN_MERCHANT</td><td>The
                      merchantId is probably wrong.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: CRYPTO_ERROR
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          $ref: '#/components/responses/401'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Token Management
      summary: Create Async Token
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - merchantId
                - encryptedData
                - source
                - language
                - country
              properties:
                merchantId:
                  $ref: '#/components/schemas/merchantId'
                encryptedData:
                  $ref: '#/components/schemas/encryptedUserInfoAsync'
                source:
                  $ref: '#/components/schemas/sourceAsync'
                risk:
                  $ref: '#/components/schemas/risk'
                language:
                  $ref: '#/components/schemas/language'
                country:
                  $ref: '#/components/schemas/country'
                device:
                  $ref: '#/components/schemas/device'
            examples:
              default:
                value:
                  merchantId: 75bfc5f5-13c3-4797-b617-bfa039ceb60f
                  encryptedData: >-
                    eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ...XFBoMYUZodetZdvTiFvSkQ
                  source: MANUAL
                  language: en
                  country: US
                  risk:
                    accountScore: 4
                  device:
                    ipAddress: 172.16.254
                    location: 47.0880,2.3635
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Create a network token from card details.
                    marks: []
                key: 8dkm5IJFcgab
            key: FXCOiB31RMiK
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: ETP contacts the Scheme TSP to get the network token.
                    marks: []
                key: vQdewzcg64C0
            key: hSM1n6Q9CIIy
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      The process is asynchronous. It takes few seconds to get
                      the callback except for VISA where it takes from 10
                      minutes to several hours.
                    marks: []
                key: J8WynjA6iQSI
            key: pPKfT4Jo5scd
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      A notification 'notifyTokenCreation' is sent to the
                      Merchant/PSP to complete the token creation process.
                    marks: []
                key: llcXMcjx5RHi
            key: neQXZulwIPhY
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      The notification shares the same 'x-correlation-id' as in
                      the create token request.
                    marks: []
                key: u2ys1ImYOEQ1
            key: QeIOkok7vDla
        key: cwhjD67GZMVD
      x-gitbook-description-html: >-
        <p>Create a network token from card details.</p><p>ETP contacts the
        Scheme TSP to get the network token.</p><p>The process is asynchronous.
        It takes few seconds to get the callback except for VISA where it takes
        from 10 minutes to several hours.</p><p>A notification
        'notifyTokenCreation' is sent to the Merchant/PSP to complete the token
        creation process.</p><p>The notification shares the same
        'x-correlation-id' as in the create token request.</p>
  /pci-tokens:
    post:
      description: >-
        Create a PCI token from card details.


        The Scheme TSP is not involved in the creation of the token.


        ETP stores securely the card details and returns a token identifier to
        the Merchant/PSP.


        In case of successful response, the Merchant/PSP can directly request
        for a transaction. No notification is sent (contrary to network tokens).
      operationId: createPciToken
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                  - tokenId
                  - cardLastDigits
                  - cardExpiryDate
                  - tokenState
                  - creationTimestamp
                properties:
                  tokenId:
                    $ref: '#/components/schemas/tokenId'
                  cardLastDigits:
                    $ref: '#/components/schemas/cardLastDigits'
                  cardExpiryDate:
                    $ref: '#/components/schemas/cardExpiryDate'
                  tokenState:
                    $ref: '#/components/schemas/tokenState'
                  cardProduct:
                    type: object
                    description: Information about the card product.
                    required:
                      - scheme
                    properties:
                      scheme:
                        $ref: '#/components/schemas/scheme'
                    x-gitbook-description-html: <p>Information about the card product.</p>
                  creationTimestamp:
                    $ref: '#/components/schemas/creationTimestamp'
              examples:
                default:
                  value:
                    tokenId: COFTG-G-75b0cc63-01bc-4b23-8fd6-26434a052098
                    cardLastDigits: '2366'
                    cardExpiryDate: '0426'
                    tokenState: ACTIVE
                    creationTimestamp: '2025-11-10T09:08:24.479Z'
                    cardProduct:
                      scheme: MASTERCARD
          x-gitbook-description-html: <p>Created</p>
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |CRYPTO_ERROR|The server could not decrypt the data sent
                      in the request.|

                      |UNKNOWN_MERCHANT|The merchantId is probably wrong.|


                      -----------------
                    examples:
                      - CRYPTO_ERROR
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>


















                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>CRYPTO_ERROR</td><td>The
                      server could not decrypt the data sent in the
                      request.</td></tr><tr><td>UNKNOWN_MERCHANT</td><td>The
                      merchantId is probably wrong.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: CRYPTO_ERROR
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          $ref: '#/components/responses/401'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Token Management
      summary: Create PCI Token
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - merchantId
                - encryptedData
              properties:
                merchantId:
                  $ref: '#/components/schemas/merchantId'
                encryptedData:
                  $ref: '#/components/schemas/encryptedUserInfoPci'
            examples:
              default:
                value:
                  merchantId: 75bfc5f5-13c3-4797-b617-bfa039ceb60f
                  encryptedData: >-
                    eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ...XFBoMYUZodetZdvTiFvSkQ
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Create a PCI token from card details.
                    marks: []
                key: omt5kWjURCMF
            key: uHROiuCe995y
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      The Scheme TSP is not involved in the creation of the
                      token.
                    marks: []
                key: dgDbtCx0GyXq
            key: udXyxlCYOq6Y
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      ETP stores securely the card details and returns a token
                      identifier to the Merchant/PSP.
                    marks: []
                key: IchXICGb2DQx
            key: T4fYK1cWO5cc
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      In case of successful response, the Merchant/PSP can
                      directly request for a transaction. No notification is
                      sent (contrary to network tokens).
                    marks: []
                key: IFA9Spxkw8cX
            key: AYsJY4NX5H8V
        key: zwXYwmyCCZxj
      x-gitbook-description-html: >-
        <p>Create a PCI token from card details.</p><p>The Scheme TSP is not
        involved in the creation of the token.</p><p>ETP stores securely the
        card details and returns a token identifier to the
        Merchant/PSP.</p><p>In case of successful response, the Merchant/PSP can
        directly request for a transaction. No notification is sent (contrary to
        network tokens).</p>
  /push-tokens:
    post:
      description: >-
        Create a network token from information provided by the Issuer to the
        Merchant application in a push provisioning use case (Visa and
        Mastercard only).
      operationId: createPushToken
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  tokenId:
                    $ref: '#/components/schemas/tokenId'
                  cardLastDigits:
                    $ref: '#/components/schemas/cardLastDigits'
                  cardExpiryDate:
                    $ref: '#/components/schemas/cardExpiryDate'
                  tokenLastDigits:
                    $ref: '#/components/schemas/tokenLastDigits'
                  tokenExpiryDate:
                    $ref: '#/components/schemas/tokenExpiryDate'
                  tokenState:
                    $ref: '#/components/schemas/tokenState'
                  par:
                    $ref: '#/components/schemas/par'
                  cardProduct:
                    $ref: '#/components/schemas/cardProductPush'
                  encryptedData:
                    $ref: '#/components/schemas/encryptedIssuerInfoPushProvisioning'
                  returnUriType:
                    $ref: '#/components/schemas/returnUriType'
                  returnUri:
                    $ref: '#/components/schemas/returnUri'
                  creationTimestamp:
                    $ref: '#/components/schemas/creationTimestamp'
                required:
                  - tokenId
                  - tokenState
                  - creationTimestamp
              examples:
                default:
                  value:
                    tokenId: COFTG-M-caa5f86b-787e-4698-971c-dc217d6dbcf5
                    cardLastDigits: '2366'
                    cardExpiryDate: '0426'
                    tokenLastDigits: '5589'
                    tokenExpiryDate: '1036'
                    tokenState: PENDING
                    par: 5001a9f027e5629d11e3949a0800a
                    cardProduct:
                      cardType: DEBIT
                      scheme: MASTERCARD
                      issuerName: Bank Name
                      cardDescription: The card description.
                      cardArts:
                        foregroundColor: 7FB8C8
                        backgroundColor: 7FB8C9
                        cardBackgroundImageId: 2ee5c858-a6a4-43f1-a503-ffde6c41fad9
                        issuerLogoId: 1fd8594c-5284-4aeb-bb73-6129c1d6cdb2
                        brandLogoId: 623046b7-4a8f-4550-bca8-45b38c9498a3
                        cobrandLogoId: 5548eb95-3aee-4bb8-9abf-38a7ab2c1cf3
                        completeCardImageId: 15ac4371-dcb9-4310-867e-b12338970276
                        cardIconId: 14e3044fa-949e-4900-800f-88b8fc6cc3d5
                      termsAndConditionsUrl: https://bank.com/tncs.html
                      privacyPolicyUrl: https://bank.com/privacyPolicy.html
                    encryptedData: >-
                      eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ...XFBoMYUZodetZdvTiFvSkQ
                    creationTimestamp: '2025-11-10T09:08:24.479Z'
          x-gitbook-description-html: <p>Created</p>
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |CRYPTO_ERROR|The server could not decrypt the data sent
                      in the request.|

                      |INVALID_PAN_DATA|The PAN data is invalid.|

                      |PAN_NOT_ELIGIBLE|The Issuer considers the PAN as not
                      eligible for tokenization.|

                      |UNKNOWN_MERCHANT|The merchantId is probably wrong.|

                      |ISSUER_DECLINED|The Issuer declined the tokenization.|


                      -----------------
                    examples:
                      - CRYPTO_ERROR
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>






























                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>CRYPTO_ERROR</td><td>The
                      server could not decrypt the data sent in the
                      request.</td></tr><tr><td>INVALID_PAN_DATA</td><td>The PAN
                      data is
                      invalid.</td></tr><tr><td>PAN_NOT_ELIGIBLE</td><td>The
                      Issuer considers the PAN as not eligible for
                      tokenization.</td></tr><tr><td>UNKNOWN_MERCHANT</td><td>The
                      merchantId is probably
                      wrong.</td></tr><tr><td>ISSUER_DECLINED</td><td>The Issuer
                      declined the tokenization.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: CRYPTO_ERROR
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          $ref: '#/components/responses/401'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Token Management
      summary: Create Push Token
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - merchantId
                - pushProvisioningPayload
                - scheme
                - language
                - country
                - device
              properties:
                merchantId:
                  $ref: '#/components/schemas/merchantId'
                pushProvisioningPayload:
                  $ref: '#/components/schemas/pushProvisioningPayload'
                scheme:
                  $ref: '#/components/schemas/schemePushProvisioning'
                encryptedData:
                  $ref: '#/components/schemas/encryptedMerchantInfoPushProvisioning'
                risk:
                  $ref: '#/components/schemas/risk'
                language:
                  $ref: '#/components/schemas/language'
                country:
                  $ref: '#/components/schemas/country'
                device:
                  $ref: '#/components/schemas/devicePushProvisioning'
            examples:
              default:
                value:
                  merchantId: 75bfc5f5-13c3-4797-b617-bfa039ceb60f
                  pushProvisioningPayload: >-
                    eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ...XFBoMYUZodetZdvTiFvSkQ
                  scheme: MASTERCARD
                  language: en
                  country: US
                  device:
                    ipAddress: 172.16.254
                    location: 47.0880,2.3635
                  encryptedData: >-
                    eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ...XFBoMYUZodetZdvTiFvSkQ
                  risk:
                    accountScore: 5
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Create a network token from information provided by the
                      Issuer to the Merchant application in a push provisioning
                      use case (Visa and Mastercard only).
                    marks: []
                key: EmstK0pf5Omb
            key: UzaKtlwUaNJ2
        key: 1g4LPQOf8CZ9
      x-gitbook-description-html: >-
        <p>Create a network token from information provided by the Issuer to the
        Merchant application in a push provisioning use case (Visa and
        Mastercard only).</p>
  /tokens/{tokenId}:
    delete:
      description: Delete a token.
      operationId: eraseToken
      parameters:
        - $ref: '#/components/parameters/tokenId'
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Token Management
      summary: Delete Token
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Delete a token.
                    marks: []
                key: gu01MImFtwjV
            key: FUqfHpZUYuSj
        key: kAV7gYw8sx55
      x-gitbook-description-html: <p>Delete a token.</p>
    get:
      description: >
        Retrieve information about a token.


        For EMV Tokens, the information provided depends on what the Issuer has
        declared in the Scheme TSP.


        For PCI Tokens, only "basic" information related to the card is
        provided:

        <li>Card last digits.

        <li>Card expiry date.

        <li>Card Scheme if recognized.
      operationId: getToken
      parameters:
        - $ref: '#/components/parameters/tokenId'
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - tokenState
                  - creationTimestamp
                properties:
                  merchantId:
                    $ref: '#/components/schemas/merchantId'
                  cardBin:
                    $ref: '#/components/schemas/cardBin'
                  cardLastDigits:
                    $ref: '#/components/schemas/cardLastDigits'
                  cardExpiryDate:
                    $ref: '#/components/schemas/cardExpiryDate'
                  tokenState:
                    $ref: '#/components/schemas/tokenState'
                  tokenLastDigits:
                    $ref: '#/components/schemas/tokenLastDigits'
                  tokenExpiryDate:
                    $ref: '#/components/schemas/tokenExpiryDate'
                  par:
                    $ref: '#/components/schemas/par'
                  vProvisionedTokenId:
                    $ref: '#/components/schemas/vProvisionedTokenId'
                  deviceBindings:
                    $ref: '#/components/schemas/deviceBindings'
                  cardProduct:
                    $ref: '#/components/schemas/cardProduct'
                  creationTimestamp:
                    $ref: '#/components/schemas/creationTimestamp'
                  lastUpdateTimestamp:
                    $ref: '#/components/schemas/lastUpdateTimestamp'
              examples:
                default:
                  value:
                    tokenState: ACTIVE
                    creationTimestamp: '2025-11-10T09:08:24.479Z'
                    merchantId: 30088894-9c92-41fb-83b0-46a514c9f3c0
                    cardBin: '554312'
                    cardLastDigits: '2366'
                    cardExpiryDate: '0426'
                    tokenLastDigits: '5589'
                    tokenExpiryDate: '1036'
                    par: 5001a9f027e5629d11e3949a0800a
                    vProvisionedTokenId: ctf-12354658979-55
                    cardProduct:
                      cardType: DEBIT
                      scheme: MASTERCARD
                      issuerName: Bank Name
                      cardDescription: The card description.
                      cardArts:
                        foregroundColor: 7FB8C8
                        backgroundColor: 7FB8C9
                        cardBackgroundImageId: 2ee5c858-a6a4-43f1-a503-ffde6c41fad9
                        issuerLogoId: 1fd8594c-5284-4aeb-bb73-6129c1d6cdb2
                        brandLogoId: 623046b7-4a8f-4550-bca8-45b38c9498a3
                        cobrandLogoId: 5548eb95-3aee-4bb8-9abf-38a7ab2c1cf3
                        completeCardImageId: 15ac4371-dcb9-4310-867e-b12338970276
                        cardIconId: 14e3044fa-949e-4900-800f-88b8fc6cc3d5
                      termsAndConditionsUrl: https://bank.com/tncs.html
                      privacyPolicyUrl: https://bank.com/privacyPolicy.html
                    lastUpdateTimestamp: '2025-11-13T09:09:52.254Z'
          x-gitbook-description-html: <p>OK</p>
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Token Management
      summary: Get Token
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Retrieve information about a token.
                    marks: []
                key: Y7RHDw6Ii22X
            key: J55pfnYdYAlz
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      For EMV Tokens, the information provided depends on what
                      the Issuer has declared in the Scheme TSP.
                    marks: []
                key: SNwDXqrQJejl
            key: 47IIDD5GfLI2
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      For PCI Tokens, only "basic" information related to the
                      card is provided:
                    marks: []
                key: kzm2Iga1NVIr
            key: la9eyG0Eduaq
          - object: block
            type: list-unordered
            isVoid: false
            data: {}
            nodes:
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: Card last digits.
                            marks: []
                        key: qrpqPfmPPAf1
                    key: W1JC58KTiaQO
                key: OZjBYMEKMGYG
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: Card expiry date.
                            marks: []
                        key: AAxVoMpP2mDU
                    key: kPPs3AlYZF7U
                key: vyA39vTrJEA1
              - object: block
                type: list-item
                isVoid: false
                data: {}
                nodes:
                  - object: block
                    type: paragraph
                    isVoid: false
                    data: {}
                    nodes:
                      - object: text
                        leaves:
                          - object: leaf
                            text: Card Scheme if recognized.
                            marks: []
                        key: dK9kFLODKUhD
                    key: 6OXuNFPAhZsq
                key: IpGenXwOVO2i
            key: DPW1QtdCpS6X
        key: sSGfLxNxO26g
      x-gitbook-description-html: >-
        <p>Retrieve information about a token.</p><p>For EMV Tokens, the
        information provided depends on what the Issuer has declared in the
        Scheme TSP.</p><p>For PCI Tokens, only "basic" information related to
        the card is provided:</p><ul><li>Card last digits.</li><li>Card expiry
        date.</li><li>Card Scheme if recognized.</li></ul>
  /tokens/migration/{oldTokenId}:
    post:
      description: |-
        Migrate mastercard M4M tokens to Secure Card on File

        ETP contacts the Scheme TSP to migrate the network token.
      operationId: migrateMdesToken
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
        - $ref: '#/components/parameters/oldTokenId'
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - newTokenId
                  - tokenState
                  - creationTimestamp
                properties:
                  newTokenId:
                    $ref: '#/components/schemas/tokenId'
                  cardLastDigits:
                    $ref: '#/components/schemas/cardLastDigits'
                  cardExpiryDate:
                    $ref: '#/components/schemas/cardExpiryDate'
                  tokenState:
                    $ref: '#/components/schemas/migratedTokenState'
                  tokenLastDigits:
                    $ref: '#/components/schemas/tokenLastDigits'
                  tokenExpiryDate:
                    $ref: '#/components/schemas/tokenExpiryDate'
                  par:
                    $ref: '#/components/schemas/par'
                  cardProduct:
                    $ref: '#/components/schemas/cardProductMigration'
                  creationTimestamp:
                    $ref: '#/components/schemas/creationTimestamp'
              examples:
                default:
                  value:
                    newTokenId: COFTG-MS-ce464906-cf39-4990-b4a8-c160e67c603a
                    cardLastDigits: '2366'
                    cardExpiryDate: '0426'
                    tokenLastDigits: '5589'
                    tokenExpiryDate: '1036'
                    tokenState: ACTIVE
                    par: 5001a9f027e5629d11e3949a0800a
                    cardProduct:
                      issuerName: Bank Name
                      cardType: DEBIT
                      cardDescription: The card description.
                      cardArts:
                        foregroundColor: 7FB8C8
                        cardImageUrl: >-
                          https://stage.assets.mc.com/card-art/combined-image-asset/MyBank-mastercard.png
                    creationTimestamp: '2025-11-10T09:08:24.479Z'
          x-gitbook-description-html: <p>OK</p>
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |INVALID_TOKEN_STATE|The current token state doesn't allow
                      the operation.|

                      |OPERATION_NOT_ALLOWED|Operation not allowed.|

                      |TSP_NON_RETRYABLE_ERROR|Non retryable errors returned by
                      the TSP.|

                      |TOKEN_NOT_ELIGIBLE|Token not eligible for migration.|

                      |SCHEME_TECHNICAL_ERROR|Technical error returned by TSP.|


                      -----------------
                    examples:
                      - INVALID_TOKEN_STATE
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>






























                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>INVALID_TOKEN_STATE</td><td>The
                      current token state doesn't allow the
                      operation.</td></tr><tr><td>OPERATION_NOT_ALLOWED</td><td>Operation
                      not
                      allowed.</td></tr><tr><td>TSP_NON_RETRYABLE_ERROR</td><td>Non
                      retryable errors returned by the
                      TSP.</td></tr><tr><td>TOKEN_NOT_ELIGIBLE</td><td>Token not
                      eligible for
                      migration.</td></tr><tr><td>SCHEME_TECHNICAL_ERROR</td><td>Technical
                      error returned by TSP.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: INVALID_TOKEN_STATE
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Token Migration
      summary: Migrate Mastercard tokens
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Migrate mastercard M4M tokens to Secure Card on File
                    marks: []
                key: tQzRuiOv03rB
            key: vtU5PToSHYgt
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: ETP contacts the Scheme TSP to migrate the network token.
                    marks: []
                key: uZvZuU7OaFCD
            key: H67dL15KGjHH
        key: 5AP9rmLztyWG
      x-gitbook-description-html: >-
        <p>Migrate mastercard M4M tokens to Secure Card on File</p><p>ETP
        contacts the Scheme TSP to migrate the network token.</p>
  /device-bindings/{tokenId}/{deviceId}:
    delete:
      description: Delete the binding between a device and a token.
      operationId: deleteDeviceBinding
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
        - $ref: '#/components/parameters/mcCertifiedSolutionId'
        - $ref: '#/components/parameters/tokenId'
        - $ref: '#/components/parameters/credentialId'
        - $ref: '#/components/parameters/deviceId'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Device Binding
      summary: Delete Device Binding
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Delete the binding between a device and a token.
                    marks: []
                key: PJ5sYunaJiG6
            key: pwm8JT7OqO4r
        key: k3rMIm7o4HhX
      x-gitbook-description-html: <p>Delete the binding between a device and a token.</p>
  /transactions:
    post:
      description: >-
        Provide all required data to the Merchant/PSP to build a transaction
        authorization request.


        In case of network token, the token PAN, expiry date and cryptogram are
        provided.


        In case of PCI token, the card PAN and expiry date are provided.
      operationId: createTransaction
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                  - transactionId
                  - encryptedData
                properties:
                  transactionId:
                    $ref: '#/components/schemas/transactionId'
                  encryptedData:
                    $ref: '#/components/schemas/encryptedPaymentCredentials'
                  eci:
                    $ref: '#/components/schemas/eci'
                  cryptogramExpiryDate:
                    $ref: '#/components/schemas/cryptogramExpiryDate'
                  isDAF:
                    $ref: '#/components/schemas/isDAF'
              examples:
                default:
                  value:
                    transactionId: COFTG-G-e141-0303e55b-5e14-4af4-9601-b268d3dfbb65
                    encryptedData: eyJhbGciOiJSU0EtT...GoWAB7Ucw
                    eci: '07'
                    cryptogramExpiryDate: '2021-09-27T17:06:09.000Z'
          x-gitbook-description-html: <p>Created</p>
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |INVALID_TOKEN_STATE|The current token state doesn't allow
                      the operation.|

                      |INVALID_SIGNATURE|The 'visaSignedPayload' can't be
                      verified by Visa.|

                      |TSP_NON_RETRYABLE_ERROR|Non retryable errors returned by
                      the TSP.|

                      |PAN_NOT_ELIGIBLE|The Issuer considers the PAN as not
                      eligible for the operation.|

                      |SCHEME_TECHNICAL_ERROR|Technical error returned by TSP.|


                      -----------------
                    examples:
                      - INVALID_TOKEN_STATE
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>






























                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>INVALID_TOKEN_STATE</td><td>The
                      current token state doesn't allow the
                      operation.</td></tr><tr><td>INVALID_SIGNATURE</td><td>The
                      'visaSignedPayload' can't be verified by
                      Visa.</td></tr><tr><td>TSP_NON_RETRYABLE_ERROR</td><td>Non
                      retryable errors returned by the
                      TSP.</td></tr><tr><td>PAN_NOT_ELIGIBLE</td><td>The Issuer
                      considers the PAN as not eligible for the
                      operation.</td></tr><tr><td>SCHEME_TECHNICAL_ERROR</td><td>Technical
                      error returned by TSP.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: INVALID_TOKEN_STATE
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Transaction Management
      summary: Create Transaction
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - tokenId
                - transactionType
              properties:
                tokenId:
                  $ref: '#/components/schemas/tokenId'
                transactionType:
                  $ref: '#/components/schemas/transactionType'
                authentication:
                  $ref: '#/components/schemas/authenticationTransaction'
                visaSignedPayload:
                  $ref: '#/components/schemas/visaSignedPayload'
                transactionData:
                  $ref: '#/components/schemas/transactionData'
                device:
                  $ref: '#/components/schemas/deviceTransaction'
                cardholder:
                  $ref: '#/components/schemas/cardholderTransaction'
            examples:
              default:
                value:
                  tokenId: COFTG-M-ce464906-cf39-4990-b4a8-c160e67c603a
                  transactionType: SINGLE
                  transactionData:
                    amount: '12.84'
                    currencyCode: EUR
        description: ''
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Provide all required data to the Merchant/PSP to build a
                      transaction authorization request.
                    marks: []
                key: PR8VP5MxQIml
            key: sjFwbZYtWj6p
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      In case of network token, the token PAN, expiry date and
                      cryptogram are provided.
                    marks: []
                key: 1T5sSzRFFvs7
            key: silfcLSne0Is
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      In case of PCI token, the card PAN and expiry date are
                      provided.
                    marks: []
                key: KD72501ScN6b
            key: Plr2vmANJVhF
        key: WDC1JUGIGkoy
      x-gitbook-description-html: >-
        <p>Provide all required data to the Merchant/PSP to build a transaction
        authorization request.</p><p>In case of network token, the token PAN,
        expiry date and cryptogram are provided.</p><p>In case of PCI token, the
        card PAN and expiry date are provided.</p>
  /v2/transactions:
    post:
      description: >-
        Provide all required data to the Merchant/PSP to build a transaction
        authorisation request.
      operationId: createTransactionV2
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                  - transactionId
                  - encryptedData
                properties:
                  transactionId:
                    $ref: '#/components/schemas/transactionId'
                  encryptedData:
                    $ref: '#/components/schemas/encryptedPaymentCredentials'
                  eci:
                    $ref: '#/components/schemas/eci'
                  cryptogramExpiryDate:
                    $ref: '#/components/schemas/cryptogramExpiryDate'
                  isDAF:
                    $ref: '#/components/schemas/isDAF'
              examples:
                default:
                  value:
                    transactionId: COFTG-G-e141-0303e55b-5e14-4af4-9601-b268d3dfbb65
                    encryptedData: eyJhbGciOiJSU0EtT...GoWAB7Ucw
                    eci: '07'
                    cryptogramExpiryDate: '2021-09-27T17:06:09.000Z'
          x-gitbook-description-html: <p>Created</p>
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      |Error Code|Description|

                      |-------|-------|

                      |INVALID_TOKEN_STATE|The current token state doesn't allow
                      the operation.|

                      |INVALID_SIGNATURE|A signature (visaSignedPayload, FIDO,
                      IAAV, THALES_AUTHENTICATOR, etc.) can't be verified by the
                      scheme or has expired.|

                      |TSP_NON_RETRYABLE_ERROR|Non retryable errors returned by
                      the TSP.|

                      |PAN_NOT_ELIGIBLE|The Issuer considers the PAN as not
                      eligible for the operation.|

                      |TOKEN_NOT_BOUND|Token is not bound to the specified
                      device or authenticator.|

                      |WRONG_ASSERTION|Verification of assertion data was
                      unsuccessful.|

                      |SCHEME_TECHNICAL_ERROR|Technical error returned by TSP.|


                      -----------------
                    examples:
                      - INVALID_TOKEN_STATE
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>






































                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>INVALID_TOKEN_STATE</td><td>The
                      current token state doesn't allow the
                      operation.</td></tr><tr><td>INVALID_SIGNATURE</td><td>A
                      signature (visaSignedPayload, FIDO, IAAV,
                      THALES_AUTHENTICATOR, etc.) can't be verified by the
                      scheme or has
                      expired.</td></tr><tr><td>TSP_NON_RETRYABLE_ERROR</td><td>Non
                      retryable errors returned by the
                      TSP.</td></tr><tr><td>PAN_NOT_ELIGIBLE</td><td>The Issuer
                      considers the PAN as not eligible for the
                      operation.</td></tr><tr><td>TOKEN_NOT_BOUND</td><td>Token
                      is not bound to the specified device or
                      authenticator.</td></tr><tr><td>WRONG_ASSERTION</td><td>Verification
                      of assertion data was
                      unsuccessful.</td></tr><tr><td>SCHEME_TECHNICAL_ERROR</td><td>Technical
                      error returned by TSP.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: INVALID_TOKEN_STATE
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Transaction Management
      summary: Create Transaction v2
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - tokenId
                - transactionType
              properties:
                tokenId:
                  $ref: '#/components/schemas/tokenId'
                transactionType:
                  $ref: '#/components/schemas/transactionTypeV2'
                EMV_TOKEN:
                  $ref: '#/components/schemas/EMV_TOKEN'
                VISA_DAF:
                  $ref: '#/components/schemas/VISA_DAF'
                MASTERCARD_TAF_FIDO:
                  $ref: '#/components/schemas/MASTERCARD_TAF_FIDO'
                MASTERCARD_TAF_IAAV:
                  $ref: '#/components/schemas/MASTERCARD_TAF_IAAV'
                MASTERCARD_THALES_AUTHENTICATOR:
                  $ref: '#/components/schemas/MASTERCARD_THALES_AUTHENTICATOR'
            examples:
              EMV Token Transaction:
                value:
                  tokenId: COFTG-M-ce464906-cf39-4990-b4a8-c160e67c603a
                  transactionType: EMV_TOKEN
                  EMV_TOKEN:
                    isRecurring: false
                    amount: '15.55'
                    currencyCode: EUR
              Visa DAF:
                value:
                  tokenId: string
                  transactionType: VISA_DAF
                  VISA_DAF:
                    firstFactor: LOGIN_PASSWORD
                    secondFactor: VISA_CTF_BINDING
                    visaSignedPayload: string
                    amount: '15.55'
                    currencyCode: EUR
                    ipAddress: 172.16.254.1
                    location: 47.0880,2.3635
                    email: jsmith@emailprovider.com
                    billingAddress:
                      line1: string
                      line2: string
                      city: San Francisco
                      postalCode: '10016'
                      country: US
              Mastercard TAF FIDO:
                value:
                  tokenId: string
                  transactionType: MASTERCARD_TAF_FIDO
                  MASTERCARD_TAF_FIDO:
                    amount: '15.55'
                    currencyCode: EUR
                    deviceId: '1234567890'
                    ipAddress: 172.16.254.1
                    location: 47.0880,2.3635
                    mcCertifiedSolutionId: 43SA5
                    credentialId: bf8c5b2b-28ce-48d8-acbc-cc82f51478c6
                    fidoRelyingParty: relyingparty.com
                    fidoUserId: ca7ac6fe-1eec-11ed-861d-0242ac120002
                    isSpcEnabled: false
                    fidoAuthenticationResponse:
                      type: public-key
                      id: h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE
                      rawId: h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE
                      authenticatorAttachment: platform
                      response:
                        clientDataJSON: Base64-encoded-string
                        authenticatorData: Base64-encoded-string
                        publicKeyAlgorithm: 2
                        attestationObject: Base64-encoded-string
                        signature: Base64-encoded-string
                        userHandle: ca7ac6fe-1eec-11ed-861d-0242ac120002
                    mcTransactionAssertion: Mastercard assertionJWT
                    email: jsmith@emailprovider.com
                    billingAddress:
                      line1: string
                      line2: string
                      city: San Francisco
                      postalCode: '10016'
                      country: US
                    shippingAddress:
                      line1: string
                      line2: string
                      city: San Francisco
                      postalCode: '10016'
                      country: US
                    merchantCategoryCode: '1234'
                    merchantCountry: US
              Mastercard TAF IAAV:
                value:
                  tokenId: string
                  transactionType: MASTERCARD_TAF_IAAV
                  MASTERCARD_TAF_IAAV:
                    amount: '15.55'
                    currencyCode: EUR
                    ipAddress: 172.16.254.1
                    location: 47.0880,2.3635
                    mcIaav: Assurance additional data Base64-encoded-string
                    verificationTimestamp: '''2025-07-01T10:25:11.142Z'
                    email: jsmith@emailprovider.com
                    billingAddress:
                      line1: string
                      line2: string
                      city: San Francisco
                      postalCode: '10016'
                      country: US
                      subdivision: NY
                    shippingAddress:
                      line1: string
                      line2: string
                      city: San Francisco
                      postalCode: '10016'
                      country: US
                      subdivision: NY
                    merchantCategoryCode: '1234'
                    merchantCountry: US
              Mastercard THALES AUTHENTICATOR:
                value:
                  tokenId: string
                  transactionType: MASTERCARD_THALES_AUTHENTICATOR
                  MASTERCARD_THALES_AUTHENTICATOR:
                    amount: '15.55'
                    currencyCode: EUR
                    ipAddress: 172.16.254.1
                    location: 47.0880,2.3635
                    deviceId: '1234567890'
                    tafAssertionPayload: Base64-encoded-string
                    email: jsmith2@emailprovider.com
                    billingAddress:
                      line1: string
                      line2: string
                      city: San Francisco
                      postalCode: '10016'
                      country: US
                      subdivision: NY
                    shippingAddress:
                      line1: string
                      line2: string
                      city: San Francisco
                      postalCode: '10016'
                      country: US
                      subdivision: NY
                    merchantCategoryCode: '1234'
                    merchantCountry: US
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Provide all required data to the Merchant/PSP to build a
                      transaction authorisation request.
                    marks: []
                key: m3rdFUquXlcS
            key: IoON4KS1QSgK
        key: 3ptHI6VPwEAh
      x-gitbook-description-html: >-
        <p>Provide all required data to the Merchant/PSP to build a transaction
        authorisation request.</p>
  /device-bindings:
    post:
      description: Binds a token with a FIDO authenticator as per Mastercard TAF.
      operationId: createBinding
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      |Error Code|Description|

                      |-------|-------|

                      |INVALID_TOKEN_STATE|The current token state doesn't allow
                      the operation.|

                      |INVALID_SIGNATURE|The FIDO signature or IAAV can't be
                      verified by Mastercard.|

                      |TSP_NON_RETRYABLE_ERROR|Non retryable errors returned by
                      the TSP.|

                      |SCHEME_TECHNICAL_ERROR|Technical error returned by TSP.|


                      -----------------
                    examples:
                      - INVALID_TOKEN_STATE
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>


























                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>INVALID_TOKEN_STATE</td><td>The
                      current token state doesn't allow the
                      operation.</td></tr><tr><td>INVALID_SIGNATURE</td><td>The
                      FIDO signature or IAAV can't be verified by
                      Mastercard.</td></tr><tr><td>TSP_NON_RETRYABLE_ERROR</td><td>Non
                      retryable errors returned by the
                      TSP.</td></tr><tr><td>SCHEME_TECHNICAL_ERROR</td><td>Technical
                      error returned by TSP.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: INVALID_SIGNATURE
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Device Binding
      summary: Create Binding
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - tokenId
                - bindingType
                - MASTERCARD_TAF_FIDO_IAAV
              properties:
                tokenId:
                  $ref: '#/components/schemas/tokenId'
                bindingType:
                  $ref: '#/components/schemas/bindingType'
                MASTERCARD_TAF_FIDO_IAAV:
                  $ref: '#/components/schemas/BINDING_MASTERCARD_TAF_FIDO_IAAV'
            examples:
              default:
                value:
                  tokenId: COFTG-M-ce464906-cf39-4990-b4a8-c160e67c603a
                  bindingType: MASTERCARD_TAF_FIDO_IAAV
                  MASTERCARD_TAF_FIDO_IAAV:
                    mcCertifiedSolutionId: 43SA5
                    credentialId: bf8c5b2b-28ce-48d8-acbc-cc82f51478c6
                    deviceId: '1234567890'
                    fidoRelyingParty: relyingparty.com
                    fidoUserId: ca7ac6fe-1eec-11ed-861d-0242ac120002
                    isSpcEnabled: false
                    fidoRegistrationResponse:
                      type: public-key
                      id: h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE
                      rawId: h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE
                      authenticatorAttachment: platform
                      response:
                        clientDataJSON: Base64 encoded string
                        authenticatorData: Base64 encoded string
                        signature: Base64 encoded string
                        userHandle: ca7ac6fe-1eec-11ed-861d-0242ac120002
                    mcIaav: Base64 Encoded IAAV
                    verificationTimestamp: '''2025-07-01T10:25:11.142Z'
                    mcBindingAssertion: Mastercard bindingAssertionJWT
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Binds a token with a FIDO authenticator as per Mastercard
                      TAF.
                    marks: []
                key: kM07wKvmkK4m
            key: IarnwiIww8Md
        key: eKKkASGD0fCz
      x-gitbook-description-html: <p>Binds a token with a FIDO authenticator as per Mastercard TAF.</p>
  /srci/transactions:
    post:
      description: >-
        Provide all required data to the Merchant/PSP to build a click to pay
        transaction authorization request.
      operationId: createSrciTransaction
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                  - encryptedData
                properties:
                  encryptedData:
                    $ref: '#/components/schemas/encryptedPaymentCredentials'
              examples:
                default:
                  value:
                    encryptedData: eyJhbGciOiJSU0EtT...GoWAB7Ucw
          x-gitbook-description-html: <p>Created</p>
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |INVALID_ARGUMENT|Cannot process the request because it is
                      malformed or has incorrect/missing fields or values.|

                      |INVALID_STATE|Request cannot be executed due to the
                      incorrect field value.|

                      |INVALID_AUTH_HEADER|Invalid Authentication header.|

                      |INVALID_VALUE|Invalid parameter value.|

                      |UNKNOWN_MERCHANT|The merchantId is probably wrong.|


                      -----------------
                    examples:
                      - INVALID_ARGUMENT
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>






























                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>INVALID_ARGUMENT</td><td>Cannot
                      process the request because it is malformed or has
                      incorrect/missing fields or
                      values.</td></tr><tr><td>INVALID_STATE</td><td>Request
                      cannot be executed due to the incorrect field
                      value.</td></tr><tr><td>INVALID_AUTH_HEADER</td><td>Invalid
                      Authentication
                      header.</td></tr><tr><td>INVALID_VALUE</td><td>Invalid
                      parameter
                      value.</td></tr><tr><td>UNKNOWN_MERCHANT</td><td>The
                      merchantId is probably wrong.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: INVALID_ARGUMENT
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          description: Unauthorized - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |UNAUTHENTICATED|Required authentication information is
                      either missing or not valid for the resource.|

                      |DECLINED|Operation declined.|


                      -----------------
                    examples:
                      - DECLINED
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>


















                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>UNAUTHENTICATED</td><td>Required
                      authentication information is either missing or not valid
                      for the
                      resource.</td></tr><tr><td>DECLINED</td><td>Operation
                      declined.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
              examples:
                default:
                  value:
                    errorCode: DECLINED
          x-gitbook-description-html: <p>Unauthorized - Not Retryable</p>
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Click to Pay
      summary: Create SRCi Transaction
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - merchantId
                - transactionId
              properties:
                merchantId:
                  $ref: '#/components/schemas/merchantId'
                transactionId:
                  $ref: '#/components/schemas/transactionId'
                transactionData:
                  $ref: '#/components/schemas/transactionDataSrci'
            examples:
              default:
                value:
                  merchantId: 85f6a8d7-a946-46a2-8c9d-075701e678f9
                  transactionId: 0a4e0d3.4f339be7.cbfa197b588400089c08aa60cc11934eb8009c1c
                  transactionData:
                    amount: '100.00'
                    currencyCode: USD
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Provide all required data to the Merchant/PSP to build a
                      click to pay transaction authorization request.
                    marks: []
                key: MUfdWejTtHA2
            key: vM6I0kDUnLlv
        key: QDa2vdFrqovR
      x-gitbook-description-html: >-
        <p>Provide all required data to the Merchant/PSP to build a click to pay
        transaction authorization request.</p>
  /srci/transactions/confirmations:
    post:
      description: >-
        Notify the Click to Pay system about the outcome of a transaction
        authorization.
      operationId: notifySrci
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |INVALID_ARGUMENT|Cannot process the request because it is
                      malformed or has incorrect/missing fields or values.|

                      |INVALID_STATE|Request cannot be executed due to the
                      incorrect field value.|

                      |INVALID_AUTH_HEADER|Invalid Authentication header.|

                      |INVALID_VALUE|Invalid parameter value.|

                      |UNKNOWN_MERCHANT|The merchantId is probably wrong.|


                      -----------------
                    examples:
                      - INVALID_ARGUMENT
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>






























                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>INVALID_ARGUMENT</td><td>Cannot
                      process the request because it is malformed or has
                      incorrect/missing fields or
                      values.</td></tr><tr><td>INVALID_STATE</td><td>Request
                      cannot be executed due to the incorrect field
                      value.</td></tr><tr><td>INVALID_AUTH_HEADER</td><td>Invalid
                      Authentication
                      header.</td></tr><tr><td>INVALID_VALUE</td><td>Invalid
                      parameter
                      value.</td></tr><tr><td>UNKNOWN_MERCHANT</td><td>The
                      merchantId is probably wrong.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: INVALID_ARGUMENT
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          description: Unauthorized - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |UNAUTHENTICATED|Required authentication information is
                      either missing or not valid for the resource.|

                      |DECLINED|Operation declined.|


                      -----------------
                    examples:
                      - DECLINED
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>


















                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>UNAUTHENTICATED</td><td>Required
                      authentication information is either missing or not valid
                      for the
                      resource.</td></tr><tr><td>DECLINED</td><td>Operation
                      declined.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
              examples:
                default:
                  value:
                    errorCode: DECLINED
          x-gitbook-description-html: <p>Unauthorized - Not Retryable</p>
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Click to Pay
      summary: Notify SRCi
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - merchantId
                - transactionId
                - confirmationData
                - transactionData
              properties:
                merchantId:
                  $ref: '#/components/schemas/merchantId'
                transactionId:
                  $ref: '#/components/schemas/transactionId'
                confirmationData:
                  $ref: '#/components/schemas/confirmationData'
                transactionData:
                  $ref: '#/components/schemas/transactionDataSrci'
            examples:
              default:
                value:
                  merchantId: 85f6a8d7-a946-46a2-8c9d-075701e678f9
                  transactionId: 0a4e0d3.4f339be7.cbfa197b588400089c08aa60cc11934eb8009c1c
                  confirmationData:
                    eventType: AUTHORISE
                    eventStatus: SUCCESS
                    status: CREATED
                    reason: Order Successfully Created
                    timestamp: '2021-11-10T09:08:24.479Z'
                    networkAuthorizationCode: '2020404'
                    networkTransactionIdentifier: mastercard
                  transactionData:
                    amount: '100.00'
                    currencyCode: USD
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Notify the Click to Pay system about the outcome of a
                      transaction authorization.
                    marks: []
                key: XDnRI0RAKOiZ
            key: jGljArKMeIzz
        key: 7ZmkypZDBk3Y
      x-gitbook-description-html: >-
        <p>Notify the Click to Pay system about the outcome of a transaction
        authorization.</p>
  /assets/{assetId}:
    get:
      description: >-
        Returns an asset ressource (image, text). </br></br> The assetId
        associated to an asset never changes so the response can be cached by
        the API consumer.
      operationId: getAsset
      parameters:
        - $ref: '#/components/parameters/assetId'
        - $ref: '#/components/parameters/authorization'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/asset'
              examples:
                default:
                  value:
                    mediaType: image/png
                    encodedData: >-
                      4Q3iRXhpZgAATU0AKgAAAAgABwESAAMAAAAB....TBIiw3Yu73+edWQ1+TquKs2wJdir//2Q==
          x-gitbook-description-html: <p>OK</p>
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Token Management
      summary: Get Asset
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Returns an asset ressource (image, text).


                      The assetId associated to an asset never changes so the
                      response can be cached by the API consumer.
                    marks: []
                key: 5Ia2fwbIWKcd
            key: cRfcSiQYAwIJ
        key: O8ziVaMw5LG0
      x-gitbook-description-html: >-
        <p>Returns an asset ressource (image, text).<br><br>The assetId
        associated to an asset never changes so the response can be cached by
        the API consumer.</p>
  /merchants:
    post:
      description: |-
        Create a merchant.

        The API is synchronous and the Scheme TSP is not involved.
      operationId: createMerchant
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                  - merchantId
                  - creationTimestamp
                properties:
                  merchantId:
                    $ref: '#/components/schemas/merchantId'
                  creationTimestamp:
                    $ref: '#/components/schemas/creationTimestamp'
              examples:
                default:
                  value:
                    merchantId: 85f6a8d7-a946-46a2-8c9d-075701e678f9
                    creationTimestamp: '2021-05-11T11:52:20.354Z'
          x-gitbook-description-html: <p>Created</p>
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Merchant Onboarding
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - merchantName
              properties:
                merchantName:
                  $ref: '#/components/schemas/merchantName'
            examples:
              default:
                value:
                  merchantName: the-ecom-store.com
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Create a merchant.
                    marks: []
                key: QMxrvFYYZMeF
            key: lmQ8l0rstk4n
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: The API is synchronous and the Scheme TSP is not involved.
                    marks: []
                key: cjfGg77kkSxz
            key: QcsknvjdIQQ8
        key: XyWkZ4tmB85U
      x-gitbook-description-html: >-
        <p>Create a merchant.</p><p>The API is synchronous and the Scheme TSP is
        not involved.</p>
  /merchants/{merchantId}/mastercard/secure-cof:
    put:
      description: Update the merchant setup for Mastercard Secure Card-On-File program.
      operationId: updateMerchantMastercardSecureCOF
      parameters:
        - $ref: '#/components/parameters/merchantId'
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Merchant Onboarding
      summary: Update Merchant Mastercard (S-COF)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - merchantLegalName
                - websiteUrl
                - merchantCity
                - merchantCountry
              properties:
                merchantLegalName:
                  $ref: '#/components/schemas/merchantLegalName'
                websiteUrl:
                  $ref: '#/components/schemas/websiteUrl'
                merchantCity:
                  $ref: '#/components/schemas/merchantCity'
                merchantCountry:
                  $ref: '#/components/schemas/merchantCountry'
                mcServiceId:
                  $ref: '#/components/schemas/mcServiceId'
                merchantCategory:
                  $ref: '#/components/schemas/merchantCategory'
                acquirerId:
                  $ref: '#/components/schemas/acquirerIdMastercard'
                locale:
                  $ref: '#/components/schemas/locale'
            examples:
              default:
                value:
                  merchantLegalName: My Merchant SARL
                  websiteUrl: http://mymerchant.com
                  merchantCity: Paris
                  merchantCountry: FR
                  supportedCardType: CREDIT
                  mcServiceId: ''
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Update the merchant setup for Mastercard Secure
                      Card-On-File program.
                    marks: []
                key: B2NV0OHqc8sd
            key: 6tum8OX7IOhZ
        key: 61oX6vEDF2Hf
      x-gitbook-description-html: >-
        <p>Update the merchant setup for Mastercard Secure Card-On-File
        program.</p>
  /merchants/{merchantId}/visa:
    put:
      description: Update the merchant setup for VISA.
      operationId: updateMerchantVisa
      parameters:
        - $ref: '#/components/parameters/merchantId'
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Merchant Onboarding
      summary: Update Merchant Visa
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - merchantLegalName
                - primaryContactEmail
                - websiteUrl
                - merchantCity
                - merchantCountry
              properties:
                merchantLegalName:
                  $ref: '#/components/schemas/merchantLegalName'
                primaryContactEmail:
                  $ref: '#/components/schemas/primaryContactEmail'
                websiteUrl:
                  $ref: '#/components/schemas/websiteUrl'
                merchantCity:
                  $ref: '#/components/schemas/merchantCity'
                merchantCountry:
                  $ref: '#/components/schemas/merchantCountry'
                allowCardUpdateNotification:
                  $ref: '#/components/schemas/allowCardUpdateNotification'
                businessIdentificationType:
                  $ref: '#/components/schemas/businessIdentificationType'
                businessIdentificationValue:
                  $ref: '#/components/schemas/businessIdentificationValue'
                acquirerId:
                  $ref: '#/components/schemas/acquirerId'
                acquirerMerchantId:
                  $ref: '#/components/schemas/acquirerMerchantId'
                dunsNumber:
                  $ref: '#/components/schemas/dunsNumber'
                tokenRequestorServiceTypes:
                  $ref: '#/components/schemas/tokenRequestorServiceTypes'
            examples:
              default:
                value:
                  merchantLegalName: My Merchant SARL
                  primaryContactEmail: jsmith@mymerchant.com
                  websiteUrl: http://mymerchant.com
                  merchantCity: Paris
                  merchantCountry: FR
                  allowCardUpdateNotification: true
                  businessIdentificationType: BID
                  businessIdentificationValue: '12345678'
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Update the merchant setup for VISA.
                    marks: []
                key: TtCQmEs575ud
            key: cSa3pcvJQODj
        key: imaUqwKL2jCv
      x-gitbook-description-html: <p>Update the merchant setup for VISA.</p>
  /merchants/{merchantId}/srci:
    put:
      description: Update the merchant setup for click to pay.
      operationId: updateMerchantSrci
      parameters:
        - $ref: '#/components/parameters/merchantId'
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '400':
          description: Bad request - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |INVALID_ARGUMENT|Cannot process the request because it is
                      malformed or has incorrect/missing fields or values.|

                      |INVALID_STATE|Request cannot be executed due to the
                      incorrect field value.|

                      |INVALID_AUTH_HEADER|Invalid Authentication header.|

                      |INVALID VALUE|Invalid parameter value.|


                      -----------------
                    examples:
                      - INVALID_ARGUMENT
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>


























                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>INVALID_ARGUMENT</td><td>Cannot
                      process the request because it is malformed or has
                      incorrect/missing fields or
                      values.</td></tr><tr><td>INVALID_STATE</td><td>Request
                      cannot be executed due to the incorrect field
                      value.</td></tr><tr><td>INVALID_AUTH_HEADER</td><td>Invalid
                      Authentication header.</td></tr><tr><td>INVALID
                      VALUE</td><td>Invalid parameter
                      value.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
                  schemeCorrelationId:
                    $ref: '#/components/schemas/schemeCorrelationId'
              examples:
                default:
                  value:
                    errorCode: INVALID_ARGUMENT
          x-gitbook-description-html: <p>Bad request - Not Retryable</p>
        '401':
          description: Unauthorized - Not Retryable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errorCode:
                    type: string
                    maxLength: 128
                    description: >-
                      Optional information that details the error.


                      -----------------

                      |Error Code|Description|

                      |-------|-------|

                      |UNAUTHENTICATED|Required authentication information is
                      either missing or not valid for the resource.|

                      |DECLINED|Operation declined.|


                      -----------------
                    examples:
                      - DECLINED
                    x-gitbook-description-html: >-
                      <p>Optional information that details the error.</p>

                      <hr>


















                      <table><thead><tr><th>Error
                      Code</th><th>Description</th></tr></thead><tbody><tr><td>UNAUTHENTICATED</td><td>Required
                      authentication information is either missing or not valid
                      for the
                      resource.</td></tr><tr><td>DECLINED</td><td>Operation
                      declined.</td></tr></tbody></table>

                      <hr>
                  errorDetails:
                    $ref: '#/components/schemas/errorDetails'
              examples:
                default:
                  value:
                    errorCode: DECLINED
          x-gitbook-description-html: <p>Unauthorized - Not Retryable</p>
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - Click to Pay
      summary: Update Merchant Click to Pay
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - supportedCardBrands
                - merchantLegalName
                - websiteUrl
                - merchantCountry
              properties:
                supportedCardBrands:
                  $ref: '#/components/schemas/supportedCardBrands'
                merchantLegalName:
                  $ref: '#/components/schemas/merchantLegalName'
                websiteUrl:
                  $ref: '#/components/schemas/websiteUrl'
                merchantCountry:
                  $ref: '#/components/schemas/merchantCountry'
            examples:
              default:
                value:
                  supportedCardBrands: MASTERCARD
                  merchantLegalName: SRCI Merchant
                  websiteUrl: http://srci-merchant.com
                  merchantCountry: US
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: Update the merchant setup for click to pay.
                    marks: []
                key: r5og7kYT1gcz
            key: k1nvRiDFNmlG
        key: LudpUvziGWzX
      x-gitbook-description-html: <p>Update the merchant setup for click to pay.</p>
  /auth/accessToken:
    post:
      description: Generates a JWT access token using client credentials for Web SDK calls.
      operationId: createAccessToken
      parameters:
        - $ref: '#/components/parameters/authorization'
        - $ref: '#/components/parameters/xCorrelationId'
      responses:
        '200':
          description: Access token successfully generated
          content:
            application/json:
              schema:
                type: object
                required:
                  - accessToken
                properties:
                  accessToken:
                    type: string
                    description: |-
                      Access token generated for WEB SDK calls, 
                       JWT content: 
                      - exp
                      - iss
                      - iat
                      - aud
                      - sub
                      - trId
                      - scope
                    examples:
                      - eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
                    x-gitbook-description-html: |-
                      <p>Access token generated for WEB SDK calls,
                      JWT content:</p>
                      <ul>
                      <li>exp</li>
                      <li>iss</li>
                      <li>iat</li>
                      <li>aud</li>
                      <li>sub</li>
                      <li>trId</li>
                      <li>scope</li>
                      </ul>
          x-gitbook-description-html: <p>Access token successfully generated</p>
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      tags:
        - JWT authentication
      summary: Create access token
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - merchantId
                - tokens
                - scope
              properties:
                merchantId:
                  $ref: '#/components/schemas/merchantId'
                tokens:
                  type: array
                  description: |-
                    The list of tokens to be associated with the JWT, 
                    only Mastercard and Visa tokens allowed, 
                    all the tokens must belong to the same merchant
                  minItems: 1
                  maxItems: 10
                  items:
                    $ref: '#/components/schemas/tokenId'
                  uniqueItems: true
                  examples:
                    - - COFTG-MS-ce464906-cf39-4990-b4a8-c160e67c603a
                      - COFTG-V-fe464806-sd39-1290-a4t8-f160e37c602b
                  x-gitbook-description-html: |-
                    <p>The list of tokens to be associated with the JWT,
                    only Mastercard and Visa tokens allowed,
                    all the tokens must belong to the same merchant</p>
                scope:
                  type: string
                  maxLength: 32
                  description: Scope used for the access token generation
                  enum:
                    - PAYMENT_PASSKEY
                  x-gitbook-description-html: <p>Scope used for the access token generation</p>
      x-gitbook-description-document:
        object: document
        data:
          schemaVersion: 9
        nodes:
          - object: block
            type: paragraph
            isVoid: false
            data: {}
            nodes:
              - object: text
                leaves:
                  - object: leaf
                    text: >-
                      Generates a JWT access token using client credentials for
                      Web SDK calls.
                    marks: []
                key: Ei85rzw3SqRq
            key: mvOkx1wxmBic
        key: pWH0PEjfJR0I
      x-gitbook-description-html: >-
        <p>Generates a JWT access token using client credentials for Web SDK
        calls.</p>
tags:
  - name: Healthcheck
  - name: Merchant Onboarding
  - name: Token Management
  - name: Token Migration
  - name: Transaction Management
  - name: Device Binding
  - name: Click to Pay
  - name: JWT authentication
openapi: 3.1.1
servers:
  - url: https://thales.api.com/tsh-cof
components:
  schemas:
    merchantId:
      type: string
      description: Identifier of the merchant provided by Thales at on-boarding.
      minLength: 1
      maxLength: 128
      x-gitbook-description-html: <p>Identifier of the merchant provided by Thales at on-boarding.</p>
    encryptedUserInfoSync:
      type: string
      minLength: 1
      maxLength: 8196
      description: >-
        The user and card information encrypted in a JWE structure (see security
        section in the documentation).


        Once decrypted, the JWE plaintext contains the following JSON object:


        |JSON field parameter name|description|MOC|Length|

        |-------|-------|-------|-------|

        |fpan|The funding pan to tokenize. </br>Value expected when 'source'
        parameter is 'MANUAL' or 'ON_FILE'.|C|Up to 19|

        |exp|The expiry date in format MMYY. </br>Value expected when 'source'
        parameter is 'MANUAL' or 'ON_FILE'. </br>Optional when VCES feature is
        activated for VISA|C|4|

        |token|Token number. </br>Value expected when 'source' parameter is
        'TOKEN'.|C|Up to 19|

        |name|The card holder name in the format FIRSTNAME LASTNAME or as
        written on the card. MDES limits the length to 27 characters so ETP may
        truncate the provided value.</br>This parameter is <font
        color="red">mandatory</font> for Discover card tokenization.|O|256|

        |cvv|The security code.</br>It can help the issuer in the decision of
        approving the payment.|O|3 or 4|

        |accountId|The card holder account identifier defined by the Merchant.
        </br>It can help the issuer in the decision of approving the
        payment.|O|24|

        |email|The card holder email.</br>This parameter is <font
        color="red">mandatory</font> for AMEX card tokenization.|O|128|


        Example: {"fpan":"5123456789012345", "exp":"0822", "name":"JOHN DOE",
        "cvv":"123", "accountId":"johndoe", "email":"john@doe.com"}
      x-gitbook-description-html: >-
        <p>The user and card information encrypted in a JWE structure (see
        security section in the documentation).</p>

        <p>Once decrypted, the JWE plaintext contains the following JSON
        object:</p>






















































        <table><thead><tr><th>JSON field parameter
        name</th><th>description</th><th>MOC</th><th>Length</th></tr></thead><tbody><tr><td>fpan</td><td>The
        funding pan to tokenize. <br>Value expected when 'source' parameter is
        'MANUAL' or 'ON_FILE'.</td><td>C</td><td>Up to
        19</td></tr><tr><td>exp</td><td>The expiry date in format MMYY.
        <br>Value expected when 'source' parameter is 'MANUAL' or 'ON_FILE'.
        <br>Optional when VCES feature is activated for
        VISA</td><td>C</td><td>4</td></tr><tr><td>token</td><td>Token number.
        <br>Value expected when 'source' parameter is
        'TOKEN'.</td><td>C</td><td>Up to 19</td></tr><tr><td>name</td><td>The
        card holder name in the format FIRSTNAME LASTNAME or as written on the
        card. MDES limits the length to 27 characters so ETP may truncate the
        provided value.<br>This parameter is mandatory for Discover card
        tokenization.</td><td>O</td><td>256</td></tr><tr><td>cvv</td><td>The
        security code.<br>It can help the issuer in the decision of approving
        the payment.</td><td>O</td><td>3 or
        4</td></tr><tr><td>accountId</td><td>The card holder account identifier
        defined by the Merchant. <br>It can help the issuer in the decision of
        approving the
        payment.</td><td>O</td><td>24</td></tr><tr><td>email</td><td>The card
        holder email.<br>This parameter is mandatory for AMEX card
        tokenization.</td><td>O</td><td>128</td></tr></tbody></table>

        <p>Example: {"fpan":"5123456789012345", "exp":"0822", "name":"JOHN DOE",
        "cvv":"123", "accountId":"johndoe", "email":"<a
        href="mailto:john@doe.com">john@doe.com</a>"}</p>
    encryptedUserInfoAsync:
      type: string
      minLength: 1
      maxLength: 8196
      description: >-
        The user and card information encrypted in a JWE structure (see security
        section in the documentation).


        Once decrypted, the JWE plaintext contains the following JSON object:


        |JSON field parameter name|description|MOC|Length|

        |-------|-------|-------|-------|

        |fpan|The funding pan to tokenize.|M|Up to 19|

        |exp|The expiry date in the format MMYY. </br>Optional when VCES feature
        is activated for VISA|C|4|

        |name|The card holder name in the format FIRSTNAME LASTNAME or as
        written on the card. MDES limits the length to 27 characters so ETP may
        truncate the provided value.</br>This parameter is <font
        color="red">mandatory</font> for Discover card tokenization.|O|256|

        |cvv|The security code.</br>It can help the issuer in the decision of
        approving the payment.|O|3 or 4|

        |accountId|The card holder account identifier defined by the Merchant.
        </br>It can help the issuer in the decision of approving the
        payment.|O|24|

        |email|The card holder email.</br>This parameter is <font
        color="red">mandatory</font> for AMEX card tokenization.|O|128|


        Example: {"fpan":"5123456789012345", "exp":"0822", "name":"JOHN DOE",
        "cvv":"123", "accountId":"johndoe", "email":"john@doe.com"}
      x-gitbook-description-html: >-
        <p>The user and card information encrypted in a JWE structure (see
        security section in the documentation).</p>

        <p>Once decrypted, the JWE plaintext contains the following JSON
        object:</p>
















































        <table><thead><tr><th>JSON field parameter
        name</th><th>description</th><th>MOC</th><th>Length</th></tr></thead><tbody><tr><td>fpan</td><td>The
        funding pan to tokenize.</td><td>M</td><td>Up to
        19</td></tr><tr><td>exp</td><td>The expiry date in the format MMYY.
        <br>Optional when VCES feature is activated for
        VISA</td><td>C</td><td>4</td></tr><tr><td>name</td><td>The card holder
        name in the format FIRSTNAME LASTNAME or as written on the card. MDES
        limits the length to 27 characters so ETP may truncate the provided
        value.<br>This parameter is mandatory for Discover card
        tokenization.</td><td>O</td><td>256</td></tr><tr><td>cvv</td><td>The
        security code.<br>It can help the issuer in the decision of approving
        the payment.</td><td>O</td><td>3 or
        4</td></tr><tr><td>accountId</td><td>The card holder account identifier
        defined by the Merchant. <br>It can help the issuer in the decision of
        approving the
        payment.</td><td>O</td><td>24</td></tr><tr><td>email</td><td>The card
        holder email.<br>This parameter is mandatory for AMEX card
        tokenization.</td><td>O</td><td>128</td></tr></tbody></table>

        <p>Example: {"fpan":"5123456789012345", "exp":"0822", "name":"JOHN DOE",
        "cvv":"123", "accountId":"johndoe", "email":"<a
        href="mailto:john@doe.com">john@doe.com</a>"}</p>
    encryptedUserInfoPci:
      type: string
      minLength: 1
      maxLength: 8196
      description: >-
        The user and card information encrypted in a JWE structure (see security
        section in the documentation).


        Once decrypted, the JWE plaintext contains the following JSON object:


        |JSON field parameter name|description|MOC|Length|

        |-------|-------|-------|-------|

        |fpan|The funding pan to tokenize.|M|Up to 19|

        |exp|The expiry date in the format MMYY.|M|4|


        Example: {"fpan":"5123456789012345", "exp":"0822"}
      x-gitbook-description-html: >-
        <p>The user and card information encrypted in a JWE structure (see
        security section in the documentation).</p>

        <p>Once decrypted, the JWE plaintext contains the following JSON
        object:</p>
























        <table><thead><tr><th>JSON field parameter
        name</th><th>description</th><th>MOC</th><th>Length</th></tr></thead><tbody><tr><td>fpan</td><td>The
        funding pan to tokenize.</td><td>M</td><td>Up to
        19</td></tr><tr><td>exp</td><td>The expiry date in the format
        MMYY.</td><td>M</td><td>4</td></tr></tbody></table>

        <p>Example: {"fpan":"5123456789012345", "exp":"0822"}</p>
    pushProvisioningPayload:
      type: string
      description: >-
        The push provisioning payload provided by the Issuer to the merchant
        application.


        For Mastercard, it corresponds to the 'pushAccountReceipt'.


        For Visa, it corresponds to the 'encPaymentInstrument'.
      minLength: 1
      maxLength: 8196
      x-gitbook-description-html: >-
        <p>The push provisioning payload provided by the Issuer to the merchant
        application.</p>

        <p>For Mastercard, it corresponds to the 'pushAccountReceipt'.</p>

        <p>For Visa, it corresponds to the 'encPaymentInstrument'.</p>
    encryptedMerchantInfoPushProvisioning:
      type: string
      minLength: 1
      maxLength: 8196
      description: >-
        The user information encrypted in a JWE structure (see security section
        in the documentation).


        Once decrypted, the JWE plaintext contains the following JSON object:


        |JSON field parameter name|description|MOC|Length|

        |-------|-------|-------|-------|

        |accountId|The card holder account identifier defined by the
        Merchant.|O|24|

        |email|The card holder email.|O|128|


        Example: {"accountId:"johndoe", "email":"john@doe.com"}
      x-gitbook-description-html: >-
        <p>The user information encrypted in a JWE structure (see security
        section in the documentation).</p>

        <p>Once decrypted, the JWE plaintext contains the following JSON
        object:</p>
























        <table><thead><tr><th>JSON field parameter
        name</th><th>description</th><th>MOC</th><th>Length</th></tr></thead><tbody><tr><td>accountId</td><td>The
        card holder account identifier defined by the
        Merchant.</td><td>O</td><td>24</td></tr><tr><td>email</td><td>The card
        holder email.</td><td>O</td><td>128</td></tr></tbody></table>

        <p>Example: {"accountId:"johndoe", "email":"<a
        href="mailto:john@doe.com">john@doe.com</a>"}</p>
    encryptedIssuerInfoPushProvisioning:
      type: string
      maxLength: 8196
      description: >-
        The user information encrypted in a JWE structure (see security section
        in the documentation).


        Once decrypted, the JWE plaintext contains the following JSON object:


        |JSON field parameter name|description|MOC|Length|

        |-------|-------|-------|-------|

        |name|The card holder name in format FIRSTNAME LASTNAME.|O|256|

        |address.line1|The card holder address.|O|256|

        |address.line2|The card holder address.|O|256|

        |address.city|The card holder address.|O|256|

        |address.countrySubdivision|The card holder address.|O|32|

        |address.postalCode|The card holder address.|O|32|

        |address.country|The Card holder country in ISO-3166-1 alpha-2
        two-letter country code.|O|2|

        |email|The card holder email.|O|128|

        |phoneNumber|The card holder phone number.|O|128|

        |personalId|A card holder personal identifier that may be required in
        some regions.|O|128|
      x-gitbook-description-html: >-
        <p>The user information encrypted in a JWE structure (see security
        section in the documentation).</p>

        <p>Once decrypted, the JWE plaintext contains the following JSON
        object:</p>








































































        <table><thead><tr><th>JSON field parameter
        name</th><th>description</th><th>MOC</th><th>Length</th></tr></thead><tbody><tr><td>name</td><td>The
        card holder name in format FIRSTNAME
        LASTNAME.</td><td>O</td><td>256</td></tr><tr><td>address.line1</td><td>The
        card holder
        address.</td><td>O</td><td>256</td></tr><tr><td>address.line2</td><td>The
        card holder
        address.</td><td>O</td><td>256</td></tr><tr><td>address.city</td><td>The
        card holder
        address.</td><td>O</td><td>256</td></tr><tr><td>address.countrySubdivision</td><td>The
        card holder
        address.</td><td>O</td><td>32</td></tr><tr><td>address.postalCode</td><td>The
        card holder
        address.</td><td>O</td><td>32</td></tr><tr><td>address.country</td><td>The
        Card holder country in ISO-3166-1 alpha-2 two-letter country
        code.</td><td>O</td><td>2</td></tr><tr><td>email</td><td>The card holder
        email.</td><td>O</td><td>128</td></tr><tr><td>phoneNumber</td><td>The
        card holder phone
        number.</td><td>O</td><td>128</td></tr><tr><td>personalId</td><td>A card
        holder personal identifier that may be required in some
        regions.</td><td>O</td><td>128</td></tr></tbody></table>
    sourceSync:
      type: string
      maxLength: 32
      description: >-
        The card info entry mode.</br>'MANUAL' It can help the issuer in the
        decision of approving the payment. </br>'TOKEN' is allowed just for
        Visa, used by token per token feature
      enum:
        - CARD_ON_FILE
        - MANUAL
        - TOKEN
      x-gitbook-description-html: >-
        <p>The card info entry mode.<br>'MANUAL' It can help the issuer in the
        decision of approving the payment. <br>'TOKEN' is allowed just for Visa,
        used by token per token feature</p>
    sourceAsync:
      type: string
      maxLength: 32
      description: >-
        The card info entry mode.</br>'MANUAL' It can help the issuer in the
        decision of approving the payment.
      enum:
        - CARD_ON_FILE
        - MANUAL
      x-gitbook-description-html: >-
        <p>The card info entry mode.<br>'MANUAL' It can help the issuer in the
        decision of approving the payment.</p>
    language:
      type: string
      default: en
      minLength: 2
      maxLength: 2
      description: Card holder language in ISO-639-1 two-letter language code.
      examples:
        - en
      x-gitbook-description-html: <p>Card holder language in ISO-639-1 two-letter language code.</p>
    country:
      type: string
      minLength: 2
      maxLength: 2
      description: Card holder country in ISO-3166-1 alpha-2 two-letter country code.
      examples:
        - US
      x-gitbook-description-html: >-
        <p>Card holder country in ISO-3166-1 alpha-2 two-letter country
        code.</p>
    accountScore:
      type: integer
      minimum: 1
      maximum: 5
      description: >-
        Risk level associated to the account.

        If provided, the value is forwarded to Mastercard TSP (MDES) or Visa TSP
        (VTS).


        |Value|Description|

        |-------|-------|

        |1| High risk level:<li>No successful authentication within last 30
        days.</li><li>Suspect behavior (frequent token
        delete).</li><li>Fraudulent activity due to illegitimate consumer
        behavior identified.</li>|

        |2|Risky account:<li>Recent password reset.</li><li>Recent unusual
        number of failed logins.</li>|

        |3|Neutral account:<li>New account or no known good or bad
        history.</li>|

        |4|Trusted account:<li>Account tenure of at least 6 months AND positive
        financial activity each month for at least three months.</li>|

        |5|Highly trusted account:<li>Consumer successfully authenticated within
        last 30 days.</li><li>Account tenure of at least 12 months AND positive
        financial activity each month for at least six months.</li>|
      examples:
        - 5
      x-gitbook-description-html: >-
        <p>Risk level associated to the account.

        If provided, the value is forwarded to Mastercard TSP (MDES) or Visa TSP
        (VTS).</p>






























        <table><thead><tr><th>Value</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td>High
        risk level:<li>No successful authentication within last 30
        days.</li><li>Suspect behavior (frequent token
        delete).</li><li>Fraudulent activity due to illegitimate consumer
        behavior identified.</li></td></tr><tr><td>2</td><td>Risky
        account:<li>Recent password reset.</li><li>Recent unusual number of
        failed logins.</li></td></tr><tr><td>3</td><td>Neutral account:<li>New
        account or no known good or bad
        history.</li></td></tr><tr><td>4</td><td>Trusted account:<li>Account
        tenure of at least 6 months AND positive financial activity each month
        for at least three months.</li></td></tr><tr><td>5</td><td>Highly
        trusted account:<li>Consumer successfully authenticated within last 30
        days.</li><li>Account tenure of at least 12 months AND positive
        financial activity each month for at least six
        months.</li></td></tr></tbody></table>
    risk:
      type: object
      description: >-
        Parameters linked to the risk level evaluated by the Token
        Requestor.       </br>It can help the issuer in the decision of
        approving the payment.
      properties:
        accountScore:
          $ref: '#/components/schemas/accountScore'
      x-gitbook-description-html: >-
        <p>Parameters linked to the risk level evaluated by the Token
        Requestor.       <br>It can help the issuer in the decision of approving
        the payment.</p>
    ipAddress:
      type: string
      minLength: 1
      maxLength: 64
      description: >-
        The card holder's device IP address in format IPv4 or IPv6. The
        parameter is <font color="red">mandatory</font> for AMEX card
        digitization in case the 'source' is 'MANUAL'. </br>For the other
        schemes, it is optional and is sent to Visa or Mastercard if format is
        IPv4.
      examples:
        - 172.16.254.1
      x-gitbook-description-html: >-
        <p>The card holder's device IP address in format IPv4 or IPv6. The
        parameter is mandatory for AMEX card digitization in case the 'source'
        is 'MANUAL'. <br>For the other schemes, it is optional and is sent to
        Visa or Mastercard if format is IPv4.</p>
    ipAddressSimpleDesc:
      type: string
      minLength: 1
      maxLength: 64
      description: The card holder's device IP address in format IPv4.
      examples:
        - 172.16.254.1
      x-gitbook-description-html: <p>The card holder's device IP address in format IPv4.</p>
    location:
      type: string
      minLength: 1
      maxLength: 32
      description: >-
        The card holder's device location.</br>

        </br>Format requirements:

        * Latitude is between -90 and 90 degrees.

        * Longitude is between -180 and 180 degrees.

        * For positive value, the sign '+' shall not be provided.

        * Values are provided in decimal degrees with a precision of 4 decimal
        places.

        * Latitude and longitude are separated by a comma.

        * Spaces are not allowed.


        Examples: 

        * '47.0880,2.3635'

        * '51.5306,-133.7224'

        * '-10.0000,-111.0000'
      examples:
        - 47.0880,2.3635
      x-gitbook-description-html: >-
        <p>The card holder's device location.<br>

        <br>Format requirements:</p>

        <ul>

        <li>Latitude is between -90 and 90 degrees.</li>

        <li>Longitude is between -180 and 180 degrees.</li>

        <li>For positive value, the sign '+' shall not be provided.</li>

        <li>Values are provided in decimal degrees with a precision of 4 decimal
        places.</li>

        <li>Latitude and longitude are separated by a comma.</li>

        <li>Spaces are not allowed.</li>

        </ul>

        <p>Examples:</p>

        <ul>

        <li>'47.0880,2.3635'</li>

        <li>'51.5306,-133.7224'</li>

        <li>'-10.0000,-111.0000'</li>

        </ul>
    device:
      type: object
      description: >-
        Information about the card holder's device.</br> It can help the issuer
        in the decision of approving the payment.
      properties:
        ipAddress:
          $ref: '#/components/schemas/ipAddress'
        location:
          $ref: '#/components/schemas/location'
      x-gitbook-description-html: >-
        <p>Information about the card holder's device.<br> It can help the
        issuer in the decision of approving the payment.</p>
    deviceTransaction:
      type: object
      required:
        - ipAddress
      description: >-
        Required for Visa DAF only. deviceId and ipAddress are mandated.
        location is optional.
      properties:
        deviceId:
          $ref: '#/components/schemas/deviceIdDeprecated'
        ipAddress:
          $ref: '#/components/schemas/ipAddressSimpleDesc'
        location:
          $ref: '#/components/schemas/location'
      x-gitbook-description-html: >-
        <p>Required for Visa DAF only. deviceId and ipAddress are mandated.
        location is optional.</p>
    devicePushProvisioning:
      type: object
      description: Information about the card holder's device.
      required:
        - ipAddress
      properties:
        ipAddress:
          $ref: '#/components/schemas/ipAddressSimpleDesc'
        location:
          $ref: '#/components/schemas/location'
      x-gitbook-description-html: <p>Information about the card holder's device.</p>
    cardholderEmail:
      type: string
      minLength: 1
      maxLength: 128
      description: Card holder email address.
      examples:
        - jsmith@emailprovider.com
      x-gitbook-description-html: <p>Card holder email address.</p>
    cardholderLine1:
      type: string
      minLength: 1
      maxLength: 140
      description: Card holder address line 1.
      x-gitbook-description-html: <p>Card holder address line 1.</p>
    cardholderLine2:
      type: string
      minLength: 1
      maxLength: 140
      description: Card holder address line 2.
      x-gitbook-description-html: <p>Card holder address line 2.</p>
    cardholderCity:
      type: string
      minLength: 1
      maxLength: 100
      description: Card holder city.
      pattern: ^[A-Za-z0-9-_. ]+$
      examples:
        - San Francisco
      x-gitbook-description-html: <p>Card holder city.</p>
    cardholderSubdivision:
      type: string
      minLength: 2
      maxLength: 2
      description: >-
        Card holder state or province code in ISO-3166-1 alpha-2 two-letter
        format.
      examples:
        - NY
      x-gitbook-description-html: >-
        <p>Card holder state or province code in ISO-3166-1 alpha-2 two-letter
        format.</p>
    cardholderPostalCode:
      type: string
      minLength: 1
      maxLength: 16
      description: Card holder postal code or zip code.
      pattern: ^[A-Za-z0-9]+$
      examples:
        - '10016'
      x-gitbook-description-html: <p>Card holder postal code or zip code.</p>
    cardholderAddress:
      type: object
      description: Card holder billing address.
      required:
        - line1
        - city
        - postalCode
        - country
      properties:
        line1:
          $ref: '#/components/schemas/cardholderLine1'
        line2:
          $ref: '#/components/schemas/cardholderLine2'
        city:
          $ref: '#/components/schemas/cardholderCity'
        postalCode:
          $ref: '#/components/schemas/cardholderPostalCode'
        country:
          $ref: '#/components/schemas/country'
        subdivision:
          $ref: '#/components/schemas/cardholderSubdivision'
      x-gitbook-description-html: <p>Card holder billing address.</p>
    cardholderBillingAddress:
      type: object
      description: Card holder billing address.
      required:
        - line1
        - city
        - postalCode
        - country
      properties:
        line1:
          $ref: '#/components/schemas/cardholderLine1'
        line2:
          $ref: '#/components/schemas/cardholderLine2'
        city:
          $ref: '#/components/schemas/cardholderCity'
        postalCode:
          $ref: '#/components/schemas/cardholderPostalCode'
        country:
          $ref: '#/components/schemas/country'
        subdivision:
          $ref: '#/components/schemas/cardholderSubdivision'
      x-gitbook-description-html: <p>Card holder billing address.</p>
    cardholderAddressTAF:
      type: object
      description: Card holder billing address.
      required:
        - line1
        - city
        - postalCode
        - country
      properties:
        line1:
          $ref: '#/components/schemas/cardholderLine1'
        city:
          $ref: '#/components/schemas/cardholderCity'
        postalCode:
          $ref: '#/components/schemas/cardholderPostalCode'
        country:
          $ref: '#/components/schemas/country'
        subdivision:
          $ref: '#/components/schemas/cardholderSubdivision'
      x-gitbook-description-html: <p>Card holder billing address.</p>
    cardholderTransaction:
      type: object
      description: |
        Required for Visa DAF only.Information about the card holder.
      required:
        - email
      properties:
        email:
          $ref: '#/components/schemas/cardholderEmail'
        billingAddress:
          $ref: '#/components/schemas/cardholderBillingAddress'
      x-gitbook-description-html: <p>Required for Visa DAF only.Information about the card holder.</p>
    color:
      type: string
      maxLength: 32
      description: Deprecated.
      enum:
        - GREEN
      examples:
        - GREEN
      x-gitbook-description-html: <p>Deprecated.</p>
    tokenId:
      type: string
      description: The token identifier.
      pattern: ^[a-zA-Z0-9_-]+$
      minLength: 1
      maxLength: 128
      x-gitbook-description-html: <p>The token identifier.</p>
    vProvisionedTokenId:
      type: string
      description: >-
        Specific to Visa. Another token identifier that shall be used only with
        Visa Cloud Token Framework.
      minLength: 1
      maxLength: 36
      x-gitbook-description-html: >-
        <p>Specific to Visa. Another token identifier that shall be used only
        with Visa Cloud Token Framework.</p>
    deviceIdDeprecated:
      type: string
      description: >-
        DEPRECATED! The unique device identifier. Visa deviceId must have 24
        characters at maximum.
      minLength: 1
      maxLength: 24
      examples:
        - '1234567890'
      x-gitbook-description-html: >-
        <p>DEPRECATED! The unique device identifier. Visa deviceId must have 24
        characters at maximum.</p>
    deviceId:
      type: string
      description: >-
        The unique device identifier. Visa deviceId must have 24 characters at
        maximum.
      minLength: 1
      maxLength: 36
      examples:
        - '1234567890'
      x-gitbook-description-html: >-
        <p>The unique device identifier. Visa deviceId must have 24 characters
        at maximum.</p>
    deviceIdMdes:
      type: string
      description: The unique device identifier.
      minLength: 1
      maxLength: 36
      examples:
        - '1234567890'
      x-gitbook-description-html: <p>The unique device identifier.</p>
    tokenLastDigits:
      type: string
      maxLength: 5
      description: The token last digits.
      examples:
        - '5589'
      x-gitbook-description-html: <p>The token last digits.</p>
    tokenExpiryDate:
      type: string
      maxLength: 4
      description: >-
        The token expiry date in format MMYY. This information can be missing.
        It is intended for display only at this step.<br>Rely on token expiry
        date in create transaction response for storage.
      examples:
        - '1022'
      x-gitbook-description-html: >-
        <p>The token expiry date in format MMYY. This information can be
        missing. It is intended for display only at this step.<br>Rely on token
        expiry date in create transaction response for storage.</p>
    cardBin:
      type: string
      description: >-
        The card bin returned by the scheme, just available for VISA and
        Mastercard SCOF.
      minLength: 6
      maxLength: 8
      examples:
        - '453421'
      x-gitbook-description-html: >-
        <p>The card bin returned by the scheme, just available for VISA and
        Mastercard SCOF.</p>
    cardLastDigits:
      type: string
      maxLength: 5
      description: The card last digits.
      examples:
        - '2366'
      x-gitbook-description-html: <p>The card last digits.</p>
    cardExpiryDate:
      type: string
      maxLength: 4
      description: The card expiry date in format MMYY.
      examples:
        - '0420'
      x-gitbook-description-html: <p>The card expiry date in format MMYY.</p>
    issuerName:
      type: string
      maxLength: 128
      description: The card issuer name.
      examples:
        - Bank Name
      x-gitbook-description-html: <p>The card issuer name.</p>
    supportVisaCTF:
      type: boolean
      description: Indicate if Visa Cloud Token Framework is available.
      examples:
        - true
      x-gitbook-description-html: <p>Indicate if Visa Cloud Token Framework is available.</p>
    supportMastercardTAF:
      type: boolean
      description: Indicate if Mastercard Token Authentication Framework is available.
      examples:
        - true
      x-gitbook-description-html: >-
        <p>Indicate if Mastercard Token Authentication Framework is
        available.</p>
    supportMastercardLiabilityShift:
      type: boolean
      description: >-
        For Mastercard indicates whether the Multi Factor Authentication method
        & account PAN are eligible for Fraud Liability Protection
      examples:
        - true
      x-gitbook-description-html: >-
        <p>For Mastercard indicates whether the Multi Factor Authentication
        method &#x26; account PAN are eligible for Fraud Liability
        Protection</p>
    cardDescription:
      type: string
      maxLength: 256
      description: The card description.
      examples:
        - Card description (premium, basic, etc.).
      x-gitbook-description-html: <p>The card description.</p>
    cardType:
      type: string
      description: The card type.
      maxLength: 32
      enum:
        - CREDIT
        - DEBIT
        - PREPAID
        - UNKNOWN
      examples:
        - DEBIT
      x-gitbook-description-html: <p>The card type.</p>
    scheme:
      type: string
      description: The card primary scheme.
      maxLength: 32
      enum:
        - MASTERCARD
        - VISA
        - AMEX
        - DISCOVER
        - ELO
        - UNKNOWN
      examples:
        - MASTERCARD
      x-gitbook-description-html: <p>The card primary scheme.</p>
    schemeMigration:
      type: string
      description: The card primary scheme.
      maxLength: 32
      enum:
        - MASTERCARD
      examples:
        - MASTERCARD
      x-gitbook-description-html: <p>The card primary scheme.</p>
    schemePushProvisioning:
      type: string
      description: The card primary scheme.
      maxLength: 32
      enum:
        - MASTERCARD
        - VISA
      examples:
        - MASTERCARD
      x-gitbook-description-html: <p>The card primary scheme.</p>
    deviceBindings:
      type: array
      description: The list of device identifiers bound to the token.
      items:
        $ref: '#/components/schemas/deviceId'
      uniqueItems: true
      x-gitbook-description-html: <p>The list of device identifiers bound to the token.</p>
    termsAndConditionsUrl:
      type: string
      maxLength: 512
      description: Card issuer terms and conditions URL.
      examples:
        - https://bank.com/tncs.html
      x-gitbook-description-html: <p>Card issuer terms and conditions URL.</p>
    privacyPolicyUrl:
      type: string
      maxLength: 512
      description: Card issuer privacy policy URL.
      examples:
        - https://bank.com/privacyPolicy.html
      x-gitbook-description-html: <p>Card issuer privacy policy URL.</p>
    cardProduct:
      type: object
      description: Information about the card product.
      required:
        - cardType
        - scheme
      properties:
        issuerName:
          $ref: '#/components/schemas/issuerName'
        cardType:
          $ref: '#/components/schemas/cardType'
        scheme:
          $ref: '#/components/schemas/scheme'
        supportVisaCTF:
          $ref: '#/components/schemas/supportVisaCTF'
        supportMastercardTAF:
          $ref: '#/components/schemas/supportMastercardTAF'
        supportMastercardLiabilityShift:
          $ref: '#/components/schemas/supportMastercardLiabilityShift'
        cardDescription:
          $ref: '#/components/schemas/cardDescription'
        cardArts:
          $ref: '#/components/schemas/cardArts'
        termsAndConditionsUrl:
          $ref: '#/components/schemas/termsAndConditionsUrl'
        privacyPolicyUrl:
          $ref: '#/components/schemas/privacyPolicyUrl'
      x-gitbook-description-html: <p>Information about the card product.</p>
    cardProductPush:
      type: object
      description: Information about the card product.
      required:
        - cardType
        - scheme
      properties:
        issuerName:
          $ref: '#/components/schemas/issuerName'
        cardType:
          $ref: '#/components/schemas/cardType'
        scheme:
          $ref: '#/components/schemas/scheme'
        supportVisaCTF:
          $ref: '#/components/schemas/supportVisaCTF'
        cardDescription:
          $ref: '#/components/schemas/cardDescription'
        cardArts:
          $ref: '#/components/schemas/cardArts'
        termsAndConditionsUrl:
          $ref: '#/components/schemas/termsAndConditionsUrl'
        privacyPolicyUrl:
          $ref: '#/components/schemas/privacyPolicyUrl'
      x-gitbook-description-html: <p>Information about the card product.</p>
    cardProductMigration:
      type: object
      description: Information about the card product.
      required:
        - cardType
      properties:
        issuerName:
          $ref: '#/components/schemas/issuerName'
        cardType:
          $ref: '#/components/schemas/cardType'
        scheme:
          $ref: '#/components/schemas/schemeMigration'
        cardDescription:
          $ref: '#/components/schemas/cardDescription'
        cardArts:
          $ref: '#/components/schemas/cardArtsMigration'
      x-gitbook-description-html: <p>Information about the card product.</p>
    cardArtsMigration:
      type: object
      properties:
        foregroundColor:
          type: string
          maxLength: 6
          description: >-
            Color used for the text displayed on the card (last digits, expiry
            date). Hexadecimal RGB color format.
          examples:
            - 7FB8C8
          x-gitbook-description-html: >-
            <p>Color used for the text displayed on the card (last digits,
            expiry date). Hexadecimal RGB color format.</p>
        cardImageUrl:
          type: string
          maxLength: 512
          description: >-
            HTTP location of the card image. If present, no other identifier is
            provided and getAsset operation is not needed.
          examples:
            - >-
              https://stage.assets.mastercard.com/card-art/combined-image-asset/MyBank-mastercard.png
          x-gitbook-description-html: >-
            <p>HTTP location of the card image. If present, no other identifier
            is provided and getAsset operation is not needed.</p>
    cardArts:
      type: object
      properties:
        foregroundColor:
          type: string
          maxLength: 6
          description: >-
            Color used for the text displayed on the card (last digits, expiry
            date). Hexadecimal RGB color format.
          examples:
            - 7FB8C8
          x-gitbook-description-html: >-
            <p>Color used for the text displayed on the card (last digits,
            expiry date). Hexadecimal RGB color format.</p>
        backgroundColor:
          type: string
          maxLength: 6
          description: Color used for card background. Hexadecimal RGB color format.
          examples:
            - 7FB8C9
          x-gitbook-description-html: <p>Color used for card background. Hexadecimal RGB color format.</p>
        cardBackgroundImageId:
          type: string
          maxLength: 128
          description: >-
            Asset identifier of the card background image. It doesn't contain
            the issuer/brand/co-brand logo.
          examples:
            - 2ee5c858-a6a4-43f1-a503-ffde6c41fad9
          x-gitbook-description-html: >-
            <p>Asset identifier of the card background image. It doesn't contain
            the issuer/brand/co-brand logo.</p>
        issuerLogoId:
          type: string
          maxLength: 128
          description: Asset identifier of the issuer logo.
          examples:
            - 1fd8594c-5284-4aeb-bb73-6129c1d6cdb2
          x-gitbook-description-html: <p>Asset identifier of the issuer logo.</p>
        brandLogoId:
          type: string
          maxLength: 128
          description: Asset identifier of the primary brand logo.
          examples:
            - 623046b7-4a8f-4550-bca8-45b38c9498a3
          x-gitbook-description-html: <p>Asset identifier of the primary brand logo.</p>
        cobrandLogoId:
          type: string
          maxLength: 128
          description: Asset identifier of the cobrand logo.
          examples:
            - 5548eb95-3aee-4bb8-9abf-38a7ab2c1cf3
          x-gitbook-description-html: <p>Asset identifier of the cobrand logo.</p>
        completeCardImageId:
          type: string
          maxLength: 128
          description: >-
            Asset identifier of the complete card image. Shall be preferred over
            the other assets when present.
          examples:
            - 15ac4371-dcb9-4310-867e-b12338970276
          x-gitbook-description-html: >-
            <p>Asset identifier of the complete card image. Shall be preferred
            over the other assets when present.</p>
        cardIconId:
          type: string
          maxLength: 128
          description: Asset identifier of the card icon.
          examples:
            - 14e3044fa-949e-4900-800f-88b8fc6cc3d5
          x-gitbook-description-html: <p>Asset identifier of the card icon.</p>
        cardImageUrl:
          type: string
          maxLength: 512
          description: >-
            HTTP location of the card image. If present, no other identifier is
            provided and getAsset operation is not needed.
          examples:
            - >-
              https://stage.assets.mastercard.com/card-art/combined-image-asset/MyBank-mastercard.png
          x-gitbook-description-html: >-
            <p>HTTP location of the card image. If present, no other identifier
            is provided and getAsset operation is not needed.</p>
    asset:
      type: object
      required:
        - mediaType
        - encodedData
      properties:
        mediaType:
          type: string
          maxLength: 64
          description: The media type of the asset.
          enum:
            - application/pdf
            - image/pdf
            - image/png
            - image/jpeg
            - image/svg
            - text/plain
            - text/html
          x-gitbook-description-html: <p>The media type of the asset.</p>
        encodedData:
          type: string
          description: The asset encoded in base64.
          x-gitbook-description-html: <p>The asset encoded in base64.</p>
        height:
          type: string
          maxLength: 10
          description: The asset height specified in pixels.
          x-gitbook-description-html: <p>The asset height specified in pixels.</p>
        width:
          type: string
          maxLength: 10
          description: The asset width specified in pixels.
          x-gitbook-description-html: <p>The asset width specified in pixels.</p>
    transactionId:
      type: string
      description: The unique transaction identifier.
      minLength: 1
      maxLength: 128
      x-gitbook-description-html: <p>The unique transaction identifier.</p>
    transactionType:
      type: string
      maxLength: 64
      description: ''
      enum:
        - SINGLE
        - SPLIT
        - RECURRING
      examples:
        - SINGLE
    visaSignedPayload:
      type: string
      description: >-
        Required only for Visa CTF and Visa CTF with DAF. Set with the signature
        (JWT) generated by Thales ETP SDK.
      minLength: 1
      maxLength: 4096
      x-gitbook-description-html: >-
        <p>Required only for Visa CTF and Visa CTF with DAF. Set with the
        signature (JWT) generated by Thales ETP SDK.</p>
    visaSignedPayloadTrxV2:
      type: string
      description: Set with the signature (JWT) generated by Thales ETP SDK.
      minLength: 1
      maxLength: 4096
      x-gitbook-description-html: <p>Set with the signature (JWT) generated by Thales ETP SDK.</p>
    amount:
      type: string
      description: >-
        Transaction amount or maximum amount authorized. Shall be positive
        value.  Digits after the '.' are required in accordance with the scheme
        and currency code.
      minLength: 1
      maxLength: 13
      pattern: ^(([1-9]{1}(\d+)?)(\.\d+)?)|^([0]\.(\d+)?([1-9]{1})(\d+)?)$
      examples:
        - '15.55'
      x-gitbook-description-html: >-
        <p>Transaction amount or maximum amount authorized. Shall be positive
        value.  Digits after the '.' are required in accordance with the scheme
        and currency code.</p>
    currencyCode:
      type: string
      minLength: 3
      maxLength: 3
      description: ISO 4217 alphabetic currency code on 3 characters.
      examples:
        - EUR
      x-gitbook-description-html: <p>ISO 4217 alphabetic currency code on 3 characters.</p>
    transactionData:
      type: object
      description: >-
        Required only for Visa DAF. When transactionData is present, both amount
        and currencyCode must be specified.
      required:
        - amount
        - currencyCode
      properties:
        amount:
          $ref: '#/components/schemas/amount'
        currencyCode:
          type: string
          minLength: 3
          maxLength: 3
          description: ISO 4217 alphabetic currency code on 3 characters.
          examples:
            - EUR
          x-gitbook-description-html: <p>ISO 4217 alphabetic currency code on 3 characters.</p>
      x-gitbook-description-html: >-
        <p>Required only for Visa DAF. When transactionData is present, both
        amount and currencyCode must be specified.</p>
    transactionDataSrci:
      type: object
      description: Transaction data for Click to pay.
      required:
        - amount
        - currencyCode
      properties:
        amount:
          $ref: '#/components/schemas/amount'
        currencyCode:
          $ref: '#/components/schemas/currencyCode'
      x-gitbook-description-html: <p>Transaction data for Click to pay.</p>
    confirmationData:
      type: object
      description: Confirmation data for transaction
      required:
        - eventType
        - eventStatus
        - status
        - timestamp
        - networkTransactionIdentifier
      properties:
        eventType:
          type: string
          description: Event type associated with the update.
          maxLength: 12
          enum:
            - AUTHORISE
            - CAPTURE
            - REFUND
            - CANCEL
            - FRAUD
            - CHARGEBACK
            - OTHER
          examples:
            - CAPTURE
          x-gitbook-description-html: <p>Event type associated with the update.</p>
        eventStatus:
          type: string
          description: Event type associated with the order.
          maxLength: 20
          enum:
            - CREATED
            - CONFIRMED
            - CANCELLED
            - FRAUD_CANCELLED
            - OTHERS
          examples:
            - CONFIRMED
          x-gitbook-description-html: <p>Event type associated with the order.</p>
        status:
          type: string
          description: >-
            Status of the event as provided by the SRC Initiator in the
            Confirmation message.
          maxLength: 10
          enum:
            - SUCCESS
            - FAILURE
            - OTHER
          examples:
            - SUCCESS
          x-gitbook-description-html: >-
            <p>Status of the event as provided by the SRC Initiator in the
            Confirmation message.</p>
        reason:
          type: string
          description: Description of the reason for the event associated with the order.
          maxLength: 64
          examples:
            - Order Successfully Created
          x-gitbook-description-html: >-
            <p>Description of the reason for the event associated with the
            order.</p>
        timestamp:
          $ref: '#/components/schemas/confirmationTimestamp'
        networkAuthorizationCode:
          type: string
          description: Authorisation code associated with an approved transaction.
          maxLength: 25
          examples:
            - '2020404'
          x-gitbook-description-html: <p>Authorisation code associated with an approved transaction.</p>
        networkTransactionIdentifier:
          type: string
          description: >-
            Unique authorisation related tracing value assigned by a Payment
            Network and provided in an authorisation response.
          minLength: 1
          maxLength: 25
          examples:
            - mastercard
          x-gitbook-description-html: >-
            <p>Unique authorisation related tracing value assigned by a Payment
            Network and provided in an authorisation response.</p>
      x-gitbook-description-html: <p>Confirmation data for transaction</p>
    encryptedPaymentCredentials:
      type: string
      maxLength: 8196
      description: >-
        The payment credentials data encrypted in a JWE structure (see security
        section in the documentation).


        Once decrypted, the JWE plaintext contains the following JSON object:


        |JSON field parameter name|description|MOC|Length|

        |-------|-------|-------|-------|

        |dpan|The token PAN value provided for network token.|C|Up to 19|

        |exp|The token expiry date in the format MMYY provided for network
        token.|C|4|

        |cryptogram|The payment cryptogram to use with the token for a payment.
        Presence of the cryptogram depends on the transaction type and the
        scheme.|C|Up to 256|

        |fpan|The funding card PAN value. Only provided for PCI token.|C|Up to
        19|

        |fpanExp|The funding card expiry date in the format MMYY. Only provided
        for PCI token.</li>|C|4|


        Example: {"dpan:"9580981500100002", "exp":"1222", "cryptogram":
        "45f8grzty7f4f5gs5s2c"}
      x-gitbook-description-html: >-
        <p>The payment credentials data encrypted in a JWE structure (see
        security section in the documentation).</p>

        <p>Once decrypted, the JWE plaintext contains the following JSON
        object:</p>










































        <table><thead><tr><th>JSON field parameter
        name</th><th>description</th><th>MOC</th><th>Length</th></tr></thead><tbody><tr><td>dpan</td><td>The
        token PAN value provided for network token.</td><td>C</td><td>Up to
        19</td></tr><tr><td>exp</td><td>The token expiry date in the format MMYY
        provided for network
        token.</td><td>C</td><td>4</td></tr><tr><td>cryptogram</td><td>The
        payment cryptogram to use with the token for a payment. Presence of the
        cryptogram depends on the transaction type and the
        scheme.</td><td>C</td><td>Up to 256</td></tr><tr><td>fpan</td><td>The
        funding card PAN value. Only provided for PCI
        token.</td><td>C</td><td>Up to 19</td></tr><tr><td>fpanExp</td><td>The
        funding card expiry date in the format MMYY. Only provided for PCI
        token.</td><td>C</td><td>4</td></tr></tbody></table>

        <p>Example: {"dpan:"9580981500100002", "exp":"1222", "cryptogram":
        "45f8grzty7f4f5gs5s2c"}</p>
    cryptogramExpiryDate:
      type: string
      maxLength: 64
      description: Cryptogram expiry date in ISO 8601. Provided for Visa only.
      examples:
        - '2021-09-27T17:06:09.000Z'
      x-gitbook-description-html: <p>Cryptogram expiry date in ISO 8601. Provided for Visa only.</p>
    eci:
      type: string
      minLength: 2
      maxLength: 2
      description: >-
        The Electronic Commerce Indicator. Payment System-specific value to
        indicate the results of the attempt to authenticate the cardholder.
        Provided only for Visa & Mastercard SCOF.
      examples:
        - '07'
      x-gitbook-description-html: >-
        <p>The Electronic Commerce Indicator. Payment System-specific value to
        indicate the results of the attempt to authenticate the cardholder.
        Provided only for Visa &#x26; Mastercard SCOF.</p>
    isDAF:
      type: boolean
      description: >-
        If present and set to 'true', VISA confirms it is a Digital
        Authentication Framework transaction. 

        Can be present only if the transaction type is 'VISA_DAF'.
      examples:
        - true
      x-gitbook-description-html: >-
        <p>If present and set to 'true', VISA confirms it is a Digital
        Authentication Framework transaction.

        Can be present only if the transaction type is 'VISA_DAF'.</p>
    par:
      type: string
      maxLength: 29
      description: Payment Account Reference returned by the Scheme TSP.
      examples:
        - 5001a9f027e5629d11e3949a0800a
      x-gitbook-description-html: <p>Payment Account Reference returned by the Scheme TSP.</p>
    tokenState:
      type: string
      maxLength: 64
      description: Token state.</br>PCI token state can only be 'ACTIVE' or 'DELETED'.
      enum:
        - ACTIVE
        - SUSPENDED
        - DELETED
        - PENDING
      examples:
        - ACTIVE
      x-gitbook-description-html: >-
        <p>Token state.<br>PCI token state can only be 'ACTIVE' or
        'DELETED'.</p>
    migratedTokenState:
      type: string
      maxLength: 64
      description: Token state.
      enum:
        - ACTIVE
        - SUSPENDED
        - PENDING
      examples:
        - ACTIVE
      x-gitbook-description-html: <p>Token state.</p>
    returnUriType:
      type: string
      maxLength: 32
      description: >-
        Issuer application/website URI type depending on the device. This
        parameter could be returned only for VISA.
      enum:
        - ANDROID
        - IOS
        - WEB
      examples:
        - WEB
      x-gitbook-description-html: >-
        <p>Issuer application/website URI type depending on the device. This
        parameter could be returned only for VISA.</p>
    returnUri:
      type: string
      maxLength: 512
      description: >-
        Issuer application/website URI. This parameter could be returned only
        for VISA.
      examples:
        - https://bank.com/pushprovisioning.html
      x-gitbook-description-html: >-
        <p>Issuer application/website URI. This parameter could be returned only
        for VISA.</p>
    merchantName:
      type: string
      description: An unique merchant name that is end user friendly.
      minLength: 1
      maxLength: 60
      pattern: ^[A-Za-z0-9-_. ]+$
      examples:
        - My Merchant
      x-gitbook-description-html: <p>An unique merchant name that is end user friendly.</p>
    supportedCardType:
      type: string
      maxLength: 6
      description: Indication about the card type supported by the merchant.
      enum:
        - DEBIT
        - CREDIT
        - BOTH
      examples:
        - CREDIT
      x-gitbook-description-html: <p>Indication about the card type supported by the merchant.</p>
    dunsNumber:
      type: string
      minLength: 9
      maxLength: 9
      description: Dun and Bradestreet number.
      examples:
        - '568918742'
      x-gitbook-description-html: <p>Dun and Bradestreet number.</p>
    tokenRequestorServiceTypes:
      type: array
      description: The list of token requestor service types.
      maxItems: 2
      minItems: 1
      items:
        type: string
        maxLength: 20
        enum:
          - PURCHASE
          - VISA_DIRECT
      uniqueItems: true
      examples:
        - - PURCHASE
          - VISA_DIRECT
      x-gitbook-description-html: <p>The list of token requestor service types.</p>
    merchantLegalName:
      type: string
      minLength: 1
      maxLength: 60
      description: Legal name of the merchant.
      pattern: ^[A-Za-z0-9-_. ]+$
      x-gitbook-description-html: <p>Legal name of the merchant.</p>
    websiteUrl:
      type: string
      minLength: 1
      maxLength: 100
      description: Merchant website URL.
      pattern: ^[A-Za-z0-9-_.:/]+$
      examples:
        - http://www.mymerchant.com
      x-gitbook-description-html: <p>Merchant website URL.</p>
    primaryContactEmail:
      type: string
      minLength: 1
      maxLength: 100
      description: Email address of the merchant primary contact.
      pattern: ^[A-Za-z0-9-_.@]+$
      examples:
        - jsmith@mymerchant.com
      x-gitbook-description-html: <p>Email address of the merchant primary contact.</p>
    merchantCity:
      type: string
      minLength: 1
      maxLength: 100
      description: City of the merchant address.
      pattern: ^[A-Za-z0-9-_. ]+$
      examples:
        - San Francisco
      x-gitbook-description-html: <p>City of the merchant address.</p>
    merchantCountry:
      type: string
      minLength: 2
      maxLength: 2
      description: Merchant country in ISO-3166-1 alpha-2 two-letter country code.
      examples:
        - US
      x-gitbook-description-html: <p>Merchant country in ISO-3166-1 alpha-2 two-letter country code.</p>
    allowCardUpdateNotification:
      type: boolean
      description: >-
        Visa charges to the acquirers the update of the token when a card is
        renewed. The acquirers may reflect the service fees to the customer.
        allowCardUpdateNotification = true enables the service.<br>

        When allowCardUpdateNotification = false the token is no more valid
        after the card renewal. No Token Update notification is sent.
      title: ''
      examples:
        - true
      x-gitbook-description-html: >-
        <p>Visa charges to the acquirers the update of the token when a card is
        renewed. The acquirers may reflect the service fees to the customer.
        allowCardUpdateNotification = true enables the service.<br>

        When allowCardUpdateNotification = false the token is no more valid
        after the card renewal. No Token Update notification is sent.</p>
    businessIdentificationType:
      type: string
      maxLength: 12
      description: "One of the below configuration must be provided: <br>- businessIdentificationType and businessIdentificationValue or<br> - acquirerId and acquirerMerchantId.<br><br>Merchant business identification type.\n\n|BusinessIdentificationType|Description|Format|\n|-------|-------|-------|\n|ABN|Australian business number|11 numeric digits|\n|ACN|Australian company number|9 numeric digits|\n|BID|VISA business identification number; all countries. You must contact your Visa representative before using BID |8 numeric digits|\n|BIN|Kazakhstan business identification number|12 numeric digits|\n|BIR|Philippines certificate of registration|12 numeric digits; hyphen-separated|\n|BN|Canadian business number|9 numeric digits|\n|BRN|South Korea business registration number|10 numeric digits; hyphen-separated|\n|BRNO|Malaysia only.|Up to 10 numeric digits followed by a hyphen and a single character or 12 numeric digits|\n|CL|Commercial License Number Qatar|4-6 numeric digits|\n|CLN|Company License Number Kuwait|5-7 numeric digits|\n|CORPORATE_NUMBER|Japan corporate number|13 numeric digits; leading digit is a non-zero check digit for the following 12 digits|\n|CNPJ|Brazil only.|14 alphanumeric characters, identified by n in the example, and punctuation characters (period, slash, and hyphen)|\n|CR|Company Registration Number Saudi Arabia.|10-12 numeric digits|\n|CUIT|Argentina only.|11 numeric digits|\n|EDRPOU|Ukraine. \tUkrainian corporations|8 numeric digits and 10 numeric digits for Ukrainian individual entrepeneurs|\n|EIN|US Federal tax ID (US only).|9 numeric digits|\n|HKBR|Hong Kong only.|11 numeric digits and a hyphen|\n|INI|Andorran General Indirect Tax.|8 alphanumeric characters; the first and last characters must be alphabetic.|\n|NATIONAL_ID|Dominican Republic (DO). Cedula de Identidad (Merchant Owner ID)|DO + 11 digits| \n|NIB|Indonesia business identification number|13 numeric digits|\n|NID|South Africa national identification number|13 numeric digits|\n|NZBN|New Zealand business number.|13 numeric digits|\n|PAN|Indian business identification number|10 alphanumeric characters|\n|PAN|Belarus payer account number|9 numeric digits|\n|RFC|Mexico only.|12 alphanumeric characters for corporations and 13 alphanumeric characters for individuals|\n|RNC|Dominican Republic (DO). Registro Nacional de Contribuyentes (National Contributors Number)|DO + 9 digits|\n|RUC|Peru only.|11 numeric digits|\n|RUT|Chile and Colombia only.|8 numeric digits followed by a hyphen and one verification character or digit for Chile; 10 numeric digits for Columbia|\n|SIN|Canadian social insurance number|9 numeric digits|\n|SSN|US social security number (US only)|9 numeric digits|\n|TC|Vietnam tax code|10 or 13 numeric digits|\n|UEN|Singapore only|9 or 10 alphanumeric characters|\n|USCI|China united social credit code|18 alphanumeric characters|\n|VAT|Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Estonia, Finland, Faroe Islands, France, Germany, Greece, Hungary, Iceland, Ireland, Isle of Man, Israel, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Republic of Cyprus, Romania, Saudi Arabia, Slovak Republic, Slovenia, South Africa, Spain, Sweden, Switzerland, Thailand, Turkey, Ukraine, United Arab Emirates, United Kingdom|<li>Austria AT + 9 characters in which the first character is always a 'U'<li>Belgium BE + 10 characters. Prefix with zero '0' if the customer provides a 9 digit VAT number<li>Bulgaria BG + 9 or 10 characters<li>Croatia HR + 11 characters<li>Cyprus CY + 9 characters<li>Czech Republic CZ + 8, 9 or 10 characters.<li>Denmark DK + 8 characters<li>Estonia EE + 9 characters<li>Finland FI + 8 characters<li>Faroe Islands FO + 6 characters<li>France FR + 11 characters<li>Germany DE + 9 characters<li>Greece EL + 9 characters<li>Hungary HU + 8 characters<li>Iceland IS + 5 or 6 characters<li>Ireland IE + 8 numeric or alphabetic characters<li>Israel IL + 9 numeric digits<li>Isle of Man GB + 9 or 12 digits; first 2 digits must be 00<li>Italy IT + 11 characters<li>Latvia LV + 11 characters<li>Lithuania LT + 9 or 12 characters<li>Luxembourg LU + 8 characters<li>Malta MT + 8 characters.<li>Netherlands NL + 12 characters of which the tenth character is always B.<li>Norway NO + 9 digits and the letters + MVA<li>Poland PL + 10 alphanumeric characters<li>Portugal PT + 9 characters<li>Republic of Cyprus CY + 9 characters. The last character must always be a letter.<li>Romania RO + 2 to 10 characters.<li>Saudi Arabia 15 numeric digits<li>Slovak Republic SK + 10 characters<li>Slovenia SI + 8 characters<li>South Africa 10 or 11 digits<li>Spain ES + 9 numeric digits<li>Sweden SE + 12 digits<li>Switzerland CH + 9 digits + MWST (German part), TVA(French part), or IVA(Italian part)<li>Thailand 13 numeric digits<li>Turkey TR + 10 characters<li>Ukraine 9 or 12 digits<li>United Arab Emirates 15 digits<li>United Kingdom GB + 9 digits|"
      enum:
        - ABN
        - ACN
        - BID
        - BIN
        - BIR
        - BN
        - BRN
        - BRNO
        - CL
        - CLN
        - CORPORATE_NUMBER
        - CNPJ
        - CR
        - CUIT
        - EDRPOU
        - EIN
        - HKBR
        - INI
        - NATIONAL_ID
        - NIB
        - NID
        - NZBN
        - PAN
        - RFC
        - RNC
        - RUC
        - RUT
        - SIN
        - SSN
        - TC
        - UEN
        - USCI
        - VAT
      examples:
        - BID
      x-gitbook-description-html: "<p>One of the below configuration must be provided: <br>- businessIdentificationType and businessIdentificationValue or<br> - acquirerId and acquirerMerchantId.<br><br>Merchant business identification type.</p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<table><thead><tr><th>BusinessIdentificationType</th><th>Description</th><th>Format</th></tr></thead><tbody><tr><td>ABN</td><td>Australian business number</td><td>11 numeric digits</td></tr><tr><td>ACN</td><td>Australian company number</td><td>9 numeric digits</td></tr><tr><td>BID</td><td>VISA business identification number; all countries. You must contact your Visa representative before using BID</td><td>8 numeric digits</td></tr><tr><td>BIN</td><td>Kazakhstan business identification number</td><td>12 numeric digits</td></tr><tr><td>BIR</td><td>Philippines certificate of registration</td><td>12 numeric digits; hyphen-separated</td></tr><tr><td>BN</td><td>Canadian business number</td><td>9 numeric digits</td></tr><tr><td>BRN</td><td>South Korea business registration number</td><td>10 numeric digits; hyphen-separated</td></tr><tr><td>BRNO</td><td>Malaysia only.</td><td>Up to 10 numeric digits followed by a hyphen and a single character or 12 numeric digits</td></tr><tr><td>CL</td><td>Commercial License Number Qatar</td><td>4-6 numeric digits</td></tr><tr><td>CLN</td><td>Company License Number Kuwait</td><td>5-7 numeric digits</td></tr><tr><td>CORPORATE_NUMBER</td><td>Japan corporate number</td><td>13 numeric digits; leading digit is a non-zero check digit for the following 12 digits</td></tr><tr><td>CNPJ</td><td>Brazil only.</td><td>14 alphanumeric characters, identified by n in the example, and punctuation characters (period, slash, and hyphen)</td></tr><tr><td>CR</td><td>Company Registration Number Saudi Arabia.</td><td>10-12 numeric digits</td></tr><tr><td>CUIT</td><td>Argentina only.</td><td>11 numeric digits</td></tr><tr><td>EDRPOU</td><td>Ukraine. \tUkrainian corporations</td><td>8 numeric digits and 10 numeric digits for Ukrainian individual entrepeneurs</td></tr><tr><td>EIN</td><td>US Federal tax ID (US only).</td><td>9 numeric digits</td></tr><tr><td>HKBR</td><td>Hong Kong only.</td><td>11 numeric digits and a hyphen</td></tr><tr><td>INI</td><td>Andorran General Indirect Tax.</td><td>8 alphanumeric characters; the first and last characters must be alphabetic.</td></tr><tr><td>NATIONAL_ID</td><td>Dominican Republic (DO). Cedula de Identidad (Merchant Owner ID)</td><td>DO + 11 digits</td></tr><tr><td>NIB</td><td>Indonesia business identification number</td><td>13 numeric digits</td></tr><tr><td>NID</td><td>South Africa national identification number</td><td>13 numeric digits</td></tr><tr><td>NZBN</td><td>New Zealand business number.</td><td>13 numeric digits</td></tr><tr><td>PAN</td><td>Indian business identification number</td><td>10 alphanumeric characters</td></tr><tr><td>PAN</td><td>Belarus payer account number</td><td>9 numeric digits</td></tr><tr><td>RFC</td><td>Mexico only.</td><td>12 alphanumeric characters for corporations and 13 alphanumeric characters for individuals</td></tr><tr><td>RNC</td><td>Dominican Republic (DO). Registro Nacional de Contribuyentes (National Contributors Number)</td><td>DO + 9 digits</td></tr><tr><td>RUC</td><td>Peru only.</td><td>11 numeric digits</td></tr><tr><td>RUT</td><td>Chile and Colombia only.</td><td>9 numeric digits for Chile and 10 numeric digits for Colombia</td></tr><tr><td>SIN</td><td>Canadian social insurance number</td><td>9 numeric digits</td></tr><tr><td>SSN</td><td>US social security number (US only)</td><td>9 numeric digits</td></tr><tr><td>TC</td><td>Vietnam tax code</td><td>10 or 13 numeric digits</td></tr><tr><td>UEN</td><td>Singapore only</td><td>9 or 10 alphanumeric characters</td></tr><tr><td>USCI</td><td>China united social credit code</td><td>18 alphanumeric characters</td></tr><tr><td>VAT</td><td>Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Estonia, Finland, Faroe Islands, France, Germany, Greece, Hungary, Iceland, Ireland, Isle of Man, Israel, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Republic of Cyprus, Romania, Saudi Arabia, Slovak Republic, Slovenia, South Africa, Spain, Sweden, Switzerland, Thailand, Turkey, Ukraine, United Arab Emirates, United Kingdom</td><td><li>Austria AT + 9 characters in which the first character is always a 'U'</li><li>Belgium BE + 10 characters. Prefix with zero '0' if the customer provides a 9 digit VAT number</li><li>Bulgaria BG + 9 or 10 characters</li><li>Croatia HR + 11 characters</li><li>Cyprus CY + 9 characters</li><li>Czech Republic CZ + 8, 9 or 10 characters.</li><li>Denmark DK + 8 characters</li><li>Estonia EE + 9 characters</li><li>Finland FI + 8 characters</li><li>Faroe Islands FO + 6 characters</li><li>France FR + 11 characters</li><li>Germany DE + 9 characters</li><li>Greece GR + 9 characters</li><li>Hungary HU + 8 characters</li><li>Iceland IS + 5 or 6 characters</li><li>Ireland IE + 8 numeric or alphabetic characters</li><li>Israel IL + 9 numeric digits</li><li>Isle of Man GB + 9 or 12 digits; first 2 digits must be 00</li><li>Italy IT + 11 characters</li><li>Latvia LV + 11 characters</li><li>Lithuania LT + 9 or 12 characters</li><li>Luxembourg LU + 8 characters</li><li>Malta MT + 8 characters.</li><li>Netherlands NL + 12 characters of which the tenth character is always B.</li><li>Norway NO + 9 digits and the letters + MVA</li><li>Poland PL + 10 alphanumeric characters</li><li>Portugal PT + 9 characters</li><li>Republic of Cyprus CY + 9 characters. The last character must always be a letter.</li><li>Romania RO + 2 to 10 characters.</li><li>Saudi Arabia 15 numeric digits</li><li>Slovak Republic SK + 10 characters</li><li>Slovenia SI + 8 characters</li><li>South Africa 10 or 11 digits</li><li>Spain ES + 9 numeric digits</li><li>Sweden SE + 12 digits</li><li>Switzerland CH + 9 digits + MWST (German part), TVA(French part), or IVA(Italian part)</li><li>Thailand 13 numeric digits</li><li>Turkey TR + 10 characters</li><li>Ukraine 9 or 12 digits</li><li>United Arab Emirates 15 digits</li><li>United Arab Emirates 15 digits</li><li>United Kingdom GB + 9 digits</li></td></tr></tbody></table>"
    businessIdentificationValue:
      type: string
      minLength: 1
      maxLength: 32
      description: >-
        One of the below configuration must be provided: <br>-
        businessIdentificationType and businessIdentificationValue or<br> -
        acquirerId and acquirerMerchantId. <br><br>The format of merchant
        business identification value depends on the business identification
        type.
      examples:
        - '12345678'
      x-gitbook-description-html: >-
        <p>One of the below configuration must be provided: <br>-
        businessIdentificationType and businessIdentificationValue or<br> -
        acquirerId and acquirerMerchantId. <br><br>The format of merchant
        business identification value depends on the business identification
        type.</p>
    acquirerId:
      type: string
      pattern: ^([0-9]*$)
      description: >-
        One of the below configuration must be provided: <br>-
        businessIdentificationType and businessIdentificationValue or<br> -
        acquirerId and acquirerMerchantId.<br><br>Numeric acquirer identifier.
      minLength: 1
      maxLength: 11
      x-gitbook-description-html: >-
        <p>One of the below configuration must be provided: <br>-
        businessIdentificationType and businessIdentificationValue or<br> -
        acquirerId and acquirerMerchantId.<br><br>Numeric acquirer
        identifier.</p>
    acquirerIdMastercard:
      type: string
      pattern: ^([0-9a-zA-Z]*$)
      description: Acquiring institution identification code
      minLength: 1
      maxLength: 11
      x-gitbook-description-html: <p>Acquiring institution identification code</p>
    locale:
      type: string
      description: Locale identifier following BCP 47 (e.g., en-US, es-MX)
      minLength: 1
      maxLength: 10
      examples:
        - en-US
      x-gitbook-description-html: <p>Locale identifier following BCP 47 (e.g., en-US, es-MX)</p>
    acquirerMerchantId:
      type: string
      description: >-
        One of the below configuration must be provided: <br>-
        businessIdentificationType and businessIdentificationValue or<br> -
        acquirerId and acquirerMerchantId.<br><br> Acquirer merchant identifier.
      minLength: 1
      maxLength: 25
      x-gitbook-description-html: >-
        <p>One of the below configuration must be provided: <br>-
        businessIdentificationType and businessIdentificationValue or<br> -
        acquirerId and acquirerMerchantId.<br><br> Acquirer merchant
        identifier.</p>
    firstAuthenticationFactor:
      type: string
      description: First factor used to authenticate the card holder.
      enum:
        - LOGIN_PASSWORD
        - DEVICE_UNLOCK
        - OTP_SMS
        - OTP_EMAIL
        - FIDO_BIOMETRIC
        - FIDO_PASSCODE
        - FIDO_NO_AUTH
        - VISA_CTF_BINDING
      x-gitbook-description-html: <p>First factor used to authenticate the card holder.</p>
    secondAuthenticationFactor:
      type: string
      description: Second factor used to authenticate the card holder as specified by Visa.
      enum:
        - LOGIN_PASSWORD
        - DEVICE_UNLOCK
        - OTP_SMS
        - OTP_EMAIL
        - FIDO_BIOMETRIC
        - FIDO_PASSCODE
        - FIDO_NO_AUTH
        - VISA_CTF_BINDING
      x-gitbook-description-html: >-
        <p>Second factor used to authenticate the card holder as specified by
        Visa.</p>
    authenticationTransaction:
      type: object
      description: Required only for Visa DAF.
      required:
        - firstFactor
      properties:
        firstFactor:
          $ref: '#/components/schemas/firstAuthenticationFactor'
        secondFactor:
          $ref: '#/components/schemas/secondAuthenticationFactor'
      x-gitbook-description-html: <p>Required only for Visa DAF.</p>
    creationTimestamp:
      type: string
      maxLength: 64
      description: Token creation timestamp compliant with ISO 8601.
      examples:
        - '2025-11-10T09:08:24.479Z'
      x-gitbook-description-html: <p>Token creation timestamp compliant with ISO 8601.</p>
    lastUpdateTimestamp:
      type: string
      maxLength: 64
      description: >-
        Token last update timestamp compliant with ISO 8601. Provided only in
        case the token was updated after its creation.
      examples:
        - 2025-11-13T11:012:41.165Z
      x-gitbook-description-html: >-
        <p>Token last update timestamp compliant with ISO 8601. Provided only in
        case the token was updated after its creation.</p>
    timestamp:
      type: string
      minLength: 1
      maxLength: 64
      description: A timestamp compliant with ISO 8601.
      examples:
        - '2025-08-01T09:12:09.128Z'
      x-gitbook-description-html: <p>A timestamp compliant with ISO 8601.</p>
    supportedCardBrands:
      type: array
      description: Card networks that are supported for DPA registration.
      maxItems: 4
      minItems: 1
      items:
        type: string
        maxLength: 20
        enum:
          - MASTERCARD
          - VISA
          - DISCOVER
          - AMEX
      examples:
        - - MASTERCARD
          - VISA
          - DISCOVER
          - AMEX
      x-gitbook-description-html: <p>Card networks that are supported for DPA registration.</p>
    confirmationTimestamp:
      type: string
      minLength: 1
      maxLength: 64
      description: >-
        Merchant confirmation timestamp when the transaction was completed,
        compliant with ISO 8601.
      examples:
        - '2025-11-10T09:08:24.479Z'
      x-gitbook-description-html: >-
        <p>Merchant confirmation timestamp when the transaction was completed,
        compliant with ISO 8601.</p>
    errorDetails:
      type: string
      maxLength: 256
      description: >-
        Additional information about the error. This optional parameter has no
        specific format as it depends on the different TSP API. It is sent for
        logging and troubleshooting purpose.
      x-gitbook-description-html: >-
        <p>Additional information about the error. This optional parameter has
        no specific format as it depends on the different TSP API. It is sent
        for logging and troubleshooting purpose.</p>
    schemeCorrelationId:
      type: string
      maxLength: 128
      description: Identifier used by the schemes for additional support.
      x-gitbook-description-html: <p>Identifier used by the schemes for additional support.</p>
    mcServiceId:
      type: string
      maxLength: 256
      description: >-
        Reserved for future use.</br>A unique identifier assigned by Mastercard
        for which tokens are created uniquely for the entity onboarded.
      x-gitbook-description-html: >-
        <p>Reserved for future use.<br>A unique identifier assigned by
        Mastercard for which tokens are created uniquely for the entity
        onboarded.</p>
    merchantCategory:
      type: string
      minLength: 1
      maxLength: 256
      description: >-
        Required only for Payment Facilitator model. Can define a type of
        merchants group. merchantCategory value is forwarded to the issuers.
        Thales recommends to set it to the generic value 'payfac'. 
      x-gitbook-description-html: >-
        <p>Required only for Payment Facilitator model. Can define a type of
        merchants group. merchantCategory value is forwarded to the issuers.
        Thales recommends to set it to the generic value 'payfac'.</p>
    transactionTypeV2:
      type: string
      maxLength: 64
      description: The request content depends on the transaction type.
      enum:
        - EMV_TOKEN
        - PCI_TOKEN
        - VISA_DAF
        - MASTERCARD_TAF_IAAV
        - MASTERCARD_TAF_FIDO
        - MASTERCARD_THALES_AUTHENTICATOR
      examples:
        - EMV_TOKEN
      x-gitbook-description-html: <p>The request content depends on the transaction type.</p>
    isRecurring:
      type: boolean
      description: Indicate if the payment is recurring (like a monthly subscription)
      examples:
        - false
      x-gitbook-description-html: >-
        <p>Indicate if the payment is recurring (like a monthly
        subscription)</p>
    bindingType:
      type: string
      maxLength: 64
      description: The request content depends on the binding type.
      enum:
        - MASTERCARD_TAF_FIDO_IAAV
      examples:
        - MASTERCARD_TAF_FIDO_IAAV
      x-gitbook-description-html: <p>The request content depends on the binding type.</p>
    mcCertifiedSolutionId:
      type: string
      minLength: 1
      maxLength: 128
      description: Unique identifier of the Mastercard TAF certified MFA method.
      examples:
        - 43SA5
      x-gitbook-description-html: <p>Unique identifier of the Mastercard TAF certified MFA method.</p>
    credentialId:
      type: string
      minLength: 1
      maxLength: 128
      description: UUID identifying the FIDO authenticator.
      examples:
        - bf8c5b2b-28ce-48d8-acbc-cc82f51478c6
      x-gitbook-description-html: <p>UUID identifying the FIDO authenticator.</p>
    fidoRelyingParty:
      type: string
      minLength: 1
      maxLength: 128
      description: The FIDO relying party.
      examples:
        - relyingparty.com
      x-gitbook-description-html: <p>The FIDO relying party.</p>
    fidoUserId:
      type: string
      minLength: 1
      maxLength: 128
      description: The FIDO user identifier.
      examples:
        - ca7ac6fe-1eec-11ed-861d-0242ac120002
      x-gitbook-description-html: <p>The FIDO user identifier.</p>
    isSpcEnabled:
      type: boolean
      description: Indicates if Secure Payment Confirmation is enabled.
      examples:
        - false
      x-gitbook-description-html: <p>Indicates if Secure Payment Confirmation is enabled.</p>
    fidoAuthenticationResponse:
      type: object
      description: >-
        A JSON FIDO public key as per
        https://www.w3.org/TR/webauthn-3/#iface-pkcredential.

        <br>Also known as FIDO assertion.

        <br>Required if fidoRegistrationResponse is not provided.<br><br>

        Example:

        <br>{<br>

        "type": "public-key",<br>

        "id": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "rawId": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "authenticatorAttachment": "platform",<br>

        "response": {<br>

        "clientDataJSON": "SZY...In0",<br>

        "authenticatorData": "o2Nm...AAA",<br>

        "signature": "MEU...VQQ",<br>

        "userHandle": "ca7...002"

        "transports": [<br>
            "internal"<br>
          ]<br>
        },<br>

        "clientExtensionResults": {}<br>

        }<br>
      x-gitbook-description-html: >-
        <p>A JSON FIDO public key as per <a
        href="https://www.w3.org/TR/webauthn-3/#iface-pkcredential">https://www.w3.org/TR/webauthn-3/#iface-pkcredential</a>.

        <br>Also known as FIDO assertion.

        <br>Required if fidoRegistrationResponse is not provided.<br><br>

        Example:

        <br>{<br>

        "type": "public-key",<br>

        "id": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "rawId": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "authenticatorAttachment": "platform",<br>

        "response": {<br>

        "clientDataJSON": "SZY...In0",<br>

        "authenticatorData": "o2Nm...AAA",<br>

        "signature": "MEU...VQQ",<br>

        "userHandle": "ca7...002"

        "transports": [<br>

        "internal"<br>

        ]<br>

        },<br>

        "clientExtensionResults": {}<br>

        }<br></p>
    fidoRegistrationResponse:
      type: object
      description: >-
        A JSON FIDO public key as per
        https://www.w3.org/TR/webauthn-3/#iface-pkcredential.

        <br>Also known as FIDO attestation.

        <br>Required if fidoAuthenticationResponse is not provided 

        Example:

        <br>{<br>

        "type": "public-key",<br>

        "id": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "rawId": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "authenticatorAttachment": "platform",<br>

        "response": {<br>

        "clientDataJSON": "eyJ0...In0",<br>

        "attestationObject": "o2Nm...0inQ",<br>

        "transports": [<br>
            "internal"<br>
          ]<br>
        },<br>

        "clientExtensionResults": {}<br>

        }<br>
      x-gitbook-description-html: >-
        <p>A JSON FIDO public key as per <a
        href="https://www.w3.org/TR/webauthn-3/#iface-pkcredential">https://www.w3.org/TR/webauthn-3/#iface-pkcredential</a>.

        <br>Also known as FIDO attestation.

        <br>Required if fidoAuthenticationResponse is not provided

        Example:

        <br>{<br>

        "type": "public-key",<br>

        "id": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "rawId": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "authenticatorAttachment": "platform",<br>

        "response": {<br>

        "clientDataJSON": "eyJ0...In0",<br>

        "attestationObject": "o2Nm...0inQ",<br>

        "transports": [<br>

        "internal"<br>

        ]<br>

        },<br>

        "clientExtensionResults": {}<br>

        }<br></p>
    fidoPublicKeyCredential:
      type: object
      description: >-
        A JSON FIDO public key as per
        https://www.w3.org/TR/webauthn-3/#iface-pkcredential.

        <br>Also known as FIDO assertion.<br><br>

        Example:

        <br>{<br>

        "type": "public-key",<br>

        "id": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "rawId": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "authenticatorAttachment": "platform",<br>

        "response": {<br>

        "clientDataJSON": "SZY...In0",<br>

        "authenticatorData": "o2Nm...AAA",<br>

        "signature": "MEU...VQQ",<br>

        "userHandle": "ca7...002"

        "transports": [<br>
            "internal"<br>
          ]<br>
        },<br>

        "clientExtensionResults": {}<br>

        }<br>
      x-gitbook-description-html: >-
        <p>A JSON FIDO public key as per <a
        href="https://www.w3.org/TR/webauthn-3/#iface-pkcredential">https://www.w3.org/TR/webauthn-3/#iface-pkcredential</a>.

        <br>Also known as FIDO assertion.<br><br>

        Example:

        <br>{<br>

        "type": "public-key",<br>

        "id": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "rawId": "h0mC9xtLjggpcvxq4YXepkemUt2oNL5F_-NPpCCcHNE",<br>

        "authenticatorAttachment": "platform",<br>

        "response": {<br>

        "clientDataJSON": "SZY...In0",<br>

        "authenticatorData": "o2Nm...AAA",<br>

        "signature": "MEU...VQQ",<br>

        "userHandle": "ca7...002"

        "transports": [<br>

        "internal"<br>

        ]<br>

        },<br>

        "clientExtensionResults": {}<br>

        }<br></p>
    mcTransactionAssertion:
      type: string
      minLength: 1
      maxLength: 8196
      description: The transaction assertion JWT as per Mastercard specifications.
      examples:
        - Mastercard assertionJWT
      x-gitbook-description-html: <p>The transaction assertion JWT as per Mastercard specifications.</p>
    mcBindingAssertion:
      type: string
      minLength: 1
      maxLength: 8196
      description: The binding assertion JWT as per Mastercard specifications.
      examples:
        - Mastercard bindingAssertionJWT
      x-gitbook-description-html: <p>The binding assertion JWT as per Mastercard specifications.</p>
    merchantCategoryCode:
      type: string
      minLength: 1
      maxLength: 4
      description: The merchant category code.
      examples:
        - '1234'
      x-gitbook-description-html: <p>The merchant category code.</p>
    mcIaav:
      type: string
      minLength: 1
      maxLength: 8196
      description: >-
        The issuer IAAV as per Mastercard specifications, so JSON encoded in
        Base64.
      examples:
        - Base64-encoded-string
      x-gitbook-description-html: >-
        <p>The issuer IAAV as per Mastercard specifications, so JSON encoded in
        Base64.</p>
    mcIaavTransactionId:
      type: string
      minLength: 1
      maxLength: 128
      description: The transaction identifier as present in the issuer IAAV.
      examples:
        - abd3babb-f6af-424d-81f6-499a313479c5
      x-gitbook-description-html: <p>The transaction identifier as present in the issuer IAAV.</p>
    EMV_TOKEN:
      type: object
      description: >-
        List the parameters that are accepted to get a cryptogram for a
        transaction with the token.
      required:
        - isRecurring
      properties:
        isRecurring:
          $ref: '#/components/schemas/isRecurring'
        amount:
          type: string
          description: >-
            Transaction amount or maximum amount authorized. Shall be positive
            value. Digits after the '.' are required in accordance with the
            currency code.

            <br>If amount is defined, currencyCode must be present also.
          minLength: 1
          maxLength: 13
          pattern: ^(([1-9]{1}(\d+)?)(\.\d+)?)|^([0]\.(\d+)?([1-9]{1})(\d+)?)$
          examples:
            - '15.55'
          x-gitbook-description-html: >-
            <p>Transaction amount or maximum amount authorized. Shall be
            positive value. Digits after the '.' are required in accordance with
            the currency code.

            <br>If amount is defined, currencyCode must be present also.</p>
        currencyCode:
          type: string
          minLength: 3
          maxLength: 3
          description: |-
            ISO 4217 alphabetic currency code on 3 characters.
            If currencyCode is defined, amount must be present also.
          examples:
            - EUR
          x-gitbook-description-html: |-
            <p>ISO 4217 alphabetic currency code on 3 characters.
            If currencyCode is defined, amount must be present also.</p>
      x-gitbook-description-html: >-
        <p>List the parameters that are accepted to get a cryptogram for a
        transaction with the token.</p>
    VISA_DAF:
      type: object
      description: >-
        List the parameters that are required to get a Visa DAF compliant
        cryptogram.
      required:
        - firstFactor
        - visaSignedPayload
        - amount
        - currencyCode
        - ipAddress
        - email
      properties:
        firstFactor:
          $ref: '#/components/schemas/firstAuthenticationFactor'
        secondFactor:
          $ref: '#/components/schemas/secondAuthenticationFactor'
        visaSignedPayload:
          $ref: '#/components/schemas/visaSignedPayloadTrxV2'
        amount:
          $ref: '#/components/schemas/amount'
        currencyCode:
          $ref: '#/components/schemas/currencyCode'
        ipAddress:
          $ref: '#/components/schemas/ipAddressSimpleDesc'
        location:
          $ref: '#/components/schemas/location'
        email:
          $ref: '#/components/schemas/cardholderEmail'
        billingAddress:
          $ref: '#/components/schemas/cardholderAddress'
      x-gitbook-description-html: >-
        <p>List the parameters that are required to get a Visa DAF compliant
        cryptogram.</p>
    MASTERCARD_TAF_FIDO:
      type: object
      description: >-
        List the parameters that are required to get a Mastercard TAF compliant
        cryptogram for a token bound to a FIDO authenticator.  All cardholder
        related parameters must be provided if they are collected according to
        compliance with applicable laws and local regulation.
      required:
        - amount
        - currencyCode
        - merchantCategoryCode
        - merchantCountry
        - deviceId
        - mcCertifiedSolutionId
        - credentialId
        - fidoRelyingParty
        - fidoUserId
        - isSpcEnabled
        - fidoAuthenticationResponse
        - mcTransactionAssertion
      properties:
        amount:
          $ref: '#/components/schemas/amount'
        currencyCode:
          $ref: '#/components/schemas/currencyCode'
        deviceId:
          $ref: '#/components/schemas/deviceIdMdes'
        ipAddress:
          $ref: '#/components/schemas/ipAddressSimpleDesc'
        location:
          $ref: '#/components/schemas/location'
        mcCertifiedSolutionId:
          $ref: '#/components/schemas/mcCertifiedSolutionId'
        credentialId:
          $ref: '#/components/schemas/credentialId'
        fidoRelyingParty:
          $ref: '#/components/schemas/fidoRelyingParty'
        fidoUserId:
          $ref: '#/components/schemas/fidoUserId'
        isSpcEnabled:
          $ref: '#/components/schemas/isSpcEnabled'
        fidoAuthenticationResponse:
          $ref: '#/components/schemas/fidoPublicKeyCredential'
        mcTransactionAssertion:
          $ref: '#/components/schemas/mcTransactionAssertion'
        email:
          $ref: '#/components/schemas/cardholderEmail'
        billingAddress:
          $ref: '#/components/schemas/cardholderAddressTAF'
        shippingAddress:
          $ref: '#/components/schemas/cardholderAddressTAF'
        merchantCategoryCode:
          $ref: '#/components/schemas/merchantCategoryCode'
        merchantCountry:
          $ref: '#/components/schemas/merchantCountry'
      x-gitbook-description-html: >-
        <p>List the parameters that are required to get a Mastercard TAF
        compliant cryptogram for a token bound to a FIDO authenticator.  All
        cardholder related parameters must be provided if they are collected
        according to compliance with applicable laws and local regulation.</p>
    MASTERCARD_TAF_IAAV:
      type: object
      description: >-
        List the parameters that are required to get a Mastercard TAF compliant
        cryptogram from and issuer IAAV.  All cardholder related parameters must
        be provided if they are collected according to compliance with
        applicable laws and local regulation.
      required:
        - amount
        - currencyCode
        - mcIaav
        - mcIaavTransactionId
        - verificationTimestamp
        - merchantCategoryCode
        - merchantCountry
      properties:
        amount:
          $ref: '#/components/schemas/amount'
        currencyCode:
          $ref: '#/components/schemas/currencyCode'
        ipAddress:
          $ref: '#/components/schemas/ipAddressSimpleDesc'
        location:
          $ref: '#/components/schemas/location'
        mcIaav:
          $ref: '#/components/schemas/mcIaav'
        mcIaavTransactionId:
          $ref: '#/components/schemas/mcIaavTransactionId'
        verificationTimestamp:
          $ref: '#/components/schemas/timestamp'
        email:
          $ref: '#/components/schemas/cardholderEmail'
        billingAddress:
          $ref: '#/components/schemas/cardholderAddressTAF'
        shippingAddress:
          $ref: '#/components/schemas/cardholderAddressTAF'
        merchantCategoryCode:
          $ref: '#/components/schemas/merchantCategoryCode'
        merchantCountry:
          $ref: '#/components/schemas/merchantCountry'
      x-gitbook-description-html: >-
        <p>List the parameters that are required to get a Mastercard TAF
        compliant cryptogram from and issuer IAAV.  All cardholder related
        parameters must be provided if they are collected according to
        compliance with applicable laws and local regulation.</p>
    BINDING_MASTERCARD_TAF_FIDO_IAAV:
      type: object
      description: >
        List the parameters that are required to bind a token with a FIDO
        authenticator as per Mastercard TAF.


        At least one 'fidoAuthenticationResponse' or 'fidoRegistrationResponse'
        must be provided in the request.
      required:
        - mcCertifiedSolutionId
        - credentialId
        - deviceId
        - fidoRelyingParty
        - fidoUserId
        - isSpcEnabled
        - mcIaav
        - verificationTimestamp
        - mcBindingAssertion
      properties:
        mcCertifiedSolutionId:
          $ref: '#/components/schemas/mcCertifiedSolutionId'
        credentialId:
          $ref: '#/components/schemas/credentialId'
        deviceId:
          $ref: '#/components/schemas/deviceIdMdes'
        fidoRelyingParty:
          $ref: '#/components/schemas/fidoRelyingParty'
        fidoUserId:
          $ref: '#/components/schemas/fidoUserId'
        isSpcEnabled:
          $ref: '#/components/schemas/isSpcEnabled'
        fidoAuthenticationResponse:
          $ref: '#/components/schemas/fidoAuthenticationResponse'
        fidoRegistrationResponse:
          $ref: '#/components/schemas/fidoRegistrationResponse'
        mcIaav:
          $ref: '#/components/schemas/mcIaav'
        verificationTimestamp:
          $ref: '#/components/schemas/timestamp'
        mcBindingAssertion:
          $ref: '#/components/schemas/mcBindingAssertion'
      x-gitbook-description-html: >-
        <p>List the parameters that are required to bind a token with a FIDO
        authenticator as per Mastercard TAF.</p>

        <p>At least one 'fidoAuthenticationResponse' or
        'fidoRegistrationResponse' must be provided in the request.</p>
    MASTERCARD_THALES_AUTHENTICATOR:
      type: object
      description: >-
        List the parameters that are required to get a Mastercard TAF compliant
        cryptogram using their proprietary PKI as their MFA method.  All
        cardholder related parameters must be provided if they are collected
        according to compliance with applicable laws and local regulation.
      required:
        - amount
        - currencyCode
        - deviceId
        - tafAssertionPayload
        - merchantCategoryCode
        - merchantCountry
      properties:
        amount:
          $ref: '#/components/schemas/amount'
        currencyCode:
          $ref: '#/components/schemas/currencyCode'
        deviceId:
          $ref: '#/components/schemas/deviceIdMdes'
        tafAssertionPayload:
          type: string
          minLength: 1
          maxLength: 10000
          description: JSON assertion payload Base64 encoded, generated by Thales ETP SDK.
          examples:
            - Base64 encoded Mastercard assertion payload
          x-gitbook-description-html: >-
            <p>JSON assertion payload Base64 encoded, generated by Thales ETP
            SDK.</p>
        merchantCategoryCode:
          $ref: '#/components/schemas/merchantCategoryCode'
        merchantCountry:
          $ref: '#/components/schemas/merchantCountry'
        email:
          $ref: '#/components/schemas/cardholderEmail'
        location:
          $ref: '#/components/schemas/location'
        ipAddress:
          $ref: '#/components/schemas/ipAddressSimpleDesc'
        billingAddress:
          $ref: '#/components/schemas/cardholderAddressTAF'
        shippingAddress:
          $ref: '#/components/schemas/cardholderAddressTAF'
      x-gitbook-description-html: >-
        <p>List the parameters that are required to get a Mastercard TAF
        compliant cryptogram using their proprietary PKI as their MFA method. 
        All cardholder related parameters must be provided if they are collected
        according to compliance with applicable laws and local regulation.</p>
  parameters:
    xCorrelationId:
      schema:
        type: string
        maxLength: 36
        minLength: 1
      in: header
      description: >-
        Technical identifier used for troubleshooting. 

        </br>It helps on customer support when needed. 

        </br>Each API request must be identified with a unique correlation Id.

        </br>It correlates the response and the request and eventually a
        notification if any. 
      name: x-correlation-id
      required: true
      x-gitbook-description-html: >-
        <p>Technical identifier used for troubleshooting.

        <br>It helps on customer support when needed.

        <br>Each API request must be identified with a unique correlation Id.

        <br>It correlates the response and the request and eventually a
        notification if any.</p>
    authorization:
      schema:
        type: string
        maxLength: 512
        minLength: 1
      in: header
      description: |
        Technical identifier pre-defined at on-boarding that identifies the API
        consumer.
        Format shall be the string 'APIKEY' followed by a space and the
        api key value.
        </br> Example: APIKEY c03f88fe-01ba-11e8-ba89-0ed5f89f718b
      name: authorization
      required: true
      x-gitbook-description-html: >-
        <p>Technical identifier pre-defined at on-boarding that identifies the
        API

        consumer.

        Format shall be the string 'APIKEY' followed by a space and the

        api key value.

        <br> Example: APIKEY c03f88fe-01ba-11e8-ba89-0ed5f89f718b</p>
    mcCertifiedSolutionId:
      schema:
        type: string
        maxLength: 128
        minLength: 1
      in: header
      description: >
        Unique identifier of the Mastercard TAF certified MFA method. 

        Must be provided for Mastercard TAF when the binding was created using
        the Merchant API.
      name: mcCertifiedSolutionId
      x-gitbook-description-html: >-
        <p>Unique identifier of the Mastercard TAF certified MFA method.

        Must be provided for Mastercard TAF when the binding was created using
        the Merchant API.</p>
    deviceId:
      schema:
        type: string
        maxLength: 36
      in: path
      description: >-
        The unique device identifier. Visa deviceId must have 24 characters at
        maximum.
      name: deviceId
      required: true
      x-gitbook-description-html: >-
        <p>The unique device identifier. Visa deviceId must have 24 characters
        at maximum.</p>
    tokenId:
      schema:
        type: string
        maxLength: 128
      in: path
      description: The token identifier.
      name: tokenId
      required: true
      x-gitbook-description-html: <p>The token identifier.</p>
    oldTokenId:
      schema:
        type: string
        maxLength: 128
      in: path
      description: Old token identifier.
      name: oldTokenId
      required: true
      x-gitbook-description-html: <p>Old token identifier.</p>
    transactionId:
      schema:
        type: string
        maxLength: 128
      in: path
      description: The unique transaction identifier.
      name: transactionId
      required: true
      x-gitbook-description-html: <p>The unique transaction identifier.</p>
    assetId:
      schema:
        type: string
        maxLength: 128
      in: path
      description: The unique asset identifier.
      name: assetId
      required: true
      x-gitbook-description-html: <p>The unique asset identifier.</p>
    credentialId:
      schema:
        type: string
        maxLength: 128
        minLength: 1
      in: header
      description: >-
        The identifier used during Mastercard TAF binding, must be provided for
        Mastercard TAF when the binding was created using the Merchant API.
      name: credentialId
      required: false
      x-gitbook-description-html: >-
        <p>The identifier used during Mastercard TAF binding, must be provided
        for Mastercard TAF when the binding was created using the Merchant
        API.</p>
    merchantId:
      schema:
        type: string
        maxLength: 128
        minLength: 1
      in: path
      description: The unique merchant identifier.
      name: merchantId
      required: true
      x-gitbook-description-html: <p>The unique merchant identifier.</p>
  responses:
    '202':
      description: Accepted
      x-gitbook-description-html: <p>Accepted</p>
    '204':
      description: No Content
      x-gitbook-description-html: <p>No Content</p>
    '400':
      description: Bad request - Not Retryable
      x-gitbook-description-html: <p>Bad request - Not Retryable</p>
    '401':
      description: Unauthorized - Not Retryable
      x-gitbook-description-html: <p>Unauthorized - Not Retryable</p>
    '404':
      description: Not Found - Not Retryable
      x-gitbook-description-html: <p>Not Found - Not Retryable</p>
    '429':
      description: Too Many Requests - Retryable
      x-gitbook-description-html: <p>Too Many Requests - Retryable</p>
    '500':
      description: Internal Server Error - Not Retryable
      x-gitbook-description-html: <p>Internal Server Error - Not Retryable</p>
    '503':
      description: Service Unavailable - Retryable
      x-gitbook-description-html: <p>Service Unavailable - Retryable</p>
