CyberSource Payer Authentication API

The Payer Authentication API from CyberSource — 3 operation(s) for payer authentication.

Operations 3

POST /risk/v1/authentication-setups Setup Payer Auth #
POST /risk/v1/authentications Check Payer Auth Enrollment #
POST /risk/v1/authentication-results Validate Authentication Results #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cybersource-payer-authentication-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cybersource-payer-authentication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
  version: 0.0.1
  title: CyberSource Merged Spec bankAccountValidation Payer Authentication API
servers:
- url: https://apitest.cybersource.com/
tags:
- name: Payer Authentication
paths:
  /risk/v1/authentication-setups:
    post:
      summary: Setup Payer Auth
      description: A new service for Merchants to get reference_id for Digital Wallets to use in place of BIN number in Cardinal. Set up file while authenticating with Cardinal. This service should be called by Merchant when payment instrument chosen or changes. This service has to be called before enrollment check. The availability of API features for a merchant may depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.
      operationId: payerAuthSetup
      tags:
      - Payer Authentication
      x-devcenter-metaData:
        categoryTag: Payer_Authentication
        developerGuides: https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/rest/payer-auth/pa-about-guide.html
        isMLEsupported: true
        mleForRequest: optional
      responses:
        '201':
          description: Setup completed
          content:
            application/hal+json;charset=utf-8:
              schema:
                title: riskV1AuthenticationSetupsPost201Response
                type: object
                properties:
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            description: This is the endpoint of the resource that was created by the successful request.
                          method:
                            type: string
                            description: '`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource.'
                  id:
                    type: string
                    maxLength: 26
                    description: 'An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.

                      It is also appended to the endpoint of the resource.

                      On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.

                      '
                  submitTimeUtc:
                    type: string
                    description: 'Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`

                      **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).

                      The `T` separates the date and the time. The `Z` indicates UTC.


                      Returned by Cybersource for all services.

                      '
                  status:
                    type: string
                    description: 'The status for payerAuthentication 201 setup calls. Possible value is:

                      - COMPLETED

                      - FAILED

                      '
                  consumerAuthenticationInformation:
                    type: object
                    properties:
                      accessToken:
                        type: string
                        description: 'JSON Web Token (JWT) used to authenticate the consumer with the authentication provider, such as, CardinalCommerce or Rupay.

                          Note - Max Length of this field is 2048 characters.

                          '
                      referenceId:
                        type: string
                        maxLength: 50
                        description: 'This identifier represents cardinal has started device data collection session and this must be passed in

                          Authentication JWT to Cardinal when invoking the deviceDataCollectionUrl.

                          '
                      deviceDataCollectionUrl:
                        type: string
                        maxLength: 100
                        description: 'The deviceDataCollectionUrl is the location to send the Authentication JWT when invoking the Device Data collection process.

                          '
                  clientReferenceInformation:
                    type: object
                    properties:
                      code:
                        type: string
                        maxLength: 59
                        description: 'Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each

                          transaction so that you can perform meaningful searches for the transaction.


                          #### Used by

                          **Authorization**

                          Required field.


                          #### PIN Debit

                          Requests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being

                          reversed.


                          Required field for all PIN Debit requests (purchase, credit, and reversal).


                          #### FDC Nashville Global

                          Certain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.

                          '
                      comments:
                        type: string
                        maxLength: 255
                        description: 'Brief description of the order or any comment you wish to add to the order.

                          '
                      partner:
                        type: object
                        properties:
                          developerId:
                            type: string
                            maxLength: 8
                            description: 'Identifier for the developer that helped integrate a partner solution to CyberSource.


                              Send this value in all requests that are sent through the partner solutions built by that developer.

                              CyberSource assigns the ID to the developer.


                              **Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.

                              '
                          solutionId:
                            type: string
                            maxLength: 8
                            description: 'Identifier for the partner that is integrated to CyberSource.


                              Send this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.


                              **Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.

                              '
                  errorInformation:
                    type: object
                    properties:
                      reason:
                        type: string
                        description: "The reason of the status.\n\nPossible values:\n - EXPIRED_CARD\n - GENERAL_DECLINE\n"
                      message:
                        type: string
                        description: The detail message related to the status and reason listed above.
                      details:
                        type: array
                        items:
                          type: object
                          properties:
                            field:
                              type: string
                              description: This is the flattened JSON object field name/path that is either missing or invalid.
                            reason:
                              type: string
                              description: "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
        '400':
          description: Invalid request
          content:
            application/hal+json;charset=utf-8:
              schema:
                title: riskV1AuthenticationsPost400Response
                type: object
                properties:
                  submitTimeUtc:
                    type: string
                    description: 'Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`

                      **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).

                      The `T` separates the date and the time. The `Z` indicates UTC.


                      Returned by Cybersource for all services.

                      '
                  status:
                    type: string
                    description: 'The status for payerAuthentication 400 setup calls. Possible values are:

                      - INVALID_REQUEST

                      '
                  reason:
                    type: string
                    description: 'The reason of the status.

                      '
                  message:
                    type: string
                    description: 'The message describing the reason of the status. Value is:

                      - Encountered a Payer Authentication problem. Payer could not be setup.

                      '
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                          description: This is the flattened JSON object field name/path that is either missing or invalid.
                        reason:
                          type: string
                          description: "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
        '502':
          description: Unexpected system error or system timeout.
          content:
            application/hal+json;charset=utf-8:
              schema:
                title: riskV1AuthenticationsPost502Response
                type: object
                properties:
                  submitTimeUtc:
                    type: string
                    description: 'Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`

                      **Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).

                      The `T` separates the date and the time. The `Z` indicates UTC.


                      Returned by Cybersource for all services.

                      '
                  status:
                    type: string
                    description: "The status of the submitted transaction.\n\nPossible values:\n - SERVER_ERROR\n"
                  reason:
                    type: string
                    description: "The reason of the status.\n\nPossible values:\n - SYSTEM_ERROR\n - SERVER_TIMEOUT\n - SERVICE_TIMEOUT\n"
                  message:
                    type: string
                    description: The detail message related to the status and reason listed above.
      x-example:
        example0:
          summary: Setup Completion with Card Number
          value:
            paymentInformation:
              card:
                expirationMonth: '12'
                expirationYear: '2025'
                number: '4000000000002503'
                type: '001'
        example1:
          summary: Setup Completion with Fluid Data Value and Payment Solution
          value:
            paymentInformation:
              fluidData:
                value: eyJkYXRhIjoiOFJTK2o1a2ZLRjZkTnkzNVwvOTluR3ZEVis0WUVlaStBb2VmUUNMXC9SNTN0TnVMeHJxTzh4b1g2SnBScm9WWUVUOUNvUkhIWFZMRjJNSVNIZlVtM25UczltdGFPTUdqcW1oeWdjTFpWVWI3OHhxYVVUT2JwWUxLelY0dFR1QmhvRkV4UVJ1d2lvTmo2bXJsRlRjUm5LNzdcL2lCR01yYVlZcXZTVnhGK3ViK1JXK3BGeTRDNUVUOVhmcHBkS2xHYXVpODdzcTBtYVlYVk9qOGFaNTFMWjZvS1NKZkR1clhvWEtLNHRqd1wvaDVRK1dcL0x2dnJxSUhmZmVhK21MZXVRY3RHK0k3UUN6MTRpVmdROUFEMW1oWFUrbVdwZXRUQWZ5WXhoVituZlh1NlpISGRDWFV1cUp6djQydHg4UlwvN0lvdld5OWx6Z0N3YnpuclVsY3pUcThkb3JtV3A4eXhYQklDNnJHRTdlTVJrS3oxZFwvUFFDXC9DS2J1NDhNK0R4XC9VejNoUFwvZ1NnRGoxakJNcUllUUZiRWFzcTRWTUV1ZG9FNUh1UjBcLzRQMXJmdG9EVlpwNnhFdnF1STY5dkt2YnZHcXpmTkpUNjVnPT0iLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiNzQ2NTczNzQ2MTcwNzA2QzY5NjM2MTc0Njk2RjZFNjQ2MTc0NjEiLCJ0cmFuc2FjdGlvbklkIjoiNzQ2NTczNzQ3NDcyNjE2RTczNjE2Mzc0Njk2RjZFNjk2NCIsImVwaGVtZXJhbFB1YmxpY0tleSI6Ik1JSUJTekNDQVFNR0J5cUdTTTQ5QWdFd2dmY0NBUUV3TEFZSEtvWkl6ajBCQVFJaEFQXC9cL1wvXC84QUFBQUJBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9NRnNFSVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC84QkNCYXhqWFlxanFUNTdQcnZWVjJtSWE4WlIwR3NNeFRzUFk3emp3K0o5SmdTd01WQU1TZE5naUc1d1NUYW1aNDRST2RKcmVCbjM2UUJFRUVheGZSOHVFc1FrZjR2T2JsWTZSQThuY0RmWUV0NnpPZzlLRTVSZGlZd3BaUDQwTGlcL2hwXC9tNDduNjBwOEQ1NFdLODR6VjJzeFhzN0x0a0JvTjc5UjlRSWhBUFwvXC9cL1wvOEFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC8rODV2cXRweGVlaFBPNXlzTDhZeVZSQWdFQkEwSUFCQmJHK2xtTHJIWWtKSVwvSUUwcTU3dEN0bE5jK2pBWHNudVMrSnFlOFVcLzc0cSs5NVRnbzVFRjBZNks3b01LTUt5cTMwY3VQbmtIenkwMjVpU1BGdWczRT0iLCJwdWJsaWNLZXlIYXNoIjoieCtQbUhHMzdUNjdBWUFIenVqbGJyaW1JdzZZaFlYaVpjYjV3WnJCNGpRdz0ifSwic2lnbmF0dXJlIjoiTUlJRFFnWUpLb1pJaHZjTkFRY0NvSUlETXpDQ0F5OENBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Bc0dDU3FHU0liM0RRRUhBYUNDQWlzd2dnSW5NSUlCbEtBREFnRUNBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUF3SnpFbE1DTUdBMVVFQXg0Y0FHTUFhQUJ0QUdFQWFRQkFBSFlBYVFCekFHRUFMZ0JqQUc4QWJUQWVGdzB4TkRBeE1ERXdOakF3TURCYUZ3MHlOREF4TURFd05qQXdNREJhTUNjeEpUQWpCZ05WQkFNZUhBQmpBR2dBYlFCaEFHa0FRQUIyQUdrQWN3QmhBQzRBWXdCdkFHMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTkM4K2tndGdtdldGMU96amdETnJqVEVCUnVvXC81TUt2bE0xNDZwQWY3R3g0MWJsRTl3NGZJWEpBRDdGZk83UUtqSVhZTnQzOXJMeXk3eER3YlwvNUlrWk02MFRaMmlJMXBqNTVVYzhmZDRmek9wazNmdFphUUdYTkxZcHRHMWQ5VjdJUzgyT3VwOU1NbzFCUFZyWFRQSE5jc005OUVQVW5QcWRiZUdjODdtMHJBZ01CQUFHalhEQmFNRmdHQTFVZEFRUlJNRStBRUhaV1ByV3RKZDdZWjQzMWhDZzdZRlNoS1RBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRnaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUFEZ1lFQWJVS1lDa3VJS1M5UVEybUZjTVlSRUltMmwrWGc4XC9KWHYrR0JWUUprT0tvc2NZNGlOREZBXC9iUWxvZ2Y5TExVODRUSHdOUm5zdlYzUHJ2N1JUWTgxZ3EwZHRDOHpZY0FhQWtDSElJM3lxTW5KNEFPdTZFT1c5a0prMjMyZ1NFN1dsQ3RIYmZMU0tmdVNnUVg4S1hRWXVaTGsyUnI2M044QXBYc1h3QkwzY0oweGdlQXdnZDBDQVFFd096QW5NU1V3SXdZRFZRUURIaHdBWXdCb0FHMEFZUUJwQUVBQWRnQnBBSE1BWVFBdUFHTUFid0J0QWhCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR0JTc09Bd0lhQlFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lBMG9MXC9KSWFTN0tra1RFNG1pOGRmU2tQVVwvdlp2cVwva2NYZ1pUdGJZbENtTFM4YzNuS2VZNVE0c2s4MXJnZkI1ampBMWJRZldhUHBKc05tVWNSS3gzS0FGUEtpNzE0WWVYdGUrcmc2V1k4MnVxcnlwRERiTkhqSWVpNjVqV0dvcGRZUEx6TEk5c1Z3NDh5OHlqSXY3SjFaQVlycnp6YjBwNzUzcUJUQ0ZEN1p3PT0ifQ==
            processingInformation:
              paymentSolution: '001'
        example2:
          summary: Setup Completion with Tokenized Card
          value:
            paymentInformation:
              tokenizedCard:
                number: '4111111111111111'
                transactionType: '1'
                type: '001'
                expirationMonth: '11'
                expirationYear: '2025'
        example3:
          summary: Setup Completion with TMS Token
          value:
            paymentInformation:
              customer:
                customerId: 21607EACE092FD29E063A2598D0A01B8
        example4:
          summary: Setup Completion with Visa Checkout
          value:
            paymentInformation:
              visaCheckoutId: '4768462067836455354'
              paymentSolution: visacheckout
        example5:
          summary: Setup Completion with Flex Transient Token
          value:
            tokenInformation:
              jti: 1D5ZX4HMOV20FKEBE3IO240JWYJ0NJ90B4V9XQ6SCK4BDN0W96E65E2A39052056
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              type: object
              properties:
                clientReferenceInformation:
                  type: object
                  properties:
                    code:
                      type: string
                      maxLength: 59
                      description: 'Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each

                        transaction so that you can perform meaningful searches for the transaction.


                        #### Used by

                        **Authorization**

                        Required field.


                        #### PIN Debit

                        Requests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being

                        reversed.


                        Required field for all PIN Debit requests (purchase, credit, and reversal).


                        #### FDC Nashville Global

                        Certain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.

                        '
                    pausedRequestId:
                      type: string
                      maxLength: 26
                      description: 'Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.

                        '
                    comments:
                      type: string
                      maxLength: 255
                      description: 'Brief description of the order or any comment you wish to add to the order.

                        '
                    partner:
                      type: object
                      properties:
                        developerId:
                          type: string
                          maxLength: 8
                          description: 'Identifier for the developer that helped integrate a partner solution to CyberSource.


                            Send this value in all requests that are sent through the partner solutions built by that developer.

                            CyberSource assigns the ID to the developer.


                            **Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.

                            '
                        solutionId:
                          type: string
                          maxLength: 8
                          description: 'Identifier for the partner that is integrated to CyberSource.


                            Send this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.


                            **Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.

                            '
                paymentInformation:
                  type: object
                  properties:
                    card:
                      type: object
                      required:
                      - expirationMonth
                      - expirationYear
                      - number
                      properties:
                        type:
                          type: string
                          description: 'Three-digit value that indicates the card type.


                            **IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is

                            optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.


                            Possible values:

                            - `001`: Visa. Use card type value `001` for Visa Electron.

                            - `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.

                            - `003`: American Express

                            - `004`: Discover

                            - `005`: Diners Club

                            - `006`: Carte Blanche[^1]

                            - `007`: JCB[^1]

                            - `008`: Optima

                            - `009`: GE Private Label

                            - `010`: Beneficial Private Label

                            - `011`: Twinpay Credit Card

                            - `012`: Twinpay Debit Card

                            - `013`: WalMart

                            - `014`: Enroute[^1]

                            - `015`: Lowe''s Consumer

                            - `016`: Home Depot Consumer

                            - `017`: MBNA

                            - `018`: Dick''s Sportswear

                            - `019`: Casual Corner

                            - `020`: Sears

                            - `021`: JAL[^1]

                            - `023`: Disney Card

                            - `024`: Maestro (UK Domestic)[^1]

                            - `025`: Sam''s Club Consumer

                            - `026`: Sam''s Club Business

                            - `027`: Nico''s

                            - `028`: Paymentech Bill Me Later

                            - `029`: Bebe

                            - `030`: Restoration Hardware

                            - `031`: Delta Online

                            - `032`: Solo

                            - `033`: Visa Electron[^1]. Do not use this value. Use `001` for all Visa card types.

                            - `034`: Dankort[^1]

                            - `035`: Laser

                            - `036`: Cartes Bancaires[^1,4]

                            - `037`: Carta Si[^1]

                            - `038`: Pinless Debit

                            - `039`: Encoded account number[^1]

                            - `040`: UATP[^1]

                            - `041`: HOUSEHOLD

                            - `042`: Maestro (International)[^1]

                            - `043`: GE MONEY

                            - `044`: Korean Cards

                            - `045`: Style Cards

                            - `046`: JCrew

                            - `047`: Payeasecn eWallet

                            - `048`: Payeasecn Bank Transfer

                            - `049`: Meijer

                            - `050`: Hipercard[^2,3]

                            - `051`: Aura

                            - `052`: Redecard

                            - `053`: Orico card

                            - `054`: Elo[^3]

                            - `055`: Capitol One Private Label

                            - `056`: Carnet

                            - `057`: Costco Private Label

                            - `058`: Carnet

                            - `059`: ValueLink

                            - `060`: MADA

                            - `061`: RuPay

                            - `062`: China UnionPay

                            - `063`: Falabella Private Label

                            - `064`: Prompt Card

                            - `065`: Korean Domestic

                            - `066`: Banricompras

                            - `067`: MEEZA

                            - `068`: PayPak

                            - `070`: EFTPOS

                            - `071`: Codensa

                            - `072`: Olimpica

                            - `073`: Colsubsidio

                            - `074`: Tuya

                            - `075`: Sodexo

                            - `076`: Naranja

                            - `077`: Cabal

                            - `078`: DINELCO

                            - `079`: PANAL

                            - `080`: EPM

                            - `081`: Jaywan


                            [^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.

                            [^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.

                            [^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.

                            [^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.


                            #### Used by

                            **Authorization**

                            Required for Carte Blanche and JCB.

                            Optional for all other card types.


                            #### Card Present reply

                            This field is included in the reply message when the client software that is installed on the POS terminal uses

                            the token management service (TMS) to retrieve tokenized payment details. You must contact customer support to

                            have your account enabled to receive these fields in the credit reply message.


                            Returned by the Credit service.


                            This reply field is only supported by the following processors:

                            - American Express Direct

                            - Credit Mutuel-CIC

                            - FDC Nashville Global

                            - OmniPay Direct

                            - SIX


                            #### Google Pay transactions

                            For PAN-based Google Pay transactions, this field is returned in the API response.


                            #### GPX

                            This field only supports transactions from the following card types:

                            - Visa

                            - Mastercard

                            - AMEX

                            - Discover

                            - Diners

                            - JCB

                            - Union Pay International

                            '
                        expirationMonth:
                          type: string
                          maxLength: 2
                          description: 'Two-digit month in which the payment card expires.


                            Format: `MM`.


                            Valid values: `01` through `12`. Leading 0 is required.


                            #### Barclays and Streamline

                            For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value

                            (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is

                            in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause

                            the issuer to reject your request.


                            #### Encoded Account Numbers

                            For encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.


                            #### FDMS Nashville

                            Required field.


                            #### All other processors

                            Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured

                            for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine

                            whether a field is required for the transaction you are requesting.


                            #### Google Pay transactions

                            For PAN-based Google Pay transactions, this field is returned in the API response.

                            '
                        expirationYear:
                          type: string
                          maxLength: 4
                          description: 'Four-digit year in which the payment card expires.


                            Format: `YYYY`.


                            #### Barclays and Streamline

                            For Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.


                            #### Encoded Account Numbers

                            For encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.


                            #### FDMS Nashville

                            Required field.


                            #### FDC Nashville Global and FDMS South

                            You can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.


                            #### All other processors

                            Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured

                            for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine

                            whether a field is required for the transaction you are requesting.


                            #### Google Pay transactions

                            For PAN-based Google Pay transactions, this field is returned in the API response.

                            '
                        number:
                          type: string
                          maxLength: 20
                          description: 'The customer''s payment card number, also known as the Primary Account Number (PAN). You can also use this field

                            for encoded account numbers.


                            #### FDMS Nashville

                            Required. String (19)


                            #### GPX

                            Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured

                            for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine

                            whether a field is required for the transaction you are requesting.


                            #### All other processors

                            Required if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured

                            for relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine

                            whether a field is required for the transaction you are requesting.

                            '
                    tokenizedCard:
                      type: object
                      required:
                      - transactionType
                      - type
                      - expirationMonth
                      - expirationYear
                      - number
                      properties:
                        transactionType:
                          type: string
                          maxLength: 1
                          description: 'Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that

    

# --- truncated at 32 KB (334 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-payer-authentication-api-openapi.yml