openapi: 3.0.3
info:
  title: Mastercard Commercial Event Notifications
  description: >-
    Receive near real-time payment alerts enabling accurate completion and
    reconciliation of commercial payments
  version: 1.2.0
  contact:
    name: API Support
    email: apisupport@mastercard.com
    url: https://developer.mastercard.com/support
servers:
  - url: https://api.mastercard.com/commercial-event-notifications
    description: Production server URL
  - url: https://sandbox.api.mastercard.com/commercial-event-notifications
    description: Sandbox server URL
tags:
  - name: FieldMapping
    description: >-
      FieldMapping Operations - Retrieving field information for notification
      message content
  - name: Subscription
    description: >-
      Subscription Operations - Creating, retrieving, updating and deleting
      subscriptions
  - name: Notifications
    description: Notification Operations - Retrieving collection of generated notifications
paths:
  /fieldmappings:
    get:
      summary: Retrieving fieldmappings
      description: >-
        Retrieve field information for notification message content, which can
        be used to set up subscription filter specifications for those
        notifications.
      tags:
        - Field Mapping
      operationId: getFieldMapping
      responses:
        '200':
          $ref: '#/components/responses/FieldMappingSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
  /subscriptions:
    post:
      summary: Creating subscriptions
      description: >-
        Create a subscription that will cause notifications to be generated for
        the specified events.
      tags:
        - Subscriptions
      operationId: createSubscription
      requestBody:
        $ref: '#/components/requestBodies/CreateSubscription'
      responses:
        '201':
          $ref: '#/components/responses/CreatedSubscription'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
      callbacks:
        pushNotificationsMessage:
          to registered notification url:
            post:
              requestBody:
                description: Push Notifications message for subscribed events
                content:
                  application/json:
                    schema:
                      type: array
                      items:
                        $ref: '#/components/schemas/notification'
              responses:
                '200':
                  description: >
                    Your server implementation should return this HTTP status
                    code

                    if the data was received successfully
    get:
      summary: Retrieving subscriptions
      description: Retrieve the subscriptions defined for this client.
      tags:
        - Subscriptions
      operationId: getAllSubscriptions
      parameters:
        - $ref: '#/components/parameters/subscriptionsOffsetParam'
        - $ref: '#/components/parameters/subscriptionsLimitParam'
        - $ref: '#/components/parameters/sortParam'
      responses:
        '200':
          $ref: '#/components/responses/GetSubscription'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
  /subscriptions/{id}:
    get:
      summary: Retrieving subscription by id
      description: Retrieve the details of a subscription.
      tags:
        - Subscriptions
        - Subscription
      operationId: getSubscription
      parameters:
        - $ref: '#/components/parameters/subscriptionIdParam'
      responses:
        '200':
          $ref: '#/components/responses/GetSubscriptionsById'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      summary: Updating subscription
      description: Update an existing subscription.
      tags:
        - Subscriptions
        - Subscription
      operationId: updateSubscription
      parameters:
        - $ref: '#/components/parameters/subscriptionIdParam'
      requestBody:
        $ref: '#/components/requestBodies/UpdateSubscription'
      responses:
        '200':
          $ref: '#/components/responses/UpdatedSubscription'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      summary: Deleting subscription
      description: >-
        Deletes a subscription, with the effect that no further notifications
        will be generated for that subscription.
      tags:
        - Subscriptions
        - Subscription
      operationId: deleteSubscription
      parameters:
        - $ref: '#/components/parameters/subscriptionIdParam'
      responses:
        '204':
          description: >-
            No content, indicates that the subscription has been deleted
            successfully
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /notifications:
    get:
      summary: Getting notifications
      description: >
        This endpoint represents the collection of notifications that have been
        generated for the client within the retention period for notifications.
        A GET on this endpoint retrieves the notifications in a paginated
        manner.
      tags:
        - Notifications
      operationId: getNotifications
      parameters:
        - $ref: '#/components/parameters/startDateParam'
        - $ref: '#/components/parameters/endDateParam'
        - $ref: '#/components/parameters/subscriptionNameParam'
        - $ref: '#/components/parameters/subjectNameParam'
        - $ref: '#/components/parameters/pushStatusParam'
        - $ref: '#/components/parameters/notificationsOffsetParam'
        - $ref: '#/components/parameters/notificationsLimitParam'
      responses:
        '200':
          $ref: '#/components/responses/GetNotificationResponse'
        '400':
          $ref: '#/components/responses/NotFound'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    Subscription:
      properties:
        id:
          description: >-
            Subscription id, auto-generated by the system and read-only for the
            client
          type: string
          minLength: 1
          maxLength: 255
          readOnly: true
          example: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724070
        name:
          description: >-
            Subscription name - must be unique for the client and must comprise
            letters, numbers, dashes and underscores only. To check for
            uniqueness, you can retrieve the existing collection of
            subscriptions by performing a GET on the /subscriptions resource
          type: string
          minLength: 1
          maxLength: 50
          example: TEST_SUBSCRIPTION
        subjectType:
          description: >-
            The type of event to which this subscription refers. Currently
            allowed values are 'PAYMENT_AUTHORIZATION', 'PAYMENT_UPDATE',
            'CLEARING', 'BPC_PAYMENT_AUTHORIZATION', 'TOKEN_PROVISIONING_EVENT'
            and 'TOKEN_LIFECYCLE_EVENT'.
          type: string
          minLength: 1
          maxLength: 50
          enum:
            - PAYMENT_AUTHORIZATION
            - PAYMENT_UPDATE
            - CLEARING
            - BPC_PAYMENT_AUTHORIZATION
            - TOKEN_PROVISIONING_EVENT
            - TOKEN_LIFECYCLE_EVENT
          example: PAYMENT_AUTHORIZATION
        subscriberId:
          description: The id of the subscriber (client) to which the subscription belongs
          type: string
          minLength: 1
          maxLength: 255
          readOnly: true
          example: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724071
        active:
          description: >-
            Denotes whether the subscription is active (in which case
            notifications will be generated for matching events) or not (in
            which case no notifications will be generated for this subscription)
          type: boolean
          example: true
        specifications:
          description: >-
            A list of criteria specifications that define what events will cause
            notifications to be generated. If the list of specifications is
            empty, then notifications will be generated for all events for the
            specified subject type that the client is entitled to receive.
          type: array
          items:
            $ref: '#/components/schemas/Specification'
      required:
        - name
        - active
        - subjectType
    Specification:
      description: >-
        Specifies criteria to determine whether an event should cause a
        notification to be generated.
      type: object
      properties:
        id:
          description: >-
            Specification id, auto-generated by the system and read-only for the
            client
          type: string
          minLength: 1
          maxLength: 255
          readOnly: true
          example: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724072
        type:
          description: >-
            The type of item to which the criteria refers. Currently the type
            'FIELD' is allowed, which refers to matching a field in the
            notification itself
          type: string
          minLength: 1
          maxLength: 255
          default: FIELD
          example: FIELD
        operator:
          description: >-
            The operator that defines how this specification (criteria)
            logically relates to other specifications in the list. The first
            specification in the list will have an operator of 'WHERE' and
            subsequent specifications will have an 'AND' or 'OR' relationship
            with their preceding specification
          type: string
          minLength: 1
          maxLength: 255
          default: WHERE
          example: WHERE
        fieldMappingName:
          description: The name of the field that is to be checked
          type: string
          minLength: 1
          maxLength: 255
          example: purchaseRequest.rcnAlias
        fieldOperator:
          description: >-
            The check operation that is to be performed. Currently one of
            allowed values are 'EQUALS', 'GREATER_THAN', 'LESS_THAN', 'BETWEEN'
          type: string
          minLength: 1
          maxLength: 255
          default: EQUALS
          example: EQUALS
        expectedContent:
          $ref: '#/components/schemas/FieldContent'
        children:
          description: >-
            A list of nested child specifications, used where needed to
            implement complex matching logic
          type: array
          items:
            $ref: '#/components/schemas/Specification'
      required:
        - type
        - operator
        - fieldMappingName
        - fieldOperator
        - expectedContent
    FieldMapping:
      description: >-
        A collection of field definitions any of which can be used to specify
        matching criteria when creating a subscription.
      type: object
      properties:
        id:
          description: Field mapping id
          type: string
          minLength: 1
          maxLength: 255
          readOnly: true
          example: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724073
        name:
          description: The name used to refer to the field in the specification criteria.
          type: string
          minLength: 1
          maxLength: 255
          example: purchaseRequest.rcnAlias
        displayName:
          description: Descriptive name of the field
          type: string
          minLength: 1
          maxLength: 255
          example: Purchase request RCN alias
        subjectType:
          description: >-
            The type of subject to which the field refers. Currently allowed
            values are 'PAYMENT_AUTHORIZATION', 'PAYMENT_UPDATE', 'CLEARING',
            'BPC_PAYMENT_AUTHORIZATION', 'TOKEN_PROVISIONING_EVENT' and
            'TOKEN_LIFECYCLE_EVENT'.
          type: string
          minLength: 1
          maxLength: 50
          example: PAYMENT_AUTHORIZATION
        contentType:
          description: >-
            What type of information the field (and therefore the matching
            criteria for that field) will contain. Currently one of allowed
            values are 'INTEGER', 'number', 'TEXT', 'DATE', 'CURRENCY'.
          type: string
          default: TEXT
          example: TEXT
    FieldContent:
      description: >-
        The structure used to specify what content in the field should cause a
        match.
      type: object
      required:
        - contentType
        - value
      properties:
        contentType:
          description: >-
            The type of value that is being checked. Currently one of allowed
            values are 'INTEGER', 'number', 'TEXT', 'DATE', 'CURRENCY'
          type: string
          minLength: 1
          maxLength: 255
          default: TEXT
          example: TEXT
        value:
          description: The actual value to be checked
          type: object
          example: Travel Expense RCN
        anotherValue:
          description: >-
            An additional value to be checked, if the match operator takes more
            than one value (e.g. 'BETWEEN')
          type: object
          example: Travel Expense RCN
    SubscriptionDetails:
      properties:
        id:
          description: >-
            Subscription id, auto-generated by the system and read-only for the
            client
          type: string
          minLength: 1
          maxLength: 255
          readOnly: true
          example: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724070
        name:
          description: >-
            Subscription name - must be unique for the client and must comprise
            letters, numbers, dashes and underscores only. To check for
            uniqueness, you can retrieve the existing collection of
            subscriptions by performing a GET on the /subscriptions resource
          type: string
          minLength: 1
          maxLength: 50
          example: TEST_SUBSCRIPTION
        subjectType:
          description: >-
            The type of event to which this subscription refers. Currently
            allowed values are 'PAYMENT_AUTHORIZATION', 'PAYMENT_UPDATE',
            'CLEARING', 'BPC_PAYMENT_AUTHORIZATION', 'TOKEN_PROVISIONING_EVENT',
            'TOKEN_LIFECYCLE_EVENT'
          type: string
          minLength: 1
          maxLength: 50
          example: PAYMENT_AUTHORIZATION
        subscriberId:
          description: The id of the subscriber (client) to which the subscription belongs
          type: string
          minLength: 1
          maxLength: 255
          readOnly: true
          example: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724071
        active:
          description: >-
            Denotes whether the subscription is active (in which case
            notifications will be generated for matching events) or not (in
            which case no notifications will be generated for this subscription)
          type: boolean
          example: true
        specifications:
          description: >-
            A list of criteria specifications that define what events will cause
            notifications to be generated. If the list of specifications is
            empty, then notifications will be generated for all events for the
            specified subject type that the client is entitled to receive.
          type: array
          items:
            $ref: '#/components/schemas/SpecificationDetails'
      required:
        - name
        - active
        - subjectType
    SpecificationDetails:
      description: >-
        Specifies criteria to determine whether an event should cause a
        notification to be generated.
      type: object
      properties:
        id:
          description: >-
            Specification id, auto-generated by the system and read-only for the
            client
          type: string
          minLength: 1
          maxLength: 255
          readOnly: true
          example: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724072
        type:
          description: >-
            The type of item to which the criteria refers. Currently the type
            'FIELD' is allowed, which refers to matching a field in the
            notification itself
          type: string
          minLength: 1
          maxLength: 255
          default: FIELD
          example: FIELD
        operator:
          description: >-
            The operator that defines how this specification (criteria)
            logically relates to other specifications in the list. The first
            specification in the list will have an operator of 'WHERE' and
            subsequent specifications will have an 'AND' or 'OR' relationship
            with their preceding specification
          type: string
          minLength: 1
          maxLength: 255
          default: WHERE
          example: WHERE
        fieldMapping:
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/FieldMapping'
        fieldOperator:
          description: >-
            The check operation that is to be performed. Currently one of
            allowed values are 'EQUALS', 'GREATER_THAN', 'LESS_THAN', 'BETWEEN'
          type: string
          minLength: 1
          maxLength: 255
          default: EQUALS
          example: EQUALS
        expectedContent:
          $ref: '#/components/schemas/FieldContent'
        children:
          description: >-
            A list of nested child specifications, used where needed to
            implement complex matching logic
          type: array
          items:
            $ref: '#/components/schemas/SpecificationDetails'
      required:
        - type
        - operator
        - fieldMappingName
        - fieldOperator
        - expectedContent
    ICCPAuthorizationNotificationContent:
      description: >-
        The content of the notification, the structure of which depends on the
        subject.
      type: object
      properties:
        messageTypeIndicator:
          description: >-
            Message Type Identifier. Following are the possible values for
            messageTypeIndicator: 0110 (Authorization Response), 0120
            (Authorization Advice), 0400 (Reversal Request) and 0420 (Reversal
            Advice).
          type: string
          minLength: 4
          maxLength: 4
          example: '0110'
        systemTraceAuditNumber:
          description: >-
            Systems Trace Audit Number (STAN) is a number a message initiator
            assigns to uniquely identify a transaction. This value is derived
            from DE 11.
          type: string
          minLength: 1
          maxLength: 255
          example: '011174'
        financialNetworkCode:
          description: >-
            Financial network code derived from DE 63, subfield 1 identifies the
            specific program or service (for example, the financial network,
            financial program, or card program) with which the transaction is
            associated.
          type: string
          example: MCC
        banknetReferenceNumber:
          description: >-
            Banknet reference number derived from DE 63, subfield 2 is generated
            by the Authorization Platform for each originating message it
            routes. The reference number is guaranteed to be a unique value for
            any transaction within the specified financial network on any
            processing day.
          type: string
          example: Q4A91A
        transactionAmount:
          description: >-
            The transaction amount represented in minor units, which are the
            smallest units of a currency. The value is determined by the number
            of decimal places associated with the currency. Refers to DE 63,
            subfield 2.
          type: number
          example: 7550
        transactionCurrencyCode:
          description: Currency of the transaction (merchant currency) refers to DE 49.
          type: string
          example: USD
        billingAmount:
          description: >-
            Cardholder billing amount (DE 6) indicates the transaction amount in
            the issuers currency. It is the amount billed to the cardholder in
            the cardholder account currency, excluding cardholder billing fees
            and is represented in minor units, which are the smallest units of a
            currency. The value is determined by the number of decimal places
            associated with the currency.
          type: number
          example: 7550
        billingCurrencyCode:
          description: >-
            The currency code of the cardholder billing defines the currency of
            DE 6 (Amount, Cardholder Billing).
          type: string
          example: USD
        responseCode:
          description: >-
            DE 39 (Response Code) defines the disposition of a previous message
            or an action taken as a result of receipt of a previous message.
            Response codes also are used to indicate approval or decline of a
            transaction. In the event an authorization is declined, the response
            code indicates the reason for rejection and may indicate an action
            to be taken at the card acceptor (for example, capture card).
          type: string
          example: '00'
        authorizationCode:
          description: >-
            DE 38 (Authorization ID Response) contains the online authorization
            code provided by the issuer on the original authorization response.
            It is a transaction response ID code that the authorizing
            institution assigns. DE 38 is used to transmit a card issuers
            authorization code for Authorization transactions. In general, the
            authorization code used in DE 38 may be any combination of
            alphanumeric characters.
          type: string
          example: '502359'
        transmissionRawDate:
          description: >-
            DE 7, subfield 1 (Date) is the date (UTC) that the message was
            entered into the Mastercard Network in the format MMDD.
          type: string
          example: '1103'
        transmissionRawTime:
          description: >-
            DE 7, subfield 2 (Time) is the time (UTC) that the message was
            entered into the Mastercard Network in the format HHmmss.
          type: string
          example: '101611'
        settlementDate:
          description: >-
            Referring to DE 15, the reporting date to which a transaction
            applies in the format MMDD. This is the UTC date that the
            authorization is processed, not the date on which settlement will
            occur.
          type: string
          example: '0930'
        cardHolderTransactionTypeCode:
          description: DE 3, subfield 1 describes the specific transaction type.
          type: string
          example: '00'
        posTransactionStatus:
          description: >-
            DE 61, subfield 7 indicates the purpose or status of the request.
            Following are the possible values for posTransactionStatus:  0
            (Normal request [original presentment]),  2 (Identity Check Phone
            Order),  3 (ATM Installment Inquiry),  4 (Preauthorization
            request),  5 (Time Based Payment Authorization RequestBrazil
            domestic transactions),  6 (ATC Update),  8 (Account Status Inquiry
            Service (ASI)),  9 (Tokenization Request/Notification).
          type: string
          example: '0'
        traceId:
          description: >-
            Contains data from DE 63 (Network Data), subfield 1 (Financial
            Network Code) and subfield 2 (Banknet Reference Number) and DE 15
            (Date, Settlement) that is in the original Authorization Request
            Response/0110 message.
          type: string
          example: 'MCC9999991231  '
        merchant:
          description: Merchant details
          type: object
          properties:
            merchantId:
              description: >-
                DE 42 (Card Acceptor ID Code) identifies the card acceptor that
                defines the point of the transaction in both local and
                interchange environments. DE 42 is used as a merchant ID to
                uniquely identify the merchant in a POS transaction.
              type: string
              example: '497520000000000'
            categoryCode:
              description: >-
                DE 18 (Merchant Type) is the classification (card acceptor
                business code/merchant category code [MCC]) of the merchants
                type of business or service.
              type: string
              example: '5542'
            name:
              description: >-
                DE 43 (Acceptor Name and Location), subfield 1 (Acceptor Name)
                contains the merchant name against the merchant id. Merchant
                name is the merchant doing business as name.
              type: string
              example: JASPERHITECH
            city:
              description: >-
                ContainsDE 43 (Acceptor Name and Location), subfield 3 (Acceptor
                City) indicates the city of the merchant.
              type: string
              example: Jasper
            stateOrCountryCode:
              description: >-
                DE 43, subfield 5 contains the ISO 3166-1 country code of the
                merchant.
              type: string
              example: TN
        realPaymentCard:
          description: Real Payment Card Details
          type: object
          properties:
            number:
              description: >-
                DE 2 (Primary Account Number [PAN]) is a series of digits
                (represented masked) used to identify a customer account or
                relationship.
              type: string
              example: '************0112'
            expiryMonth:
              description: >-
                DE 14 (Date, Expiration) specifies the year and month after
                which an issuer assigns a cardholders card to be expired.
              type: string
              example: '12'
            expiryYear:
              description: >-
                DE 14 (Year, Expiration) specifies the year and month after
                which an issuer assigns a cardholders card to be expired.
              type: string
              example: '24'
        virtualPaymentCard:
          description: Virtual Payment Card Details
          type: object
          properties:
            number:
              description: >-
                DE 48, subelement 33, subfield 2 (Account Number) indicates the
                PAN (represented masked) mapping account number.
              type: string
              example: '************6213'
            expiryMonth:
              description: >-
                DE 48, subelement 33, subfield 3 (Expiration Date) indicates the
                expiration date of the PAN mapping account in format YYMM.
              type: string
              example: '09'
            expiryYear:
              description: >-
                DE 48, subelement 33, subfield 3 (Expiration Date) indicates the
                expiration date of the PAN mapping account in format YYMM.
              type: string
              example: '27'
        inControlOnBehalfServiceResult:
          description: >-
            In Control Service Result details, derived from DE 48 (Additional
            DataPrivate Use). DE 48 is reserved for private organizations to
            define data unique to specific networks or specific programs and
            services. DE 48 provides other supplemental data in a message when a
            specific ISO-designated data element is not available. It is a
            free-format, variable-length data element that may be used for
            multiple purposes.
          type: object
          properties:
            rcnServiceResultCode:
              description: >-
                In Control RCN Spend Control Service (generally will be null).
                DE 48, subelement 71 (On-behalf [OB] Services) notifies the
                issuer of the On-behalf Service performed on the transaction and
                the results. Subelement 71 will support up to ten services for a
                transaction.
              type: string
              example: ''
            vcnServiceResultCode:
              description: >-
                VCN Service Result Code. DE 48, subelement 71 (On-behalf [OB]
                Services) notifies the issuer of the On-behalf Service performed
                on the transaction and the results. Subelement 71 will support
                up to ten services for a transaction.
              type: string
              example: V
        originalMessage:
          description: >-
            Original message identifying information, in the case of a follow-up
            message. DE 90 (Original Data Elements) is the data elements in the
            original message, intended to identify a transaction for correction
            or reversal.
          type: object
          properties:
            messageTypeIndicator:
              description: >-
                DE 90, subfield 1 (Original Message Type Identifier) indicates
                the Message Type Identifier (MTI) of the original message.
              type: string
              minLength: 4
              maxLength: 4
              example: '0110'
            systemTraceAuditNumber:
              description: >-
                DE 90, subfield 2 (Original DE 11 [Systems Trace Audit Number])
                indicates the Systems Trace Audit Number (STAN) that was in DE
                11 of the original message.
              type: string
              example: '11174'
            transmissionRawDateTime:
              description: >-
                DE 90, subfield 3 (Original DE 7 [Transmission Date and Time])
                indicates the Transmission Date and Time that was in DE 7 of the
                original message.
              type: string
              example: '1029112800'
        advice:
          description: Advice information (valid for advice messages only, MTI=04xx).
          type: object
          properties:
            reasonCode:
              description: >-
                DE 60, subfield 1 (Advice Reason Code) indicates to the receiver
                of an Advice message the specific reason for the transmission of
                the Advice message.
              type: string
              example: '650'
        replacementAmounts:
          description: >-
            Replacement amounts, applicable for reversals, indicate the new
            values that replace the amounts in the original transaction. These
            amounts are represented in minor units, which are the smallest unit
            of a currency and vary depending on the number of decimal places
            used by the currency.
          type: object
          properties:
            transactionAmount:
              description: >-
                DE 95, subfield 1 (Actual Amount, Transaction) indicates the
                actual transaction amount. The amount for the replacement
                transaction represented in minor units, which are the smallest
                units of a currency. The value is determined by the number of
                decimal places associated with the currency.
              type: number
              example: 1200
            settlementAmount:
              description: >-
                DE 95, subfield 2 (Actual Amount, Settlement) indicates the
                actual settlement amount in the settlement currency. The amount
                for the settlement transaction represented in minor units, which
                are the smallest units of a currency. The value is determined by
                the number of decimal places associated with the currency.
              type: number
              example: 1200
            billingAmount:
              description: >-
                DE 95, subfield 3 (Actual Amount, Cardholder Billing) the actual
                amount in the issuer currency represented in minor units, which
                are the smallest units of a currency. The value is determined by
                the number of decimal places associated with the currency.
              type: number
              example: 1200
        purchaseRequest:
          description: Purchase Request Details
          type: object
          properties:
            purchaseRequestId:
              description: >-
                ICCP Purchase Request ID - uniquely identifies the purchase
                request and VCN
              type: integer
              example: 5213
            rcnAlias:
              description: Real card number alias
              type: string
              example: Travel Expense RCN
            companyId:
              description: >-
                ICCP Company ID - uniquely identifies the company that created
                the VCN
              type: integer
              example: 233191
            companyGuid:
              description: >-
                ICCP Company GUID - alternative ID to uniquely identify the
                company that created the VCN
              type: string
              example: >-
                SENTTY9951972A6FC0206CB494B560E5E6DC5D02A2BD21D89612EF4A18358ECC777DCF1494921797
            issuerGuid:
              description: >-
                ICCP Issuer GUID - uniquely identifies the issuer of the RCN
                funding the VCN
              type: string
              example: >-
                SENTTY5E4C4B4E0D1BF5991E64A1E0745F40A85B2510CE48EB537011DCED3C483669D61494938440
    BPSPaymentUpdateNotificationContent:
      description: >-
        The content of the notification, the structure of which depends on the
        subject.
      type: object
      properties:
        source:
          description: >-
            Originating system of the notification, which is Business Payment
            Service (BPS).
          type: string
          example: BPS
        purchaseRequestId:
          description: >-
            ICCP Purchase Request ID - uniquely identifies the purchase request
            and VCN
          type: string
          example: '360147'
        bpsTransactionId:
          description: BPS Payment Instruction ID.
          type: string
          example: 65098ff7-54f9-42fe-b89c-3fff8470658c
        status:
          description: |-
            Purchase request status in Business Payment Service (BPS).
              SUBMITTED: Payment instruction is submitted to Supplier Payment Agent.
              PENDING: Payment instruction is pending payment.
              RECEIVED: Payment instruction is received by Track BPS.
              ACCEPTED: Payment instruction is accepted by BPS based on the Suppliers Payment preferences.
              APPROVED: Payment instruction is approved by Supplier Payment Agent.
              DECLINED: Payment instruction is declined by Supplier Payment Agent.
          type: string
          example: APPROVED
        updatedDate:
          description: >-
            Last updated date (UTC) on which the purchase request is updated in
            BPS.
          type: string
          example: '2021-09-08T16:06:11.598505Z'
        transactionIdentification:
          description: Identification of the authorization transaction.
          type: object
          properties:
            approvalCode:
              description: Value assigned by the approval entity indicating approval.
              type: string
              example: SUBMITTED
            retrievalReferenceNumber:
              description: >-
                Reference supplied by the system retaining the original source
                information and used to assist in locating that information or a
                copy of the information.
              type: string
              example: testRetrievalReferenceNumber
            transactionReference:
              description: >-
                Identification of the transaction by the card acceptor. It may
                appear on the receipt of the cardholder. It remains unchanged
                throughout the lifetime of the transaction.
              type: string
              example: testTransactionReference
            transactionDateTime:
              description: >-
                Local date and time of the transaction assigned by the Point Of
                Interaction (POI).
              type: string
              example: '2021-08-17T17:37:23.230Z'
        statusReasonInformation:
          description: Identification of the authorization transaction.
          type: object
          properties:
            reasonCode:
              description: Specifies the reason for the status.
              type: string
              example: ALT_MOP_NOT_BPS
            description:
              description: Specifies the description for the status.
              type: string
              example: Does not accepts BPS payment
        errors:
          description: Error Codes
          type: object
          properties:
            reasonCode:
              description: Specifies the reason for the error.
              type: string
              example: parameter.limit.invalid
            description:
              description: Specifies the description for the error.
              type: string
              example: The start parameter is required but was not provided.
    BPCAuthorizationNotificationContent:
      description: >-
        Payment authorization details for a virtual card generated by Business
        Payment Controls.
      type: object
      properties:
        messageTypeIndicator:
          description: >-
            DE 90, subfield 1 specifies the message type indicator (MTI) present
            in the authorization message.
          type: string
          minLength: 4
          maxLength: 4
          example: '0100'
        traceId:
          description: >-
            Contains data from DE 63 (Network Data), subfield 1 (Financial
            Network Code) and subfield 2 (Banknet Reference Number) and DE 15
            (Date, Settlement) that is in the original Authorization Request
            Response/0110 message.
          type: string
          example: 'null'
        issuerGuid:
          description: The globally unique identifier of the issuer.
          type: string
          example: >-
            SENTTY5E4C4B4E0D1BF5991E64A1E0745F40A85B2510CE48EB537011DCED3C483669D61494938440
        corpGuid:
          description: >-
            Alternative ID used to uniquely identify the company that created
            the VCN.
          type: string
          example: >-
            SENTTY9951972A6FC0206CB494B560E5E6DC5D02A2BD21D89612EF4A18358ECC777DCF1494921797
        processor:
          description: ''
          type: object
          properties:
            issuerId:
              description: Unique identifier of the issuer
              type: integer
              example: 523456789
            responseCode:
              description: >-
                Two-character alphanumeric reason code received from the
                processor for the Advice/Reversal. For all possible values refer
                to Customer Interface Specification field name DE-39.
              type: string
              example: '00'
            financialNetworkCode:
              description: >-
                DE 63, subfield 1 identifies the specific program or service
                (for example, the financial network, financial program, or card
                program) with which the transaction is associated.
              type: string
              example: MCC
            banknetReferenceNumber:
              description: >-
                Banknet Reference Number is generated by the Authorization
                Platform for each originating message it routes. The reference
                number is guaranteed to be a unique value for any transaction
                within the specified financial network on any processing day.
                This value is derived from DE63, subfield 2.
              type: string
              example: Q4A91A
            onBehalfResult:
              description: >-
                Letter representing the decision that has been made. This value
                is derived from DE-48 SF71 subfield-1. For all possible values
                refer to Customer Interface Specification field name DE-48 SF71.
              type: string
              example: V
            onBehalfService:
              description: >-
                This field notifies the issuer of the On-behalf Service
                performed on the transaction and the results. This value is
                derived from DE-48 SF71 subfield-2. For all possible values
                refer to Customer Interface Specification field name DE-48 SF71.
              type: string
              example: '17'
        realPaymentCard:
          description: ''
          type: object
          properties:
            number:
              description: >-
                DE 2 (Primary Account Number [PAN]) is a series of digits used
                to identify a customer account or relationship.
              type: string
              example: '5540590000100111'
            expiry:
              description: >-
                DE 14 (Date, Expiration) specifies the year and month after
                which an issuer designates a cardholders card as expired.
              type: string
              example: '2404'
            accountGuid:
              description: Business Payment Controls real card Guid.
              type: string
              example: >-
                0ENT7d2bb852a22f822d441f61605054dab329ab2024a6c37cac5151e845cbb15d291698658882
        virtualPaymentCard:
          description: ''
          type: object
          properties:
            number:
              description: >-
                DE 48, subelement 33, subfield 2 (Account Number) indicates the
                Primary Account Number (PAN) mapping account number.
              type: string
              example: '5522446433180570'
            expiry:
              description: >-
                DE 48, subelement 33, subfield 3 (Expiration Date) indicates the
                expiration date of the PAN mapping account.
              type: string
              example: '2402'
            accountGuid:
              description: Business Payment Controls virtual card Guid.
              type: string
              example: SENTTY13379505AC33CDA796BCBE850EADAF625FAD6B071E8D100CB1ECBEA
        acceptor:
          description: >-
            A collection of field definitions that provide acceptor (merchant)
            details
          type: object
          properties:
            name:
              description: >-
                DE 43 (Acceptor Name and Location), subfield 1 (Acceptor Name)
                contains the name of the acceptor that should be recognizable by
                the cardholder and may include other descriptors, such as a
                store number.
              type: string
              example: acceptor.name
            cityName:
              description: >-
                DE 43 (Acceptor Name and Location), subfield 3 (Acceptor City)
                indicates the city of the merchant.
              type: string
              example: cityName
            subDivisionCode:
              description: >-
                DE 43, subfield 5 contains the ISO 3166-1 state or country code
                of the acceptor.
              type: string
              example: TN
            terminalId:
              description: >-
                DE 41 contains the identifier assigned by the acceptor or the
                acquirer to the terminal, payment gateway, or other acceptance
                device used to capture account data to affect a transaction at
                the acceptor location.
              type: string
              example: '0001'
            id:
              description: >-
                DE 42 contains Identifies the acceptor ID assigned by the
                acquirer to the acceptor and its location, or to the payment
                facilitator.
              type: string
              example: '497520000000000'
            merchantCategoryCode:
              description: >-
                DE 18 (Merchant Type) is the classification (acceptor business
                code/merchant category code [MCC]) of the merchants type of
                business or service.
              type: string
              example: '0041'
            merchantCategoryCodeDescription:
              description: >-
                Description of the merchant category code defined under DE 18
                (Merchant Type).
              type: string
              example: GAMBLING TRANSACTIONS
            environment:
              description: >-
                DE 22, subfield 1 (POS Terminal PAN Entry Mode) indicates the
                method (transaction environment) used for PAN entry to initiate
                a transaction.
              type: string
              example: 'null'
            localDate:
              description: >-
                DE 13 (Date, Local Transaction) is the local month and day on
                which the transaction takes place at the point of acceptor
                location. Date format in MMDD.
              type: string
              example: '0410'
            localTime:
              description: >-
                DE 12 (Time, Local Transaction) is the local time at which the
                transaction takes place at the point of acceptor location. Time
                format in hhmmss.
              type: string
              example: '092900'
            retrievalReferenceNumber:
              description: >-
                DE 37 (Retrieval Reference Number) is a document reference
                number supplied by the system retaining the original source
                document of the transaction and assists in locating that source
                document or a copy thereof.
              type: string
              example: '074975208903'
            posCountryCode:
              description: >-
                DE 61, subfield 13 (POS Country Code) indicates the country of
                the POS location (not the acquirer location) using ISO-specified
                codes.
              type: string
              example: '840'
            posCountryCodeDescription:
              description: >-
                Specifies the name of the country in which the merchant
                operates.
              type: string
              example: 'null'
            posTransactionStatus:
              description: >-
                Specifies the indicates the purpose or status of the request.
                For all possible values refer to Customer Interface
                Specification field name DE 61 S7.
              type: string
              example: '0'
            amount:
              description: ''
              type: object
              properties:
                amount:
                  description: >-
                    DE 4 (Amount, Transaction) specifies the amount requested by
                    the cardholder, denominated in the local currency of the
                    acquirer or the source location of the transaction. This
                    value is represented in minor units, which are the smallest
                    units of a currency and are determined by the number of
                    decimal places.
                  type: number
                  example: 9110
                currencyCode:
                  description: >-
                    DE 49 (Currency Code, Transaction) specifies the currency
                    code of the funds the cardholder requested in the local
                    currency of the acquirer or source location of the
                    transaction.
                  type: string
                  example: 840
                currencyCodeAlphabetic:
                  description: >-
                    Specifies the currency name of the funds the cardholder
                    requested in the local currency of the acquirer or source
                    location of the transaction.
                  type: string
                  example: USD
        cardHolderAmount:
          description: ''
          type: object
          properties:
            amount:
              description: >-
                DE 6 (Amount, Cardholder Billing) represents the transaction
                amount in the issuers currency. This is the amount billed to
                the cardholder in the cardholder's account currency, excluding
                any cardholder billing fees. The value is expressed in minor
                units, which are the smallest units of a currency and depend on
                the number of decimal places for that currency.
              type: number
              example: 16100
            currencyCode:
              description: >-
                DE 51 (Currency Code, Cardholder Billing) defines the currency
                of DE 6 (Amount, Cardholder Billing). It indicates the currency
                code of the transaction amount in the issuers currency.
              type: string
              example: 840
            currencyCodeAlphabetic:
              description: >-
                Indicates the currency name of the transaction amount in the
                issuers currency.
              type: string
              example: USD
        transactionInformation:
          description: ''
          type: object
          properties:
            acquirerInstitutionIdCode:
              description: >-
                DE 32 (Acquiring Institution ID Code) identifies the acquiring
                institution (for example, merchant bank) or its agent by
                Interbank Card Association ID.
              type: integer
              example: 5173
            forwardingInstitutionIdCode:
              description: >-
                Specifies the Interbank Card Association ID of the processor.
                This data element contains the identifier assigned by the
                acquirer to the acceptor and its location, or to the payment
                facilitator.
              type: integer
              example: 497520000000000
            conversionRateCardholderBilling:
              description: >-
                DE 10 (Conversion Rate, Cardholder Billing) is the factor used
                in the conversion (currency exchange rate) from transaction to
                cardholder billing amount.
              type: number
              example: 1234
            processingCode:
              description: >-
                DE 3 (Processing Code) describes the effect of a transaction on
                the customer account and the type of accounts affected.
              type: string
              example: '00'
            authCode:
              description: >-
                DE 38 (Authorization ID Response) is a transaction response ID
                code that the authorizing institution assigns. DE 38 is used to
                transmit a card issuers authorization code for Authorization
                transactions.
              type: string
              example: '04'
            dateTime:
              description: >-
                DE 7 (Transmission Date and Time) is the date and time that a
                message is entered into the Mastercard Network. Date and time
                must be expressed in Coordinated Universal Time (UTC). Date and
                time format is MM-DD'T'HH:MM:SS.SSSXXX".
              type: string
              example: 'null'
            environment:
              description: >-
                DE 22, subfield 1 (POS Terminal PAN Entry Mode) indicates the
                method used for PAN entry to initiate a transaction. Possible
                values are UNKNOWN, POS, MOTO, ECOM, ATM, PAYPASS, PWCB.
              type: string
              example: 'null'
            issuerResponse:
              description: >-
                Two-character alphanumeric reason code received from the
                processor for the Advice/Reversal. For all possible values refer
                to Customer Interface Specification field name DE-39.
              type: string
              example: 'null'
            systemTraceAuditNumber:
              description: >-
                Unique six-digit identifier generated by the Acquirer, must be
                the same in the Advice, will be different for the reversal.
              type: string
              example: '011174'
            reversal:
              description: ''
              type: object
              properties:
                replacementTransactionAmount:
                  description: >-
                    DE 95, subfield 1 (Actual Amount, Transaction) indicates the
                    amount for a reversal transaction in the case of a partial
                    reversal. This amount is represented in the smallest unit of
                    the currency, also known as minor units, and varies
                    depending on the number of decimal places the currency uses.
                  type: number
                  example: 100000
                replacementSettlementAmount:
                  description: >-
                    DE 95, subfield 2 (Actual Amount, Settlement) indicates the
                    actual settlement amount in the settlement currency in the
                    case of a partial reversal. This amount is represented in
                    the smallest unit of the currency, also known as minor
                    units, and varies depending on the number of decimal places
                    the currency uses.
                  type: number
                  example: '000000200000'
                replacementCardholderAmount:
                  description: >-
                    DE 95, subfield 3 (Actual Amount, Cardholder Billing) the
                    actual amount in the issuer currencyin the case of a partial
                    reversal. This amount is represented in minor units, which
                    are the smallest units of a currency, and is dependent on
                    the number of decimal places in the currency.
                  type: number
                  example: 300000
            posEntryMode:
              description: >-
                Indicates the method used for PAN entry to initiate a
                transaction and the PIN entry capabilities.
              type: string
              example: '801'
        originalMessage:
          description: ''
          type: object
          properties:
            messageTypeIndicator:
              description: >-
                Indicates the Message Type Identifier (MTI) of the original
                message.
              type: string
              minLength: 4
              maxLength: 4
              example: '0110'
            systemTraceAuditNumber:
              description: >-
                Unique six-digit identifier generated by the Acquirer, must be
                the same in the Advice, will be different for the reversal.
              type: string
              example: '011174'
            transmissionRawDateTime:
              description: >-
                Indicates the Transmission Date and Time that was in the
                original message when it entered into the Mastercard Network.
                Date and time must be expressed in Coordinated Universal Time
                (UTC).
              type: string
              example: '0412112800'
        advice:
          description: ''
          type: object
          properties:
            reasonCode:
              description: >-
                DE 60, subfield 1 (Advice Reason Code) indicates to the receiver
                of an Advice message the specific reason for the transmission of
                the Advice message.
              type: string
              example: '650'
        fundingSource:
          description: ''
          type: object
          properties:
            fundingSourceAlias:
              description: BPC Funding Source Alias
              type: string
              example: testFSAlias
            fundingSourceGuid:
              description: >-
                BPC Funding Source Guid. The globally unique identifier for the
                funding source.
              type: string
              example: >-
                0ENTde1a52b828ca014dff5de6038bbfab426f8f05ac5a2fc143783aeb01d161d6b11698658887
    ICCPClearingNotificationContent:
      description: >-
        The content of the notification, the structure of which depends on the
        subject.
      type: object
      properties:
        clearingTransactionId:
          description: Specifies the Clearing Incontrol transaction id.
          type: integer
          example: 123
        type:
          description: Incontrol specific field indicating if its a D(Debit) or C(Credit)
          type: string
          example: C
        acquirerReferenceData:
          description: >-
            The twenty-three-character alphanumeric acquirer Reference Data is
            data an acquirer supplies in an acquirer-originated message that may
            be required for an issuer to return to the acquirer in a subsequent
            message. DE 31 (Acquirer Reference Data) is data an acquirer
            supplies in an acquirer-originated message that may be required for
            an issuer to return to the acquirer in a subsequent message.
          type: string
          example: '39663858658842283834864'
        functionCode:
          description: >-
            The three-digit numeric function Code indicates a message specific
            purpose. DE 24 (Network International ID) identifies a single
            international network of card issuers.
          type: integer
          example: 200
        messageTypeId:
          description: >-
            Four-digit numeric field describing the type of message being
            interchanged. Possible values are: 1240-Presentment, 
            1442-Chargeback,  1644-Administrative,  1740-Fee Collection
          type: integer
          example: 1240
        txnType:
          description: Specifies the ICCP derived field from Message Type.
          type: string
          example: First Presentment
        isMastercardSwitched:
          description: >-
            Specifies the flag used to indicate if transaction is to or from
            issuer. Possible values are T(True) or F(False), where T = To Issuer
            (switched), F = From Issuer (non-switched).
          type: string
          example: T
        receiverId:
          description: >-
            Identifies the transaction destination institution. DE 100
            (Receiving Institution ID Code) is the identity of the institution
            receiving a Request or Advice message in an interchange system if
            not the same as identified in DE 2 (Primary Account Number [PAN]) or
            DE 34 (Primary Account Number [PAN], Extended).
          type: string
          example: '105678'
        messageReasonCode:
          description: >-
            The four-digit numeric code provides the message receiver with the
            reason for sending the message. DE 25 (Point-of-Service [POS]
            Condition Code) is an ID of the condition under which the
            transaction takes place at the point of interaction.
          type: integer
          example: 1401
        originalTransactionId:
          description: >-
            Specifies the In Control identifier for linked transaction. In
            Control txn ID of an original message.
          type: integer
          example: 127
        conversionRateCardholderBilling:
          description: >-
            Transaction exchange rate. DE 10 (Conversion Rate, Cardholder
            Billing) is the factor used in the conversion from transaction to
            cardholder billing amount. DE 4 (Amount, Transaction) is multiplied
            by DE 10 to determine DE 6 (Amount, Cardholder Billing).
          type: number
          example: 2
        authCode:
          description: >-
            The six-digit alphanumeric code used as authorization approval code
            of the issuer. DE 38 (Authorization ID Response) is a transaction
            response ID code that the authorizing institution assigns. DE 38 is
            used to transmit a card issuers authorization code for
            Authorization transactions.
          type: string
          example: '111111'
        processingCode:
          description: >-
            The processing Code. DE 3 (Processing Code) describes the effect of
            a transaction on the customer account and the type of accounts
            affected.
          type: string
          example: '010000'
        tokenPan:
          description: >-
            Specifies the PAN associated with the token, with digits 0-9, where
            minimum length is 12, and maximum  length is 19.
          type: string
          example: '1234567891011'
        posEntryMode:
          description: >-
            Codes that identify terminal capability, terminal environment, and
            point-of-interaction (POI) security data. DE 22 (Point-of-Service
            [POS] Entry Mode) indicates the method used for PAN entry to
            initiate a transaction and the PIN entry capabilities.
          type: string
          example: 099999B99001
        dateTimeTransactionLocal:
          description: >-
            Transaction timestamp is a string type which indicates the Datetime
            at which the transaction takes place at the card acceptor location.
            It should be in ISO Date Time with Offset format
            yyyy-MM-ddTHH:mm:ssXXX. It is combination of DE 12 and DE 13.
            DE12 - DE 12 (Time, Local Transaction) is the local time at which
            the transaction takes place at the point of card acceptor location.
            DE 13 - DE 13 (Date, Local Transaction) is the local month and day
            on which the transaction takes place at the point of card acceptor
            location.
          type: string
          example: '2020-07-16T11:09:42.10+01:00'
        settlementAmount:
          description: >-
            Specifies the amount of funds to be transferred between the acquirer
            and the issuer
          type: object
          properties:
            amount:
              description: >-
                DE 5 (Amount, Settlement) is the amount of funds to be
                transferred between the acquirer and the issuer equal to DE 4
                (Amount, Transaction) in the settlement currency. Mastercard
                programs and services use U.S. dollars as the currency of
                settlement.
              type: number
              example: 1234.56
            currencyCode:
              description: >-
                Specifies the currency code of funds to be transferred between
                the acquirer and the issuer.
              type: string
              example: '840'
            currencyCodeAlphabetic:
              description: >-
                Specifies the currency name of funds to be transferred between
                the acquirer and the issuer.
              type: string
              example: USD
        reversalIndicator:
          description: >-
            Flag which indicates the Reversal of a clearing. Supported values
            are true if this is a reversal, false otherwise.
          type: boolean
          example: 'false'
        isMatched:
          description: >-
            Status of the transaction. Values: S - Settled, F - Fraudulent.
            Incontrol specific status Clearing event should have only True or
            False value for this attribute. When value for event is Settled -
            S, it should be translated as True or else False.
          type: string
          example: 'true'
        originalOrLinked:
          description: >-
            Determines if it is an Original or linked transaction. Possible
            values can be O (Original), or L (Linked)
          type: string
          example: L
        controlsAppliedDateTime:
          description: >-
            Specifies the Settlement date, and should be in ISO Date Time with
            Offset format "yyyy-MM-dd'T'HH:mm:ssXXX". Defaults to System Date if
            not written by Settlement Process in Incontrol.
          type: string
          example: '2019-07-03T11:09:42.10+01:00'
        banknetReferenceNumber:
          description: >-
            Banknet Reference Number is generated by the Authorization Platform
            for each originating message it routes. The reference number is
            guaranteed to be a unique value for any transaction within the
            specified financial network on any processing day. DE 63 (Network
            Data) is generated by the Authorization Platform for each
            originating message routed through the network. The receiver must
            retain the data element and use it in any response or
            acknowledgement message associated with the originating message.
          type: string
          example: 4977D7
        destinationInstitutionIdCode:
          description: >-
            Identity of the institution receiving a request is a numeric value
            range from 6 to 11 digits. DE 100 (Receiving Institution ID Code) is
            the identity of the institution receiving a Request or Advice
            message in an interchange system if not the same as identified in DE
            2 (Primary Account Number [PAN]) or DE 34 (Primary Account Number
            [PAN], Extended). The Authorization Platform uses DE 100 to
            determine the destination routing of Administrative/06xx messages.
            For these messages, DE 33 (Forwarding Institution ID Code)
            identifies the sender of the message; DE 100 identifies the receiver
            of the message.
          type: integer
          example: 111111
        acquirerInstitutionIdCode:
          description: >-
            Interbank Card Association ID of the acquirer is numeric value range
            from 1 to 11 digits. DE 32 (Acquiring Institution ID Code)
            identifies the acquiring institution (for example, merchant bank) or
            its agent.
          type: integer
          example: 123456
        forwardingInstitutionIdCode:
          description: >-
            ICA of the processer if available. DE 33 (Forwarding Institution ID
            Code) identifies the institution forwarding a Request or Advice
            message in an interchange system if it is not the same institution
            as specified in DE 32 (Acquiring Institution ID Code). DE 33 is used
            within a message to contain the Mastercard six-digit customer ID
            number of the CPS or INF responsible for directly routing that
            message to the Authorization Platform.
          type: integer
          example: 322222
        cardHolderAmount:
          description: >-
            Indicates the transaction amount in the issuers currency. It is the
            amount billed to the cardholder in the cardholder account currency,
            excluding cardholder billing fees.
          type: object
          properties:
            amount:
              description: >-
                Indicates the value of transaction amount in the issuers
                currency.
              type: integer
              example: 1234.56
            currencyCode:
              description: >-
                Indicates the currency code of the transaction amount in the
                issuers currency.
              type: string
              example: 840
            currencyCodeAlphabetic:
              description: >-
                Indicates the currency name of the transaction amount in the
                issuers currency. It is the amount billed to the cardholder in
                the cardholder account currency, excluding cardholder billing
                fees
              type: string
              example: USD
        authorization:
          description: ''
          type: object
          properties:
            authorizationTransactionId:
              description: Specifies the Authorization Transaction ID used for matching.
              type: integer
              example: 2450
            systemTraceAuditNumber:
              description: >-
                Systems Trace Audit Number (STAN) is a number a message
                initiator assigns to uniquely identify a transaction.
              type: integer
              example: 2450
            type:
              description: >-
                Indicates the type of transaction. Valid values include: 0 =
                Auth,  1 = Advice,  2 = Reversal,  3 = Reversal advice,  4 =
                Offline Auth,  5 = Offline purchase return,  8 = Offline Auth
                for purchase return.  6,7 = Transaction types 6 & 7 are reserved
                for internal use
              type: integer
              example: 0
            acceptorLocalDate:
              description: >-
                Transaction local date in the format of MMDD. DE 13 (Date, Local
                Transaction) is the local month and day on which the transaction
                takes place at the point of card acceptor location. This date
                must be specified in local time zone units, not in UTC units.
                The original value of this data element must not be changed.
              type: string
              example: '0912'
            acceptorLocalTime:
              description: >-
                Transaction local time. DE 12 (Time, Local Transaction) is the
                local time at which the transaction takes place at the point of
                card acceptor location. Time must be specified in local time
                zone units, not in UTC units. The original value of this data
                element must not be changed.
              type: string
              example: '175603'
            mtIdType:
              description: >-
                Message Type Identifier. One of 0100 - Auth, 0120 - Advice, 0400
                - Reversal, 0420 - Reversal Advice.
              type: string
              example: '0100'
            cardHolderAmount:
              description: ''
              type: object
              properties:
                amount:
                  description: >-
                    DE 6 (Amount, Cardholder Billing) indicates the transaction
                    amount in the issuers currency. It is the amount billed to
                    the cardholder in the cardholder account currency, excluding
                    cardholder billing fees.
                  type: number
                  example: 75
                currencyCode:
                  description: >-
                    Indicates the currency code of the transaction amount in the
                    issuers currency. It is the amount billed to the cardholder
                    in the cardholder account currency, excluding cardholder
                    billing fees.
                  type: string
                  example: 840
                currencyCodeAlphabetic:
                  description: >-
                    Indicates the currency name of the transaction amount in the
                    issuers currency. It is the amount billed to the cardholder
                    in the cardholder account currency, excluding cardholder
                    billing fees.
                  type: string
                  example: USD
            effectOnBalance:
              description: >-
                This value will be same as DE 6 in event of Partial Replacement.
                In Partial replacement DE 95.3 will replace DE 6.
              type: integer
              example: 75
            acceptorAmount:
              description: ''
              type: object
              properties:
                amount:
                  description: >-
                    DE 4 (Amount, Transaction) is the amount of funds the
                    cardholder requested in the local currency of the acquirer
                    or source location of the transaction.
                  type: number
                  example: 999
                currencyCode:
                  description: >-
                    Specifies the currency code of amount of funds the
                    cardholder requested in the local currency of the acquirer
                    or source location of the transaction.
                  type: string
                  example: 840
                currencyCodeAlphabetic:
                  description: >-
                    Specifies the currency name of amount of funds the
                    cardholder requested in the local currency of the acquirer
                    or source location of the transaction.
                  type: string
                  example: USD
        virtualPaymentCard:
          description: Virtual Payment Card Details
          type: object
          properties:
            number:
              description: >-
                Specifies the Primary Account Number (PAN) of the VCN, which can
                have digits between 0 to 9, and has a length of 12 to 19 digits.
                The value is masked and only last four digits are visible.
              type: string
              example: '"************1234'
            expiry:
              description: Specifies the cardholders expiry in the format yyyy-MM
              type: string
              example: 2024-11
        realPaymentCard:
          description: Real Payment Card Details
          type: object
          properties:
            number:
              description: >-
                Specifies the Primary Account Number (PAN) of the RCN, which can
                have digits between 0 to 9, and has a length of 12 to 19 digits.
                The value is masked and only last four digits are visible.
              type: string
              example: '************7890'
            expiry:
              description: Specifies the cardholders expiry in the format yyyy-MM
              type: string
              example: 2026-11
        acceptor:
          description: ''
          type: object
          properties:
            merchantCategoryCode:
              description: >-
                Specifies the classification (card acceptor business
                code/merchant category [MCC] code) of the merchants type of
                business or service
              type: string
              example: '0041'
            merchantCategoryCodeDescription:
              description: >-
                Specifies the classification (card acceptor business
                code/merchant category [MCC] name) of the merchants type of
                business or service
              type: string
              example: GAMBLING TRANSACTIONS
            id:
              description: >-
                Identifies the card acceptor that defines the point of the
                transaction in both local and interchange environments. DE 42 is
                used as a merchant ID to uniquely identify the merchant in a POS
                transaction.
              type: string
              example: '305678'
            terminalId:
              description: Specifies the Point of Sale terminal Id
              type: string
              example: '98123456'
            name:
              description: >-
                Name of the supplier can be represented by max 22 alphanumeric
                character
              type: string
              example: AUTH_TEST
            additionalMerchantName:
              description: >-
                PDS 0171 (Alternate Card Acceptor Description Data) may provide
                a local language version of the data in DE 43 (Card Acceptor
                Name/Location) using a non-standard character set
              type: string
              example: GAMBLING TRANSACTIONS PVT LTD
            retrievalReferenceNumber:
              description: Specifies the Terminal transaction Number in a number format
              type: string
              example: '123456'
            streetAddress:
              description: Specifies the address of the merchant
              type: string
              example: 123 THE DRIVE
            cityName:
              description: >-
                City in which the merchant operates can be represented by max
                thirteen-character alphanumeric.
              type: string
              example: USA
            subDivisionCode:
              description: Specifies the three-character alphabetic State Code
              type: string
              example: CA
            postalCode:
              description: Specifies the post code for merchant address
              type: string
              example: '90213'
            countryCode:
              description: Specifies the merchant country codes, 3 digit country code
              type: string
              example: USA
            countryCodeDescription:
              description: Specifies the merchant country name
              type: string
              example: United States"
            amount:
              description: ''
              type: object
              properties:
                value:
                  description: >-
                    Specifies the amount of funds the cardholder requested in
                    the local currency of the acquirer or source location of the
                    transaction
                  type: number
                  example: 999
                currencyCode:
                  description: >-
                    Specifies the currency code of the funds the cardholder
                    requested in the local currency of the acquirer or source
                    location of the transaction
                  type: string
                  example: 840
                currencyCodeAlphabetic:
                  description: >-
                    Specifies the currency name of the funds the cardholder
                    requested in the local currency of the acquirer or source
                    location of the transaction
                  type: string
                  example: USD
        purchaseRequest:
          description: Purchase Request Details
          type: object
          properties:
            purchaseRequestId:
              description: >-
                ICCP Purchase Request ID - uniquely identifies the purchase
                request and VCN
              type: integer
              example: 5213
            rcnAlias:
              description: Real card number alias
              type: string
              example: Travel Expense RCN
            companyId:
              description: >-
                ICCP Company ID - uniquely identifies the company that created
                the VCN
              type: integer
              example: 233191
            companyGuid:
              description: >-
                ICCP Company GUID - alternative ID to uniquely identify the
                company that created the VCN
              type: string
              example: >-
                SENTTY9951972A6FC0206CB494B560E5E6DC5D02A2BD21D89612EF4A18358ECC777DCF1494921797
            issuerGuid:
              description: >-
                ICCP Issuer GUID - uniquely identifies the issuer of the RCN
                funding the VCN
              type: string
              example: >-
                SENTTY5E4C4B4E0D1BF5991E64A1E0745F40A85B2510CE48EB537011DCED3C483669D61494938440
    ICMPLifecycleNotificationContent:
      type: object
      properties:
        tokenInfo:
          type: object
          properties:
            accountNumber:
              description: Conatins the Token Account Number.
              type: string
              minLength: 12
              maxLength: 19
              example: XXXXXXXXXX4733
            expiry:
              description: Contains the token expiry date in YYYY-MM format.
              type: string
              minLength: 7
              maxLength: 7
              example: 2026-12
            accountGuid:
              description: The globally unique identifier of the token.
              type: string
              example: afb79fa1-da6c-44c7-adda-6d7f3931dda9
            createdDate:
              description: >-
                Date when the account was created, in ISO 8601 extended format.
                It can be either in UTC "YYYY-MM-DDThh:mm:ss[.sss]Z" or with an
                offset "YYYY-MM-DDThh:mm:ss[.sss]�hh:mm", where [.sss] is
                optional and can be 1 to 3 digits.
              type: string
              example: '2024-02-01T00:00:00Z'
            activatedDate:
              description: >-
                Date when the account was activated, in ISO 8601 extended
                format. It can be either in UTC "YYYY-MM-DDThh:mm:ss[.sss]Z" or
                with an offset "YYYY-MM-DDThh:mm:ss[.sss]�hh:mm", where [.sss]
                is optional and can be 1 to 3 digits.
              type: string
              example: '2024-02-12T00:00:00Z'
            lastUpdatedDate:
              description: >-
                Date when the account was last updated, in ISO 8601 extended
                format. It can be either in UTC "YYYY-MM-DDThh:mm:ss[.sss]Z" or
                with an offset "YYYY-MM-DDThh:mm:ss[.sss]�hh:mm", where [.sss]
                is optional and can be 1 to 6 digits.
              type: string
              example: '2024-02-12T15:19:36.633965Z'
        tokenType:
          description: >-
            Refers to the type of token requested for this digitization. Valid
            values are EMBEDDED_SE = Embedded Secure Element, CLOUD = Mastercard
            Cloud-Based, Payments | STATIC = Static token.
          type: string
          minLength: 1
          maxLength: 16
          example: CLOUD
        eventType:
          description: >-
            Refers to the type of the provisioning event. Valid values are
            CREATED, UPDATED, DELETED.
          type: string
          example: CREATED
        tokenRequestorId:
          description: >-
            Refers to the party that requested the digitization. This field is
            conditional and is required only if the tokens are assigned by MDES.
          type: string
          minLength: 11
          maxLength: 11
          example: '50134085386'
        correlationId:
          description: >-
            Contains the value linking pre-digitization messages generated
            during provisioning.
          type: string
          minLength: 1
          maxLength: 14
          example: D0013529619845
        status:
          description: >-
            The current status of token. Must be one of:  - INACTIVE - Token has
            not yet been activated, - ACTIVE - Token is active and ready to
            transact, - SUSPENDED - Token is suspended and unable to transact, -
            DEACTIVATED - Token has been permanently deactivated.
          type: string
          minLength: 1
          maxLength: 32
          example: SUSPENDED
        reasonCode:
          description: >-
            Contains the reason code for why the notification is being sent.
            This applies to all tokens in the Tokens array. Must be one of:  -
            STATUS_UPDATE- The status of the tokens has been changed, -
            REDIGITIZATION_COMPLETE - The token has been re-digitized to the
            device, - DELETED_FROM_CONSUMER_APP - The token has been deleted
            from the consumer application. The token may still be active.
          type: string
          minLength: 1
          maxLength: 32
          example: STATUS_UPDATE
        suspensionReasons:
          description: >-
            Refers to who or what caused the token to be suspended. The field is
            optional and is required only if status is SUSPENDED. Can have one
            or more values of: - ISSUER = Suspended by the Issuer, -
            TOKEN_REQUESTOR = Suspended by the Token Requestor, -
            MOBILE_PIN_LOCKED = Suspended due to the Mobile PIN being locked, -
            CARDHOLDER = Suspended by the Cardholder.
          type: array
          items:
            type: string
            example: CARDHOLDER
        requestedBy:
          description: >-
            Refers to who or what requested the token event. Can have one or
            more values of: - ISSUER = Requested by the Issuer, -
            TOKEN_REQUESTOR = Requested by the Token Requestor, -
            MOBILE_PIN_LOCK = Requested by a Mobile PIN Lock, - CARDHOLDER =
            Requested by the Cardholder, - SYSTEM = Requested by the System.
          type: string
          example: CARDHOLDER
        walletInfo:
          description: Contains information about the wallet.
          type: object
          properties:
            walletId:
              description: >-
                The identifier of the Wallet Provider who requested the
                digitization. Only present when the token is provided to a
                Wallet Provider.
              type: string
              minLength: 1
              maxLength: 3
              example: '123'
            paymentAppInstanceId:
              description: >-
                The identifier of the Payment App instance within a device that
                will be provisioned with a token. Only present when supplied by
                a Wallet Provider.
              type: string
              minLength: 1
              maxLength: 48
              example: 047C4395D11690022347075090475326A02CB5118F774F2F
            secureElementId:
              description: >-
                The identifier of the Secure Element to be provisioned with the
                token. Present only when the token is provisioned to a Secure
                Element and when provided by the Wallet Provider.
              type: string
              minLength: 1
              maxLength: 128
              example: 1b24f24a24ba98e27d43e345b532a245e4723d7a9c4f624e93452c
        vcnInfo:
          description: Contains information about the virtual card account.
          type: object
          properties:
            accountGuid:
              description: The globally unique identifier of the virtual card account.
              type: string
              example: 4fd7fe39-48de-464e-bed2-c148250d7047
            ownerInfo:
              description: Contains information about the Issuer and Corporate.
              type: object
              properties:
                issuerGuid:
                  description: The globally unique identifier of the Issuer.
                  type: string
                  example: >-
                    SENTTY83BAA6404E87C4D18F67669A687E8D8E86C9E74740FFE8EE403956EBEFF373661648820215
                corpGuid:
                  description: The globally unique identifier of the Corporate.
                  type: string
                  example: >-
                    SENTTYA9C1DB157A85313B10E11ACA0B508844145FB98B7A8529E3DA099F1E5D744ADD1692330249
            createdDate:
              description: >-
                Date when the account was created, in ISO 8601 extended format.
                It can be either in UTC "YYYY-MM-DDThh:mm:ss[.sss]Z" or with an
                offset "YYYY-MM-DDThh:mm:ss[.sss]�hh:mm", where [.sss] is
                optional and can be 1 to 3 digits.
              type: string
              example: '2024-02-01T00:00:00Z'
            lastUpdatedDate:
              description: >-
                Date when the account was last updated, in ISO 8601 extended
                format. It can be either in UTC "YYYY-MM-DDThh:mm:ss[.sss]Z" or
                with an offset "YYYY-MM-DDThh:mm:ss[.sss]�hh:mm", where [.sss]
                is optional and can be 1 to 3 digits.
              type: string
              example: '2024-02-12T15:19:36.633965Z'
            accountNumber:
              description: Contains the Card Account Number.
              type: string
              minLength: 12
              maxLength: 19
              example: XXXXXXXXXXX4547
            expiry:
              description: Card expiry date in YYYY-MM format.
              type: string
              minLength: 7
              maxLength: 7
              example: 2026-12
        rcnInfo:
          description: Contains information about the real card account.
          type: object
          properties:
            accountGuid:
              description: The globally unique identifier of the real card account.
              type: string
              example: 8f89407e-1c7f-4b4b-bfc7-a7ef47207022
            accountNumber:
              description: Contains the Card Account Number.
              type: string
              minLength: 12
              maxLength: 19
              example: XXXXXXXXXXX1234
            expiry:
              description: Card expiry date in YYYY-MM format.
              type: string
              minLength: 7
              maxLength: 7
              example: 2026-12
        purchaseRequest:
          description: Purchase Request Details.
          type: object
          properties:
            purchaseRequestId:
              description: >-
                ICCP Purchase Request ID - uniquely identifies the purchase
                request and VCN
              type: integer
              example: 5213
            rcnAlias:
              description: Real card number alias.
              type: string
              example: Travel Expense RCN
            companyId:
              description: >-
                ICCP Company ID - uniquely identifies the company that created
                the VCN.
              type: integer
              example: 233191
    ICMPProvisioningNotificationContent:
      type: object
      properties:
        tokenInfo:
          type: object
          properties:
            accountNumber:
              description: Conatins the Token Account Number.
              type: string
              minLength: 12
              maxLength: 19
              example: XXXXXXXXXX4733
            expiry:
              description: Contains the token expiry date in YYYY-MM format.
              type: string
              minLength: 7
              maxLength: 7
              example: 2026-12
            accountGuid:
              description: The globally unique identifier of the token.
              type: string
              example: afb79fa1-da6c-44c7-adda-6d7f3931dda9
            createdDate:
              description: >-
                Date when the account was created, in ISO 8601 extended format.
                It can be either in UTC "YYYY-MM-DDThh:mm:ss[.sss]Z" or with an
                offset "YYYY-MM-DDThh:mm:ss[.sss]�hh:mm", where [.sss] is
                optional and can be 1 to 3 digits.
              type: string
              example: '2024-02-01T00:00:00Z'
            activatedDate:
              description: >-
                Date when the account was activated, in ISO 8601 extended
                format. It can be either in UTC "YYYY-MM-DDThh:mm:ss[.sss]Z" or
                with an offset "YYYY-MM-DDThh:mm:ss[.sss]�hh:mm", where [.sss]
                is optional and can be 1 to 3 digits.
              type: string
              example: '2024-02-12T00:00:00Z'
            lastUpdatedDate:
              description: >-
                Date when the account was last updated, in ISO 8601 extended
                format. It can be either in UTC "YYYY-MM-DDThh:mm:ss[.sss]Z" or
                with an offset "YYYY-MM-DDThh:mm:ss[.sss]�hh:mm", where [.sss]
                is optional and can be 1 to 6 digits.
              type: string
              example: '2024-02-12T15:19:36.633965Z'
        tokenType:
          description: >-
            Refers to the type of token requested for this digitization. Valid
            values are EMBEDDED_SE = Embedded Secure Element, CLOUD = Mastercard
            Cloud-Based, Payments | STATIC = Static token.
          type: string
          minLength: 1
          maxLength: 16
          example: CLOUD
        eventType:
          description: >-
            Refers to the type of the provisioning event. Valid values are
            APPROVED, REQUIRE_ADDITIONAL_AUTHENTICATION, COMPLETED, REJECTED.
          type: string
          example: COMPLETED
        tokenRequestorId:
          description: >-
            Refers to the party that requested the digitization. This field is
            conditional and is required only if the tokens are assigned by MDES.
          type: string
          minLength: 11
          maxLength: 11
          example: '50134085386'
        reasonCode:
          description: >-
            Contains the reason code for why the notification is being sent.
            This applies to all tokens in the Tokens array. Must be one of: 
            STATUS_UPDATE- The status of the tokens has been changed,
            REDIGITIZATION_COMPLETE - The token has been re-digitized to the
            device, DELETED_FROM_CONSUMER_APP - The token has been deleted from
            the consumer application. The token may still be active.
          type: string
          minLength: 1
          maxLength: 32
          example: STATUS_UPDATE
        correlationId:
          description: >-
            Contains the value linking pre-digitization messages generated
            during provisioning.
          type: string
          minLength: 1
          maxLength: 14
          example: D0013529619845
        source:
          description: >-
            Contains the source of the account information. Must be one of: -
            ACCOUNT_ON_FILE : Source was an existing account on file, -
            ACCOUNT_ADDED_MANUALLY: Source was a new account entered manually be
            the account holder, - ACCOUNT_ADDED_VIA_APPLICATION: Source was new
            account added by another application (for example, Issuer banking
            app), - EXISTING_TOKEN_CREDENTIAL: Source was an existing token, -
            ACCOUNT_ADDED_VIA_BROWSER: Source was browser.
          type: string
          minLength: 1
          maxLength: 32
          example: ACCOUNT_ON_FILE
        tokenizedMetaData:
          type: object
          properties:
            accountHolderData:
              description: Contains the account holder's personal information.
              type: object
              properties:
                accountHolderName:
                  description: >-
                    Conatins the name of the account holder in the format
                    LASTNAME/FIRSTNAME or FIRSTNAME LASTNAME.
                  type: string
                  minLength: 1
                  maxLength: 27
                  example: John Doe
                accountHolderAddress:
                  description: >-
                    Contains the address for the account holder. Verified as
                    part of reaching the digitization decision.
                  type: object
                  properties:
                    city:
                      description: Refers to the city of the billing address.
                      type: string
                      minLength: 1
                      maxLength: 32
                      example: St. Louis
                    country:
                      description: >-
                        Refers to the country of the billing address. Expressed
                        as a 3-letter (alpha-3) country code as defined in ISO
                        3166-1.
                      type: string
                      minLength: 3
                      maxLength: 3
                      example: USA
                    countrySubdivision:
                      description: >-
                        Refers to the country subdivision (for example, the
                        state in the U.S.) of the billing address.
                      type: string
                      minLength: 1
                      maxLength: 12
                      example: MO
                    line1:
                      description: First line of the billing address.
                      type: string
                      minLength: 1
                      maxLength: 64
                      example: zSqLUXpVDvIlGHqBgwWwaqjefUprTD
                    line2:
                      description: Second line of the billing address.
                      type: string
                      minLength: 1
                      maxLength: 64
                      example: PzWcIVnnUAcwIhClfoRFCpXVBKXKTz
                    postalCode:
                      description: >-
                        Refers to the postal code (for example, zipcode in the
                        U.S.) of the billing address.
                      type: string
                      minLength: 1
                      maxLength: 16
                      example: '61000'
                accountHolderMobilePhoneNumber:
                  description: >-
                    accountHolderMobilePhoneNumber conatins the contact
                    details/mobile number details of the account holder.
                  type: object
                  properties:
                    countryDialInCode:
                      description: >-
                        Conatins the country code for the phone number. E.g. 1
                        for US or 44 for UK.
                      type: string
                      minLength: 1
                      maxLength: 4
                      example: '1'
                    phoneNumber:
                      description: >-
                        Contains the phone number, may contain country code
                        along with phone number when countryDialInCode is not
                        present.
                      type: string
                      minLength: 1
                      maxLength: 20
                      example: '4692392391'
                consumerIdentifier:
                  description: >-
                    Consumer Identifier provided by the token requestor. It's
                    not a mandatory field and is optionally present in
                    AuthorizeService when provided by the wallet provider.
                  type: string
                  minLength: 1
                  maxLength: 88
                  example: >-
                    1b24f24a24ba98e27d43e345b532a245e4723d7a9c4f624e93452c1b24f24a24b
                accountHolderEmailAddress:
                  description: >-
                    The email address of the account holder. Not required -
                    Optionally present in pushAccount request. Not present
                    otherwise.
                  type: string
                  minLength: 6
                  maxLength: 320
                  example: abc@email.com
                deviceLocation:
                  description: >-
                    Latitude and longitude where the device the consumer is
                    attempting to authorize is located. In the format "(sign)
                    latitude/(sign) longitude" with a precision of 2 decimal
                    places. Ex:"38.63/-90.2". Latitude is between -90 and 90 and
                    longitude is between -180 and 180.
                  type: string
                  minLength: 1
                  maxLength: 64
                  example: 38.63/-90.2
                sourceIp:
                  description: Contains the IP of the device initiating the request.
                  type: string
                  minLength: 7
                  maxLength: 64
                  example: 127.0.0.1
            paymentAccountReference:
              description: The unique account reference assigned to the PAN.
              type: string
              minLength: 29
              maxLength: 29
              example: 50017G8EU2RXB4YI1QIOT9R829RC4
            deviceInfo:
              description: Contains information about the target device to be provisioned.
              type: object
              properties:
                cardCaptureTechnology:
                  description: >-
                    The technology used to capture the card details. New values
                    can be added at any time and must not result in an error.
                    Must be one of: - CAMERA = The card details were captured
                    using the device camera,  - MANUAL = The card details were
                    manually entered,  - UNKNOWN = It is not known how the card
                    details were entered, READER_MODE = The card details were
                    captured using reader mode.
                  type: string
                  minLength: 1
                  maxLength: 32
                  example: CAMERA
                deviceName:
                  description: >-
                    Contains the name that the Account holder has associated to
                    the device with the Payment App Provider.
                  type: string
                  minLength: 1
                  maxLength: 64
                  example: Emerson Phone
                formFactor:
                  description: >-
                    The form factor of the device to be provisioned. New values
                    can be added without notice and should be accpeted. Must be
                    one of: - PHONE = Mobile phone, - TABLET = Tablet computer,
                    - TABLET_OR_EREADER = Tablet computer or e-reader, - WATCH =
                    Watch, - WATCH_OR_WRISTBAND = Watch or wristband, including
                    a fitness band, smart strap, disposable band, watch add-on,
                    security/ID Band, - CARD = Card, STICKER = Sticker, - PC =
                    PC or Laptop, - DEVICE_PERIPHERAL = Device peripherals, such
                    as a mobile phone case or sleeve, - TAG = Tag, such as a key
                    fob or mobile tag, - JEWELRY = Jewelry, such as a ring,
                    bracelet, necklace and cuff links, - FASHION_ACCESSORY =
                    Fashion accessory, such as a handbag, bag charm, glasses, -
                    GARMENT = Garment, such as a dress, - DOMESTIC_APPLIANCE =
                    Domestic appliance, such as a refrigerator, washing machine,
                    - VEHICLE = Vehicle, including vehicle attached devices, -
                    MEDIA_OR_GAMING_DEVICE = Media or gaming device, including a
                    set top box, media player, television, - UNDEFINED = Device
                    type that is not yet defined. Used for wallets introducing a
                    new device type that is not yet public knowledge.
                  type: string
                  minLength: 1
                  maxLength: 64
                  example: PHONE
                imei:
                  description: The IMEI number of the device being provisioned.
                  type: string
                  minLength: 15
                  maxLength: 15
                  example: '352099001761481'
                isoDeviceType:
                  description: >-
                    Contains the 2 digit device type provided on the iso
                    messages that the token is being provisioned to. Only
                    present when provided by a Wallet Provider.
                  type: string
                  minLength: 1
                  maxLength: 2
                  example: '09'
                msisdn:
                  description: The MSISDN of the device being provisioned.
                  type: string
                  minLength: 1
                  maxLength: 15
                  example: '7307406945'
                osName:
                  description: >-
                    The name of the device operating system. Must be one of: -
                    ANDROID = Google Android operating system, - WINDOWS =
                    Microsoft Windows operating system, - TIZEN = Tizen
                    operating system, - IOS = Apple iOS operating system, -
                    PAGARE_EMBEDDED_OS = FitPay embedded operating system, -
                    ANDROID_WEAR = Android wear operating system, - EMBEDDED_OS
                    = All Embedded operating system and Real time Operating
                    systems.
                  type: string
                  minLength: 1
                  maxLength: 32
                  example: ANDROID
                osVersion:
                  description: The version of the device operating system.
                  type: string
                  minLength: 1
                  maxLength: 32
                  example: 4.4.4
                paymentTypes:
                  description: >-
                    Different types of Payments supported for the token. Must be
                    one of below and Array [String] type: - NFC = The token is
                    NFC capable, - DSRP = The token is DSRP capable, - ECOMMERCE
                    = The token can be used for e-commerce transactions.
                  type: array
                  items:
                    type: string
                    example: NFC
                serialNumber:
                  description: Contains the serial number of the device. May be masked.
                  type: string
                  minLength: 1
                  maxLength: 64
                  example: 2F6D63
                storageTechnology:
                  description: >-
                    The architecture or technology used for token storage. Must
                    be one of: - DEVICE_MEMORY = Device memory, -
                    DEVICE_MEMORY_PROTECTED_TPM = Device memory using a
                    protected trust platform module, - TEE = Trusted execution
                    environment, - SE = Secure element, - SERVER = Server host,
                    - VEE - Virtual Execution Environment.
                  type: string
                  minLength: 1
                  maxLength: 32
                  example: SERVER
            accountIdHash:
              description: >-
                SHA-256 hash of the Account holder's account ID with the Payment
                App Provider. Typically expected to be an email address. Type -
                string (Alpha Numeric) Hex-encoded data (case-insensitive).
              type: string
              minLength: 1
              maxLength: 64
              example: 8F7A8970515A65202E24F7A7240557F467B5218433CD38BCA94778FB445A6952
            activeTokenCount:
              description: >-
                The number of active tokens that already exist for the Funding
                Account based on the token type. Secure Element and Cloud tokens
                are counted together. Valid values are 0 to 99. A value of 99
                means there are 99 or more active tokens. Tokens that have been
                deleted from the wallet are excluded from the count.
              type: string
              minLength: 1
              maxLength: 2
              example: '44'
            consumerFacingEntityName:
              description: >-
                Entity name that account holder recognizes as being where they
                store their PAN (wallets, merchants, commerce platforms&).
              type: string
              minLength: 1
              maxLength: 100
              example: MasterCard
        walletInfo:
          description: Contains information about the wallet.
          type: object
          properties:
            walletId:
              description: >-
                The identifier of the Wallet Provider who requested the
                digitization. Only present when the token is provided to a
                Wallet Provider.
              type: string
              minLength: 1
              maxLength: 3
              example: '103'
            paymentAppInstanceId:
              description: >-
                The identifier of the Payment App instance within a device that
                will be provisioned with a token. Only present when supplied by
                a Wallet Provider.
              type: string
              minLength: 1
              maxLength: 48
              example: 047C4395D11690022347075090475326A02CB5118F774F2F
            secureElementId:
              description: >-
                The identifier of the Secure Element to be provisioned with the
                token. Present only when the token is provisioned to a Secure
                Element and when provided by the Wallet Provider.
              type: string
              minLength: 1
              maxLength: 128
              example: 1b24f24a24ba98e27d43e345b532a245e4723d7a9c4f624e93452c
        walletProviderDecisioningInfo:
          description: >-
            Contains information about the decision recommended by the Wallet
            Provider.
          type: object
          properties:
            accountLifeTime:
              description: The lifetime of the account with the Token Requestor.
              type: string
              minLength: 1
              maxLength: 2
              example: '4'
            accountScore:
              description: >-
                Score given to the account by the Wallet Provider. Value must be
                between 1 and 5.
              type: string
              minLength: 1
              maxLength: 64
              example: '4'
            deviceScore:
              description: >-
                Score given to the device by the Wallet Provider. Value must be
                between 1 and 5.
              type: string
              minLength: 1
              maxLength: 64
              example: '3'
            phoneNumberScore:
              description: >-
                Score given to the phone number by the Wallet Provider. Value
                must be between 1 and 5.
              type: string
              minLength: 1
              maxLength: 64
              example: '3'
            recommendationReasons:
              description: >-
                Reasons provided to the Wallet Provider on how the recommended
                decision was reached. Please refer to the Reason Codes section
                in [Mastercard
                Developers](https://developer.mastercard.com/mdes-pre-digitization/documentation/code-formats/#reason-codes)
                for all eligible values. Type - Array [String].
              type: array
              items:
                type: string
                example: ACCOUNT_TOO_NEW
            recommendationStandardVersion:
              description: >-
                The standards version used by the Wallet Provider to determine
                the recommended decision.
              type: string
              minLength: 1
              maxLength: 64
              example: 1.0.0
            recommendedDecision:
              description: >-
                The decision recommended by the Wallet Provider. Must be one of:
                - APPROVED = Services request was approved, - DECLINED =
                Services request was declined, -
                REQUIRE_ADDITIONAL_AUTHENTICATION = Services request requires
                additional authentication to be approved.
              type: string
              minLength: 1
              maxLength: 64
              example: APPROVED
        vcnInfo:
          description: Contains information about the virtual card account.
          type: object
          properties:
            accountGuid:
              description: The globally unique identifier of the virtual card account.
              type: string
              example: 4fd7fe39-48de-464e-bed2-c148250d7047
            ownerInfo:
              description: Contains information about the Issuer and Corporate.
              type: object
              properties:
                issuerGuid:
                  description: The globally unique identifier of the Issuer.
                  type: string
                  example: >-
                    SENTTY83BAA6404E87C4D18F67669A687E8D8E86C9E74740FFE8EE403956EBEFF373661648820215
                corpGuid:
                  description: The globally unique identifier of the Corporate.
                  type: string
                  example: >-
                    SENTTYA9C1DB157A85313B10E11ACA0B508844145FB98B7A8529E3DA099F1E5D744ADD1692330249
            createdDate:
              description: >-
                Date when the account was created, in ISO 8601 extended format.
                It can be either in UTC "YYYY-MM-DDThh:mm:ss[.sss]Z" or with an
                offset "YYYY-MM-DDThh:mm:ss[.sss]�hh:mm", where [.sss] is
                optional and can be 1 to 3 digits.
              type: string
              example: '2024-02-01T00:00:00Z'
            lastUpdatedDate:
              description: >-
                Date when the account was last updated, in ISO 8601 extended
                format. It can be either in UTC "YYYY-MM-DDThh:mm:ss[.sss]Z" or
                with an offset "YYYY-MM-DDThh:mm:ss[.sss]�hh:mm", where [.sss]
                is optional and can be 1 to 3 digits.
              type: string
              example: '2024-02-12T15:19:36.633965Z'
            accountNumber:
              description: Contains the Card Account Number.
              type: string
              minLength: 12
              maxLength: 19
              example: XXXXXXXXXXX4547
            expiry:
              description: Card expiry date in YYYY-MM format.
              type: string
              minLength: 7
              maxLength: 7
              example: 2026-12
        rcnInfo:
          description: Contains information about the real card account.
          type: object
          properties:
            accountGuid:
              description: The globally unique identifier of the real card account.
              type: string
              example: 8f89407e-1c7f-4b4b-bfc7-a7ef47207022
            accountNumber:
              description: Contains the Card Account Number.
              type: string
              minLength: 12
              maxLength: 19
              example: XXXXXXXXXXX1234
            expiry:
              description: Card expiry date in YYYY-MM format.
              type: string
              minLength: 7
              maxLength: 7
              example: 2026-12
        purchaseRequest:
          description: Purchase Request Details.
          type: object
          properties:
            purchaseRequestId:
              description: >-
                ICCP Purchase Request ID - uniquely identifies the purchase
                request and VCN
              type: integer
              example: 5213
            rcnAlias:
              description: Real card number alias.
              type: string
              example: Travel Expense RCN
            companyId:
              description: >-
                ICCP Company ID - uniquely identifies the company that created
                the VCN.
              type: integer
              example: 233191
    notification:
      description: >-
        The notification structure - contains information about the notification
        and the notification content itself
      type: object
      properties:
        subject:
          description: >-
            The subject or type of event responsible for the notification to
            generate. Currently, this API supports PAYMENT_AUTHORIZATION,
            PAYMENT_UPDATE, CLEARING, BPC_PAYMENT_AUTHORIZATION ,
            TOKEN_PROVISIONING_EVENT and TOKEN_LIFECYCLE_EVENT events.
          type: string
          example: BPC_PAYMENT_AUTHORIZATION
        subscriptionName:
          description: Name of the subscription for which this notification was generated
          type: string
          example: subscription name
        pushStatus:
          description: >-
            Indicates the status of the push delivery for this notification. The
            possible values are: NOT_APPLICABLE: The service will not push the
            notification, because push delivery for this subscriber is disabled.
            PENDING: The notification is in the process of being delivered.
            DELIVERED: The service has pushed the notification to the push
            endpoint successfully. FAILED: The services attempts to deliver the
            notification have failed and no future deliveries will be performed.
            The notification is available via the pull approach until its
            retention period expires.
          type: string
          example: DELIVERED
        createdTimestamp:
          description: >-
            Indicates the UTC date and time when the notification was created.
            Note that this is independent of time that the event itself
            occurred. The time the event occurred may be present in the
            notification content.
          type: string
          example: '2019-01-01T12:00:00.000Z'
        idempotencyKey:
          description: >-
            The idempotency key is a free identifier created by the client to
            identify a request. It is used by the service to identify subsequent
            retries of the same request and ensure idempotent behavior by
            sending the same response without executing the request a second
            time. This field is only available for ICMP events
            (TOKEN_PROVISIONING_EVENT and TOKEN_LIFECYCLE_EVENT).
          type: string
          example: >-
            0CNSe09a5d3a26ae170adcc8b089cf8ea56c82c7d63df0e107cedee5199bac022a921724033906
        content:
          type: object
          oneOf:
            - $ref: '#/components/schemas/BPCAuthorizationNotificationContent'
            - $ref: '#/components/schemas/ICCPClearingNotificationContent'
            - $ref: '#/components/schemas/ICCPAuthorizationNotificationContent'
            - $ref: '#/components/schemas/BPSPaymentUpdateNotificationContent'
            - $ref: '#/components/schemas/ICMPLifecycleNotificationContent'
            - $ref: '#/components/schemas/ICMPProvisioningNotificationContent'
    NotificationsWrapper:
      description: >-
        The envelope that contains a number of notifications. The notifications
        delivered in the envelope may be a subset of the overall collection, due
        to pagination of the result set.
      type: object
      properties:
        count:
          description: The total number of notifications returned in a GET request.
          type: integer
          example: 50
        offset:
          description: >-
            Used for pagination - the offset into the overall notification
            collection at which these notifications begin.
          type: integer
          example: 0
        limit:
          description: >-
            Used for pagination - the limit or page size is specified (or
            defaulted) in the request and returned in the response. Each
            response page will contain at most this number of notifications. The
            default value for 'limit' is 200.
          type: integer
          example: 200
        total:
          description: >-
            The total number of notifications that fall within the scope of the
            GET request. This value may dynamically update in subsequent cals,
            to reflect new notifications or expired notifications.
          type: integer
          format: int64
          example: 2148
        notifications:
          description: The list of notifications in this wrapper structure
          type: array
          items:
            $ref: '#/components/schemas/notification'
    Error-400:
      type: object
      required:
        - Errors
      properties:
        Errors:
          type: object
          required:
            - Error
          properties:
            Error:
              type: array
              description: >-
                An array of error objects giving information about relevant
                errors.
              items:
                type: object
                properties:
                  Source:
                    type: string
                    description: The origin of the error
                    example: Commercial Event Notifications
                  ReasonCode:
                    type: string
                    description: A unique error code representing the error that occurred
                    example: format.invalid
                  Description:
                    type: string
                    description: >-
                      A developer-friendly description of the error that
                      occurred
                    example: One or more fields contain invalid data
                  Recoverable:
                    type: boolean
                    description: >-
                      Can the error be recovered by retrying the same request
                      later?
                    example: false
                  Details:
                    type: string
                    description: Additional details regarding the error that occurred
                    example: Invalid content in request payload
    Error-403:
      type: object
      required:
        - Errors
      properties:
        Errors:
          type: object
          required:
            - Error
          properties:
            Error:
              type: array
              description: >-
                An array of error objects giving information about relevant
                errors.
              items:
                type: object
                properties:
                  Source:
                    type: string
                    description: The origin of the error
                    example: Commercial Event Notifications
                  ReasonCode:
                    type: string
                    description: A unique error code representing the error that occurred
                    example: subscriber.notAllowed
                  Description:
                    type: string
                    description: >-
                      A developer-friendly description of the error that
                      occurred
                    example: Access not allowed
                  Recoverable:
                    type: boolean
                    description: >-
                      Can the error be recovered by retrying the same request
                      later?
                    example: false
                  Details:
                    type: string
                    description: Additional details regarding the error that occurred
                    example: >-
                      Subscriber with consumerKey 'INVALID_CONSUMER_KEY' doesn't
                      have permissions to complete the request
    Error-404:
      type: object
      required:
        - Errors
      properties:
        Errors:
          type: object
          required:
            - Error
          properties:
            Error:
              type: array
              description: >-
                An array of error objects giving information about relevant
                errors.
              items:
                type: object
                properties:
                  Source:
                    type: string
                    description: The origin of the error
                    example: Commercial Event Notifications
                  ReasonCode:
                    type: string
                    description: A unique error code representing the error that occurred
                    example: resource.not.found
                  Description:
                    type: string
                    description: >-
                      A developer-friendly description of the error that
                      occurred
                    example: The resource provided is not found
                  Recoverable:
                    type: boolean
                    description: >-
                      Can the error be recovered by retrying the same request
                      later?
                    example: false
                  Details:
                    type: string
                    description: Additional details regarding the error that occurred
                    example: The specified resource was not found
  examples:
    CreateICCPAuthorizationSubscription:
      value:
        name: TestSubscription_ICCPPaymentAuthorization
        subjectType: PAYMENT_AUTHORIZATION
        active: true
        specifications:
          - type: FIELD
            operator: WHERE
            children:
              - type: FIELD
                operator: AND
                fieldMappingName: virtualPaymentCard.number
                fieldOperator: EQUALS
                expectedContent:
                  value: '1234567890123456'
                  contentType: TEXT
                children: []
            fieldMappingName: purchaseRequest.rcnAlias
            fieldOperator: EQUALS
            expectedContent:
              value: BOC
              contentType: TEXT
    CreateICCPClearingSubscription:
      value:
        name: TestSubscription_ICCPClearing
        subjectType: CLEARING
        active: true
        specifications:
          - type: FIELD
            operator: WHERE
            children: []
            fieldMappingName: purchaseRequest.rcnAlias
            fieldOperator: EQUALS
            expectedContent:
              value: test rcn alias
              contentType: TEXT
    CreateBPSPaymentUpdateSubscription:
      value:
        name: TestSubscription_ICCPPaymentUpdate
        subjectType: PAYMENT_UPDATE
        active: true
        specifications: []
    CreateBPCAuthorizationSubscription:
      value:
        name: TestSubscription_BPCPaymentAuthorization
        subjectType: BPC_PAYMENT_AUTHORIZATION
        active: true
        specifications:
          - type: FIELD
            operator: WHERE
            children: []
            fieldMappingName: virtualPaymentCard.number
            fieldOperator: EQUALS
            expectedContent:
              value: '1234567890123456'
              contentType: TEXT
    CreateICMPProvisioningSubscription:
      value:
        name: TestSubscription_ICMPTokenProvisioning
        subjectType: TOKEN_PROVISIONING_EVENT
        active: true
        specifications:
          - type: FIELD
            operator: WHERE
            children: []
            fieldMappingName: purchaseRequest.rcnAlias
            fieldOperator: EQUALS
            expectedContent:
              value: TEXT
              contentType: TEXT
    CreateICMPLifecycleSubscription:
      value:
        name: TestSubscription_ICMPTokenLifeCycle
        subjectType: TOKEN_LIFECYCLE_EVENT
        active: true
        specifications:
          - type: FIELD
            operator: WHERE
            children: []
            fieldMappingName: purchaseRequest.rcnAlias
            fieldOperator: EQUALS
            expectedContent:
              value: TEXT
              contentType: TEXT
    UpdateICCPAuthorizationSubscription:
      value:
        name: TestSubscription_ICCPPaymentAuthorization_Updated
        subjectType: PAYMENT_AUTHORIZATION
        active: true
        specifications:
          - type: FIELD
            operator: WHERE
            children:
              - type: FIELD
                operator: AND
                fieldMappingName: purchaseRequest.rcnAlias
                fieldOperator: EQUALS
                expectedContent:
                  value: Travel Expense RCN
                  contentType: TEXT
                children: []
            fieldMappingName: purchaseRequest.rcnAlias
            fieldOperator: EQUALS
            expectedContent:
              value: BOC
              contentType: TEXT
    UpdateICCPClearingSubscription:
      value:
        name: TestSubscription_ICCPClearing_Updated
        subjectType: CLEARING
        active: true
        specifications:
          - type: FIELD
            operator: WHERE
            children: []
            fieldMappingName: purchaseRequest.rcnAlias
            fieldOperator: EQUALS
            expectedContent:
              value: test rcn alias
              contentType: TEXT
    UpdateBPSPaymentUpdateSubscription:
      value:
        name: TestSubscription_ICCPPaymentUpdate_Updated
        subjectType: PAYMENT_UPDATE
        active: true
        specifications: []
    UpdateBPCAuthorizationSubscription:
      value:
        name: TestSubscription_BPCPaymentAuthorization_Updated
        subjectType: BPC_PAYMENT_AUTHORIZATION
        active: true
        specifications:
          - type: FIELD
            operator: WHERE
            children: []
            fieldMappingName: messageTypeIndicator
            fieldOperator: EQUALS
            expectedContent:
              value: '12312'
              contentType: TEXT
    UpdateICMPProvisioningSubscription:
      value:
        name: TestSubscription_ICMPTokenProvisioningUpdated
        subjectType: TOKEN_PROVISIONING_EVENT
        active: true
        specifications:
          - type: FIELD
            operator: WHERE
            children: []
            fieldMappingName: purchaseRequest.rcnAlias
            fieldOperator: EQUALS
            expectedContent:
              value: TEXT
              contentType: TEXT
    UpdateICMPLifecycleSubscription:
      value:
        name: TestSubscription_ICMPTokenProvisioningUpdated
        subjectType: TOKEN_LIFECYCLE_EVENT
        active: true
        specifications:
          - type: FIELD
            operator: WHERE
            children: []
            fieldMappingName: purchaseRequest.rcnAlias
            fieldOperator: EQUALS
            expectedContent:
              value: TEXT
              contentType: TEXT
    GetNotificationICCPClearingResponse:
      value:
        count: 1
        offset: 0
        limit: 1
        total: 158748
        notifications:
          - subject: CLEARING
            subscriptionName: TestClearingSubscription
            pushStatus: DELIVERED
            createdTimestamp: '2024-05-30T01:06:20.874Z'
            content:
              clearingTransactionId: 9876996
              type: C
              acquirerReferenceData: '25502590195480000239999'
              functionCode: 200
              messageTypeId: 12345
              txnType: First Presentment
              isMastercardSwitched: T
              receiverId: '6789'
              messageReasonCode: 200
              originalTransactionId: 123456
              conversionRateCardholderBilling: 23.23
              authCode: '123'
              processingCode: '00'
              tokenPan: 'null'
              posEntryMode: 099999B99001
              dateTimeTransactionLocal: '2024-05-23T01:05:50.419541Z'
              settlementAmount:
                amount: 12.3
                currencyCode: '840'
                currencyCodeAlphabetic: USD
              reversalIndicator: false
              isMatched: S
              originalOrLinked: O
              controlsAppliedDateTime: '2024-05-23T01:05:50.419517Z'
              banknetReferenceNumber: '1234'
              destinationInstitutionIdCode: '64456'
              acquirerInstitutionIdCode: 10000
              forwardingInstitutionIdCode: 22222
              cardHolderAmount:
                amount: 41.2
                currencyCode: '840'
                currencyCodeAlphabetic: USD
              authorization:
                authorizationTransactionId: 567890
                systemTraceAuditNumber: 1234
                type: 0
                acceptorLocalDate: ''
                acceptorLocalTime: ''
                mtIdType: '1'
                cardHolderAmount:
                  amount: 123.2
                  currencyCode: '840'
                  currencyCodeAlphabetic: USD
                effectOnBalance: 1.2
                acceptorAmount:
                  amount: 21
                  currencyCode: '840'
                  currencyCodeAlphabetic: USD
              virtualPaymentCard:
                number: '****************1878'
                expiry: 2024-02
              realPaymentCard:
                number: '****************2222'
                expiry: 2024-02
              acceptor:
                merchantCategoryCode: '1711'
                merchantCategoryCodeDescription: HEATING, PLUMBING, AIR CONDITIONING CONTRACTORS
                id: '520009999999'
                terminalId: '01999999'
                name: sample name
                additionalMerchantName: SAMPLE MERCHANT
                retrievalReferenceNumber: '123'
                streetAddress: Wheel street
                cityName: dublin
                subDivisionCode: dublin
                postalCode: '432531'
                countryCode: '840'
                countryCodeDescription: XXX
                amount:
                  value: 14.1
                  currencyCode: '840'
                  currencyCodeAlphabetic: USD
              purchaseRequest:
                purchaseRequestId: 7022463
                rcnAlias: test
                companyId: 248947
                companyGuid: >-
                  SENTTY9F510FE8BABCAF905C9A137BD31DD94B3EC93B1B83CA0682D68BF21F6A0027D71560150210
                issuerGuid: >-
                  SENTTY55EA64767D38251998BDEF1A058EDA2F4F5A5A00F1580052C6D46330ED9514571560150119
    GetNotificationICCPAuthorizationResponse:
      value:
        count: 1
        offset: 0
        limit: 1
        total: 46058
        notifications:
          - subject: PAYMENT_AUTHORIZATION
            subscriptionName: TestICCPAuthorizationSubscription
            pushStatus: DELIVERED
            createdTimestamp: '2024-05-30T10:43:59.640Z'
            content:
              messageTypeIndicator: '0120'
              systemTraceAuditNumber: '011174'
              financialNetworkCode: MCC
              banknetReferenceNumber: Q4A91A
              transactionAmount: 9110
              transactionCurrencyCode: JPY
              billingAmount: 16100
              billingCurrencyCode: JPY
              responseCode: '00'
              authorizationCode: '009999'
              transmissionRawDate: '1103'
              transmissionRawTime: '101611'
              settlementDate: '0410'
              cardHolderTransactionTypeCode: '00'
              posTransactionStatus: '0'
              traceId: 'MCC9999991231  '
              merchant:
                merchantId: '497520000000000'
                categoryCode: '5542'
                name: Jasper
                city: 'Jasper       '
                stateOrCountryCode: 'TN '
              realPaymentCard:
                number: '****************0112'
                expiryMonth: '04'
                expiryYear: '24'
              virtualPaymentCard:
                number: '****************6090'
                expiryMonth: '02'
                expiryYear: '24'
              inControlOnBehalfServiceResult:
                rcnServiceResultCode: null
                vcnServiceResultCode: V
              originalMessage:
                messageTypeIndicator: '0100'
                systemTraceAuditNumber: '11174'
                transmissionRawDateTime: '0412112800'
              advice:
                reasonCode: '650'
              replacementAmounts:
                transactionAmount: 100000
                settlementAmount: 200000
                billingAmount: 300000
              purchaseRequest:
                purchaseRequestId: 7163960
                rcnAlias: test
                companyId: 248947
                companyGuid: >-
                  SENTTY9F510FE8BABCAF905C9A137BD31DD94B3EC93B1B83CA0682D68BF21F6A0027D71560150210
                issuerGuid: >-
                  SENTTY55EA64767D38251998BDEF1A058EDA2F4F5A5A00F1580052C6D46330ED9514571560150119
    GetNotificationBPCAuthorizationResponse:
      value:
        count: 1
        offset: 0
        limit: 1
        total: 119482
        notifications:
          - subject: BPC_PAYMENT_AUTHORIZATION
            subscriptionName: TestBPCAuthorizationSubscription
            pushStatus: DELIVERED
            createdTimestamp: '2024-05-30T06:09:28.409Z'
            content:
              messageTypeIndicator: '0100'
              systemTraceAuditNumber: '011174'
              traceId: MCC9999991200
              issuerGuid: >-
                SENTTY55EA64767D38251998BDEF1A058EDA2F4F5A5A00F1580052C6D46330ED9514571560150119
              corpGuid: >-
                SENTTY9F510FE8BABCAF905C9A137BD31DD94B3EC93B1B83CA0682D68BF21F6A0027D71560150210
              processor:
                issuerId: 1
                appliedDateTime: '0410'
                responseCode: '12'
                financialNetworkCode: MCC
                banknetReferenceNumber: CurrencyCodeExtraHeader1
                onBehalfResult: V
                onBehalfService: '17'
              realPaymentCard:
                number: '****************0112'
                expiry: '2404'
                accountGuid: >-
                  0ENTd5180861dab52b34f9854b4098eea4c2b5a9d29e923492b95d48e0152e6100ae1698658905
              virtualPaymentCard:
                number: '****************0576'
                expiry: '2402'
                accountGuid: >-
                  0ENTb7c9b10627302423cc08963bb1e01779868251f0eafd39783224af427fd5b2051698658907
              acceptor:
                name: acceptor.name
                cityName: cityName
                subDivisionCode: 'TN '
                terminalId: '0001'
                id: '497520000000000'
                merchantCategoryCode: '5542'
                environment: '0'
                localDate: '0410'
                localTime: '092900'
                retrievalReferenceNumber: '074975208903'
                posCountryCode: '840'
                posTransactionStatus: '0'
                amount:
                  amount: 9110
                  currencyCode: '840'
              cardHolderAmount:
                amount: 16100
                currencyCode: '840'
              transactionInformation:
                acquirerInstitutionIdCode: 5173
                forwardingInstitutionIdCode: 497520000000000
                conversionRateCardholderBilling: 1234
                processingCode: '00'
                authCode: '04'
                dateTime: '1103'
                environment: '0'
                issuerResponse: '00'
                systemTraceAuditNumber: '011174'
                reversal:
                  replacementTransactionAmount: 100000
                  replacementSettlementAmount: 200000
                  replacementCardholderAmount: 300000
                posEntryMode: '0'
              originalMessage:
                systemTraceAuditNumber: '011174'
                transmissionRawDateTime: transmissionRawDateTime
              advice:
                reasonCode: '650'
              fundingSource:
                fundingSourceAlias: Notif Test Alias
                fundingSourceGuid: >-
                  0ENT88251ced800ba36d3ab1b6cec151342e309d42605021e8503dfc3712d4cb9b911698658905
    GetNotificationBPSPaymentUpdateResponse:
      value:
        count: 1
        offset: 0
        limit: 1
        total: 22
        notifications:
          - subject: PAYMENT_UPDATE
            subscriptionName: TestBPSPaymentUpdateSubscription
            pushStatus: DELIVERED
            createdTimestamp: '2024-07-29T02:20:55.801Z'
            content:
              source: BPS
              purchaseRequestId: '5995026075916099'
              bpsTransactionId: '157231973'
              status: APPROVED
              updatedDate: '2024-07-29'
              transactionIdentification:
                approvalCode: AC
                retrievalReferenceNumber: Rreq_b7d45aaa82ad4d688b64e64b63001e39
                transactionReference: RE
                transactionDateTime: '2024-07-29'
              statusReasonInformation:
                - reasonCode: RC
                  description: description here
              errors: null
    GetSubscriptionICCPResponse:
      value:
        - id: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724070
          name: TestSubscription_PaymentAuthorization
          subjectType: PAYMENT_AUTHORIZATION
          subscriberId: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724071
          active: true
          specifications:
            - id: >-
                CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724072
              type: FIELD
              operator: WHERE
              fieldMapping:
                id: >-
                  CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724073
                name: purchaseRequest.rcnAlias
                displayName: Purchase request RCN alias
                subjectType: PAYMENT_AUTHORIZATION
                contentType: TEXT
              fieldOperator: EQUALS
              expectedContent:
                contentType: TEXT
                value: Travel Expense RCN
                anotherValue: {}
              children:
                - string
        - id: >-
            ABSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724070
          name: TestSubscription_PaymentUpdate
          subjectType: PAYMENT_UPDATE
          subscriberId: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724071
          active: true
          specifications: []
        - id: >-
            0CNS00773977af91478d9a21643947955dbbb7038e4958bda83e308689725096c4ac1712210079
          name: TestSubscription_Clearing
          subjectType: CLEARING
          subscriberId: A49875790BBF5F19E0535B449E0A5014
          active: true
          specifications:
            - id: >-
                0CNS9cc3a869f3010b380f72ebd92001cad9c0c7446609895f30b020f8e7e6aae7cc1712210079
              type: FIELD
              operator: WHERE
              children: []
              fieldMapping:
                id: 135E59332C54BF9AE06368459E0ACEF0
                name: purchaseRequest.rcnAlias
                displayName: purchaseRequest rcnAlias
                subjectType: CLEARING
                contentType: TEXT
              fieldOperator: EQUALS
              expectedContent:
                value: RcnAliasText
                contentType: TEXT
    GetSubscriptionBPSResponse:
      value:
        - id: >-
            ABSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724070
          name: TestSubscription_PaymentUpdate
          subjectType: PAYMENT_UPDATE
          subscriberId: >-
            CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724071
          active: true
          specifications: []
    GetSubscriptionBPCResponse:
      value:
        - id: >-
            0CNS2f3a8d6bbda7dcc282e0946a9b886231c99fd2e53ab8d3ca9c35144412c590121712030697
          name: TestSubscription_BPC
          subjectType: BPC_PAYMENT_AUTHORIZATION
          subscriberId: 0CED10E7921EFFF6E06368459E0AD156
          active: true
          specifications:
            - id: >-
                0CNS9f5a947e901b39a123ed6a9cf2cbedcf019d5880f6d65321c78e89a546043f6f1712030697
              type: FIELD
              operator: WHERE
              children: []
              fieldMapping:
                id: 141747A087B5DC9DE06368459E0AC116
                name: corpGuid
                displayName: CorpGuid
                subjectType: BPC_PAYMENT_AUTHORIZATION
                contentType: TEXT
              fieldOperator: EQUALS
              expectedContent:
                value: >-
                  SENTTYA75A95EEE00B3DC279FCBF82AC3CD834F9C6DDCEFA44B22CEBF842EF4E9750921701908872
                contentType: TEXT
    GetSubscriptionICMPResponse:
      value:
        id: >-
          0CNS8d3bb4d6a02504515a15c631eb60d03de5b9cf760348439320b4fdc135ef1e111719205036
        name: TestICMPProvisioningSubscription
        subjectType: TOKEN_PROVISIONING_EVENT
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNSfb3b539f47e9b95a267237c801e8818fd44b5b3c6aa957275bfd4d6dc9e9b2901719205036
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: 1AD42C3FCAF22726E06368459E0A9487
              name: purchaseRequest.companyId
              displayName: Purchase Request Company Id
              subjectType: TOKEN_PROVISIONING_EVENT
              contentType: INTEGER
            fieldOperator: EQUALS
            expectedContent:
              value: 248947
              contentType: INTEGER
          - id: >-
              0CNSfe566e15084e64a9c2baa0183aaa8b901ac6defebf5f413365ecad64ab604ec11721373472
            name: OpenAPITest_SUBSC_NAME_DONT_DELETE1790226083
            subjectType: TOKEN_LIFECYCLE_EVENT
            subscriberId: A49875790BBF5F19E0535B449E0A5014
            active: true
            specifications:
              - id: >-
                  0CNS658f593db73c43ff9a1cc28a9053007ffdba8894649ce9d34f9cdedf430939eb1721373472
                type: FIELD
                operator: WHERE
                children: []
                fieldMapping:
                  id: 1B9E8BCF021563E6E06368459E0AB38F
                  name: purchaseRequest.rcnAlias
                  displayName: Purchase Request RCN Alias
                  subjectType: TOKEN_LIFECYCLE_EVENT
                  contentType: TEXT
                fieldOperator: EQUALS
                expectedContent:
                  value: RcnAliasText
                  contentType: TEXT
    GetNotificationICMPProvisioningResponse:
      value:
        count: 1
        offset: 0
        limit: 1
        total: 12604
        notifications:
          - subject: TOKEN_PROVISIONING_EVENT
            subscriptionName: TEST1_TOKEN__SUBSCRIBER_withoutspec
            pushStatus: DELIVERED
            createdTimestamp: '2024-06-18T13:14:14.521Z'
            idempotencyKey: >-
              0CNSe09a5d3a26ae170adcc8b089cf8ea56c82c7d63df0e107cedee5199bac022a921724033906
            content:
              tokenInfo:
                accountNumber: '****************1234'
                expiry: '2024-07-04T10:39:36.727670300Z'
                accountGuid: fd7fe39-48de-464e-bed2-c148250d2024
                createdDate: '2024-07-04T10:39:36.727670300Z'
                activatedDate: '2024-07-04T10:39:36.727670300Z'
                lastUpdatedDate: '2024-07-04T10:39:36.727670300Z'
              tokenType: CLOUD
              eventType: COMPLETED
              tokenRequestorId: '3911966485555'
              reasonCode: TEST
              correlationId: vPRbS5k
              source: ACCOUNT_ON_FILE
              tokenizedMetaData:
                accountHolderData:
                  accountHolderName: CXDzKYEdEbBI
                  accountHolderAddress:
                    line1: zSqLUXpVDvIlGHqBgwWwaqjefUprTD
                    line2: PzWcIVnnUAcwIhClfoRFCpXVBKXKTz
                    city: VtbWldDNyr
                    countrySubdivision: TinGpkyTrQ
                    postalCode: jPgSKxia
                    country: cbN
                  sourceIp: 127.0.0.1
                  deviceLocation: 38.63/-90.2
                  consumerIdentifier: RRVpadJNZRizXXsiSNOAjXZKotnbOLZL
                  accountHolderEmailAddress: abc@email.com
                  accountHolderMobilePhoneNumber:
                    countryDialInCode: qg
                    phoneNumber: cejvqlS
                paymentAccountReference: TEST_paymentAccountReference
                deviceInfo:
                  deviceName: hyXFWikbFTLnbFZXceWQAWKMNuAUSPXA
                  serialNumber: hnhoemOmejajGuFpFTKLnBtGySKZXjqx
                  formFactor: PHONE
                  isoDeviceType: sO
                  osName: ANDROID
                  osVersion: '4.4'
                  imei: '352099001761481'
                  msisdn: '7307406945'
                  paymentTypes:
                    - NFC
                  storageTechnology: SERVER
                  cardCaptureTechnology: CAMERA
                accountIdHash: 3eIWgiQAkw6Wel3qaOoYt400szJDwlee
                activeTokenCount: '44'
                consumerFacingEntityName: SRLuCGDgOnnuhcdhaLvZTGEqAdmDluCamUoaJysNluznpTJLXs
              walletInfo:
                walletId: '166'
                paymentAppInstanceId: 8WUzXTwOrkG77xekQf0r9Yw4
                secureElementId: 'null'
              walletProviderDecisioningInfo:
                recommendedDecision: APPROVED
                recommendationStandardVersion: 1.0.0
                deviceScore: '3'
                accountScore: '4'
                phoneNumberScore: '3'
                accountLifeTime: '4'
                recommendationReasons:
                  - ACCOUNT_TOO_NEW
              vcnInfo:
                accountNumber: ' ****************3589'
                expiry: 2026-12
                accountGuid: 4fd7fe39-48de-464e-bed2-c148250d2005
                ownerInfo:
                  issuerGuid: >-
                    SENTTY55EA64767D38251998BDEF1A058EDA2F4F5A5A00F1580052C6D46330ED9514571560150119
                  corpGuid: >-
                    SENTTY9F510FE8BABCAF905C9A137BD31DD94B3EC93B1B83CA0682D68BF21F6A0027D71560150210
              rcnInfo:
                accountNumber: '****************1115'
                expiry: 2025-12
                accountGuid: 8f89407e-1c7f-4b4b-bfc7-a7ef47201005
              purchaseRequest:
                purchaseRequestId: 7017240
                rcnAlias: TestRCN
                companyId: 248947
    GetNotificationICMPLifecycleResponse:
      value:
        count: 1
        offset: 0
        limit: 1
        total: 49
        notifications:
          - subject: TOKEN_LIFECYCLE_EVENT
            subscriptionName: TestICMPLifecycleSubscription
            pushStatus: DELIVERED
            createdTimestamp: '2024-07-11T10:41:49.588Z'
            idempotencyKey: >-
              0CNSe09a5d3a26ae170adcc8b089cf8ea56c82c7d63df0e107cedee5199bac022a921724033906
            content:
              tokenInfo:
                accountNumber: '****************1234'
                expiry: '2024-07-04T10:39:36.727670300Z'
                accountGuid: fd7fe39-48de-464e-bed2-c148250d2024
                createdDate: '2024-07-04T10:39:36.727670300Z'
                activatedDate: '2024-07-04T10:39:36.727670300Z'
                lastUpdatedDate: '2024-07-04T10:39:36.727670300Z'
              tokenType: CLOUD
              eventType: CREATED
              tokenRequestorId: '12342185998'
              correlationId: vPRbS5k
              status: A
              reasonCode: TEST
              suspensionReasons:
                - TEST1
                - Test2
              requestedBy: Jon Doe
              walletInfo:
                walletId: '166'
                paymentAppInstanceId: 8WUzXTwOrkG77xekQf0r9Yw4
                secureElementId: 'null'
              vcnInfo:
                accountNumber: '****************1415'
                expiry: 2026-12
                accountGuid: 4fd7fe39-48de-464e-bed2-c148250d2005
                ownerInfo:
                  issuerGuid: >-
                    SENTTY55EA64767D38251998BDEF1A058EDA2F4F5A5A00F1580052C6D46330ED9514571560150119
                  corpGuid: >-
                    SENTTY9F510FE8BABCAF905C9A137BD31DD94B3EC93B1B83CA0682D68BF21F6A0027D71560150210
                createdDate: '2024-07-04T10:39:36.727791100Z'
                lastUpdatedDate: '2024-07-04T10:39:36.727791100Z'
              rcnInfo:
                accountNumber: '****************0112'
                expiry: 2025-12
                accountGuid: >-
                  0ENTd5180861dab52b34f9854b4098eea4c2b5a9d29e923492b95d48e0152e6100ae1698658905
              purchaseRequest:
                purchaseRequestId: 7408404
                rcnAlias: test
                companyId: 248947
    FieldMappingICCPAuthorizationResponse:
      value:
        - id: >-
            0CNS2cfa3d3977d6d991b7cd723570ba96bf6830ef4c4f897f4d00df0038e288f34c1556724071
          name: virtualPaymentCard.number
          displayName: Virtual card number
          subjectType: PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: >-
            0CNSa6d4a329d377bb296957df43e9f2f1ab5b35c997f88bcbc34939bc1525990be51556724071
          name: messageTypeIndicator
          displayName: Message type indicator
          subjectType: PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: >-
            0CNS05bb6badecddacf50a3c4c94184c6214f38e0980883b13bf7205165c7a74a8231556724071
          name: responseCode
          displayName: Response code
          subjectType: PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: >-
            0CNSddd4612f680dd452c61b945436e06f73e80786d7ebd6683d8cc0c7950bdd01211556724071
          name: inControlOnBehalfServiceResult.vcnServiceResultCode
          displayName: In Control VCN service result code
          subjectType: PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: >-
            0CNS14802eafac9cfe04d25da2a5944074eaa89bee5ca2136329e493399a27a39ccd1556724071
          name: purchaseRequest.rcnAlias
          displayName: Purchase request RCN alias
          subjectType: PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: >-
            0CNS0e2d81ac7109e23ee63d818f575d43e465ca193771eb510a4156d772fd98eb5a1556724071
          name: purchaseRequest.companyId
          displayName: Purchase request company id
          subjectType: PAYMENT_AUTHORIZATION
          contentType: INTEGER
        - id: >-
            0CNS1fe7275144b16a3ef1cec8f8261598d7491491c2894015d549ec00e13ba961a31556724071
          name: purchaseRequest.companyGuid
          displayName: Purchase request company GUID
          subjectType: PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: >-
            0CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724071
          name: purchaseRequest.issuerGuid
          displayName: Purchase request issuer GUID
          subjectType: PAYMENT_AUTHORIZATION
          contentType: TEXT
    FieldMappingICCPClearingResponse:
      value:
        - id: 135E59332C14BF9AE06368459E0ACEF0
          name: virtualPaymentCard.number
          displayName: virtual Card number
          subjectType: CLEARING
          contentType: TEXT
        - id: 16E733C760225235E06368459E0AD1EA
          name: purchaseRequest.rcnAlias
          displayName: purchaseRequest rcnAlias
          subjectType: CLEARING
          contentType: TEXT
        - id: 16E733C760235235E06368459E0AD1EA
          name: purchaseRequest.companyId
          displayName: purchaseRequest company Id
          subjectType: CLEARING
          contentType: INTEGER
        - id: 16E733C760245235E06368459E0AD1EA
          name: purchaseRequest.companyGuid
          displayName: purchaseRequest company Guid
          subjectType: CLEARING
          contentType: TEXT
        - id: 16E733C760255235E06368459E0AD1EA
          name: purchaseRequest.issuerGuid
          displayName: purchaseRequest issuer Guid
          subjectType: CLEARING
          contentType: TEXT
        - id: 16E733C75FE65235E06368459E0AD1EA
          name: acceptor.merchantCategoryCode
          displayName: acceptor merchantCategoryCode
          subjectType: CLEARING
          contentType: TEXT
        - id: 16E733C760065235E06368459E0AD1EA
          name: isMatched
          displayName: isMatched
          subjectType: CLEARING
          contentType: TEXT
        - id: 16E733C7600B5235E06368459E0AD1EA
          name: type
          displayName: type
          subjectType: CLEARING
          contentType: TEXT
    FieldMappingBPCAuthorizationResponse:
      value:
        - id: 141747A087EADC9DE06368459E0AC116
          name: fundingSource.fundingSourceGuid
          displayName: Funding Source Guid
          subjectType: BPC_PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: 141747A087B1DC9DE06368459E0AC116
          name: messageTypeIndicator
          displayName: MessageTypeIndicator
          subjectType: BPC_PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: 141747A087B4DC9DE06368459E0AC116
          name: issuerGuid
          displayName: IssuerGuid
          subjectType: BPC_PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: 141747A087B5DC9DE06368459E0AC116
          name: corpGuid
          displayName: CorpGuid
          subjectType: BPC_PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: 141747A087B8DC9DE06368459E0AC116
          name: processor.responseCode
          displayName: Processor ResponseCode
          subjectType: BPC_PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: 141747A087BBDC9DE06368459E0AC116
          name: processor.onBehalfResult
          displayName: Processor OnBehalfResult
          subjectType: BPC_PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: 141747A087BFDC9DE06368459E0AC116
          name: realPaymentCard.accountGuid
          displayName: RealPaymentCard AccountGuid
          subjectType: BPC_PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: 141747A087C0DC9DE06368459E0AC116
          name: virtualPaymentCard.number
          displayName: VirtualPaymentCard Number
          subjectType: BPC_PAYMENT_AUTHORIZATION
          contentType: TEXT
        - id: 141747A087C2DC9DE06368459E0AC116
          name: virtualPaymentCard.accountGuid
          displayName: VirtualPaymentCard AccountGuid
          subjectType: BPC_PAYMENT_AUTHORIZATION
          contentType: TEXT
    FieldMappingICMPProvisioningResponse:
      value:
        - id: 1AD42C3FCAE62726E06368459E0A9487
          name: vcnInfo.accountNumber
          displayName: VCN Account Number
          subjectType: TOKEN_PROVISIONING_EVENT
          contentType: TEXT
        - id: 1AD42C3FCAE92726E06368459E0A9487
          name: vcnInfo.ownerInfo.issuerGuid
          displayName: VCN Issuer Guid
          subjectType: TOKEN_PROVISIONING_EVENT
          contentType: TEXT
        - id: 1AD42C3FCAF12726E06368459E0A9487
          name: purchaseRequest.rcnAlias
          displayName: Purchase Request RCN Alias
          subjectType: TOKEN_PROVISIONING_EVENT
          contentType: TEXT
        - id: 1AD42C3FCAF22726E06368459E0A9487
          name: purchaseRequest.companyId
          displayName: Purchase Request Company Id
          subjectType: TOKEN_PROVISIONING_EVENT
          contentType: INTEGER
    FieldMappingICMPLifecycleResponse:
      value:
        - id: 1AD42C3FCAE62726E06368459E0A9487
          name: vcnInfo.accountNumber
          displayName: VCN Account Number
          subjectType: TOKEN_LIFECYCLE_EVENT
          contentType: TEXT
        - id: 1AD42C3FCAE92726E06368459E0A9487
          name: vcnInfo.ownerInfo.issuerGuid
          displayName: VCN Issuer Guid
          subjectType: TOKEN_LIFECYCLE_EVENT
          contentType: TEXT
        - id: 1AD42C3FCAF12726E06368459E0A9487
          name: purchaseRequest.rcnAlias
          displayName: Purchase Request RCN Alias
          subjectType: TOKEN_LIFECYCLE_EVENT
          contentType: TEXT
        - id: 1AD42C3FCAF22726E06368459E0A9487
          name: purchaseRequest.companyId
          displayName: Purchase Request Company Id
          subjectType: TOKEN_LIFECYCLE_EVENT
          contentType: INTEGER
    ICCPAuthorizationSubscriptionResponse:
      value:
        id: >-
          0CNSf829c8c968765f86f51418c28d6b0430daa657174c3920a474890e540be5495d1718867617
        name: TestSubscription_ICCPAuth
        subjectType: PAYMENT_AUTHORIZATION
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNSa6d4b038aa40e844f3e521e8062c242de051c72be96cbc206666ea467069e9401718867617
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: >-
                0CNSa6d4a329d377bb296957df43e9f2f1ab5b35c997f88bcbc34939bc1525990be51556724071
              name: virtualpaymentcard.number
              displayName: VirtualPaymentCard Number
              subjectType: PAYMENT_AUTHORIZATION
              contentType: TEXT
            fieldOperator: EQUALS
            expectedContent:
              value: '1234567890123456'
              contentType: TEXT
    BPCAuthorizationSubscriptionResponse:
      value:
        id: >-
          0CNS5f3aee95730c70a70ca85cb66f13ac40eeb79c6bc508cbe58e1c74ae97f18bb01718868027
        name: TestSubscription_BPCAuth
        subjectType: BPC_PAYMENT_AUTHORIZATION
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNSa14d1f4baaadae35a8a83f65bb74914b002fbab44b4abf47039b687d5149fc3b1718868027
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: 1360ACE9C4D4CBFEE06368459E0ADD50
              name: virtualPaymentCard.number
              displayName: VirtualPaymentCard Number
              subjectType: BPC_PAYMENT_AUTHORIZATION
              contentType: TEXT
            fieldOperator: EQUALS
            expectedContent:
              value: '1234567890123456'
              contentType: TEXT
    BPSPaymentUpdateSubscriptionResponse:
      value:
        id: >-
          0CNSee76a6d031ba2166fe83ed7203f74b52134758270d1339c995b3be6c68a918211718964283
        name: TestSubscription_ICCPPaymentUpdate
        subjectType: PAYMENT_UPDATE
        subscriberId: C94BC2953D52DCE1E05368459E0ADF8E
        active: true
        specifications: []
    ICCPClearingSubscriptionResponse:
      value:
        id: >-
          0CNS0aa3f4e102b6f00976f9556d9af9951951ca3218f5d64d80c91b9057cdcff0a21718868785
        name: TestSubscription_ICCPClearing
        subjectType: CLEARING
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNS4ab8577afb3a04ffa75e1ae75beb4509ac850d259b322b3b8dc3c721ec56777d1718868785
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: 135E59332C54BF9AE06368459E0ACEF0
              name: purchaseRequest.rcnAlias
              displayName: purchaseRequest rcnAlias
              subjectType: CLEARING
              contentType: TEXT
            fieldOperator: EQUALS
            expectedContent:
              value: test rcn alias
              contentType: TEXT
    ICMPProvisioningSubscriptionResponse:
      value:
        id: >-
          0CNSa56c4e01133b472a532678ab1e02b394de1886b3692eb42c99287ef10cffa59c1720083461
        name: TestSubscription_ICMPTokenProvisioning
        subjectType: TOKEN_PROVISIONING_EVENT
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNSb12ce4d40ae45a3ff9cb9928f66ded61345e1cd45fc8d4991a0ce200d2b11ee11720083461
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: 1AD42C3FCAF12726E06368459E0A9487
              name: purchaseRequest.rcnAlias
              displayName: Purchase Request RCN Alias
              subjectType: TOKEN_PROVISIONING_EVENT
              contentType: TEXT
            fieldOperator: EQUALS
            expectedContent:
              value: TEXT
              contentType: TEXT
    ICMPLifecycleSubscriptionResponse:
      value:
        id: >-
          0CNSa56c4e01133b472a532678ab1e02b394de1886b3692eb42c99287ef10cffa59c1720083461
        name: TestSubscription_ICMPTokenLifecycle
        subjectType: TOKEN_LIFECYCLE_EVENT
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNSb12ce4d40ae45a3ff9cb9928f66ded61345e1cd45fc8d4991a0ce200d2b11ee11720083461
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: 1AD42C3FCAF12726E06368459E0A9487
              name: purchaseRequest.rcnAlias
              displayName: Purchase Request RCN Alias
              subjectType: TOKEN_LIFECYCLE_EVENT
              contentType: TEXT
            fieldOperator: EQUALS
            expectedContent:
              value: TEXT
              contentType: TEXT
    ICCPAuthorizationUpdatedSubscriptionResponse:
      value:
        id: >-
          0CNSf829c8c968765f86f51418c28d6b0430daa657174c3920a474890e540be5495d1718867617
        name: TestSubscription_ICCPAuthUpdated
        subjectType: PAYMENT_AUTHORIZATION
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNS9e4f526d9641a7e65247f832e6f98505330cfcdd2e1955fabaa711ad052160971718952594
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: >-
                0CNSa6d4a329d377bb296957df43e9f2f1ab5b35c997f88bcbc34939bc1525990be51556724071
              name: messageTypeIndicator
              displayName: Message type indicator
              subjectType: PAYMENT_AUTHORIZATION
              contentType: TEXT
            fieldOperator: EQUALS
            expectedContent:
              value: '12312'
              contentType: TEXT
    BPCAuthorizationUpdatedSubscriptionResponse:
      value:
        id: >-
          0CNS5f3aee95730c70a70ca85cb66f13ac40eeb79c6bc508cbe58e1c74ae97f18bb01718868027
        name: TestSubscription_BPCAuthUpdated
        subjectType: BPC_PAYMENT_AUTHORIZATION
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNS12fe24ddd5529bbfb317894e15b946ed3e5878b2382163ae9534b1cf38a3875a1718952480
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: 1360ACE9C4D4CBFEE06368459E0ADD50
              name: messageTypeIndicator
              displayName: MessageTypeIndicator
              subjectType: BPC_PAYMENT_AUTHORIZATION
              contentType: TEXT
            fieldOperator: EQUALS
            expectedContent:
              value: '12312'
              contentType: TEXT
    ICCPClearingUpdatedSubscriptionResponse:
      value:
        id: >-
          0CNS0aa3f4e102b6f00976f9556d9af9951951ca3218f5d64d80c91b9057cdcff0a21718868785
        name: TestSubscription_ICCPClearingUpdated
        subjectType: CLEARING
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNS91d2a2d3c9a517aee50830da16e83ed675262ca013fb9f82119867ccf4c5c1231718952258
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: 135E59332C54BF9AE06368459E0ACEF0
              name: purchaseRequest.rcnAlias
              displayName: purchaseRequest rcnAlias
              subjectType: CLEARING
              contentType: TEXT
            fieldOperator: EQUALS
            expectedContent:
              value: test rcn alias
              contentType: TEXT
    BPSPaymentUpdateUpdatedSubscriptionResponse:
      value:
        id: >-
          0CNSee76a6d031ba2166fe83ed7203f74b52134758270d1339c995b3be6c68a918211718964283
        name: TestSubscription_PaymentUpdateUpdated
        subjectType: PAYMENT_UPDATE
        subscriberId: C94BC2953D52DCE1E05368459E0ADF8E
        active: true
        specifications: []
    ICMPProvisioningUpdatedSubscriptionResponse:
      value:
        id: >-
          0CNSa56c4e01133b472a532678ab1e02b394de1886b3692eb42c99287ef10cffa59c1720083461
        name: TestSubscription_ICMPTokenProvisioningUpdated
        subjectType: TOKEN_PROVISIONING_EVENT
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNS63299c1c2fcd133327b88e12457b67333543ba4be3c1f77880b3fb99e25e31421720087279
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: 1AD42C3FCAF12726E06368459E0A9487
              name: purchaseRequest.rcnAlias
              displayName: Purchase Request RCN Alias
              subjectType: TOKEN_PROVISIONING_EVENT
              contentType: TEXT
            fieldOperator: EQUALS
            expectedContent:
              value: TEXT
              contentType: TEXT
    ICMPLifecycleUpdatedSubscriptionResponse:
      value:
        id: >-
          0CNSa56c4e01133b472a532678ab1e02b394de1886b3692eb42c99287ef10cffa59c1720083461
        name: TestSubscription_ICMPTokenProvisioningUpdated
        subjectType: TOKEN_LIFECYCLE_EVENT
        subscriberId: A49875790BBF5F19E0535B449E0A5014
        active: true
        specifications:
          - id: >-
              0CNS63299c1c2fcd133327b88e12457b67333543ba4be3c1f77880b3fb99e25e31421720087279
            type: FIELD
            operator: WHERE
            children: []
            fieldMapping:
              id: 1AD42C3FCAF12726E06368459E0A9487
              name: purchaseRequest.rcnAlias
              displayName: Purchase Request RCN Alias
              subjectType: TOKEN_LIFECYCLE_EVENT
              contentType: TEXT
            fieldOperator: EQUALS
            expectedContent:
              value: TEXT
              contentType: TEXT
  parameters:
    subscriptionsOffsetParam:
      in: query
      name: offset
      description: >-
        For pagination of responses - the offset from which to calculate the
        list of returned subscriptions. Defaults to 0
      schema:
        type: integer
      required: false
      example: 0
    notificationsOffsetParam:
      in: query
      name: offset
      description: >-
        For pagination - the offset within the current response stream of the
        notifications to read from
      schema:
        type: integer
      required: false
      example: 0
    subscriptionsLimitParam:
      in: query
      name: limit
      description: >-
        Number of Subscriptions to be returned per page. By Default 25
        Subscriptions are returned per page
      schema:
        type: integer
      required: false
      example: 10
    notificationsLimitParam:
      in: query
      name: limit
      description: >-
        For pagination - the number of notifications to return in a single
        response. The default value for limit is 200.
      schema:
        type: integer
      required: false
      example: 200
    sortParam:
      in: query
      name: sort
      description: >-
        Sort the returned subscriptions using the indicated fields and
        direction. For example, 'name' sorts by name ascending, '-id' sorts by
        subscription id descending. Defaults to sort by subscription name in
        ascending order
      schema:
        type: string
      required: false
      example: name
    subscriptionIdParam:
      in: path
      name: id
      description: >-
        Subscription ID - Find a Subscription ID by running POST /subscriptions
        or GET /subscriptions
      schema:
        type: string
      required: true
      example: >-
        0CNSa91bf379b48a593fd17f07f431bad8fb296796498f4e9982ea134394c1fa4f071556724070
    startDateParam:
      name: start
      description: >-
        Start date and time in UTC of the notifications to retrieve, including
        the start date-time specified
      schema:
        type: string
        format: date-time
      in: query
      required: true
      example: '2019-01-30T09:00:00.000Z'
    endDateParam:
      name: end
      description: >-
        End date and time in UTC of the notifications to retrieve, EXCLUDING the
        end date-time specified. This field is specified on an 'excluding' basis
        to allow the same value to be used as a start date-time in a later
        request without the risk of having overlapping data or gaps in the data
      schema:
        type: string
        format: date-time
      in: query
      required: true
      example: '2019-01-30T10:00:00.000Z'
    subscriptionNameParam:
      name: subscription_name
      description: >-
        Specify a subscription name to return notifications only for that
        subscription. Provide multiple values separated by commas. Skip this
        value to return notifications for all subscriptions defined for the
        subscriber.
      schema:
        type: array
        items:
          type: string
      in: query
      required: false
      example:
        - Unique subscription name
        - Another unique subscription name
    subjectNameParam:
      name: subject
      description: >-
        Subject name for which to return notifications (Example:
        PAYMENT_AUTHORIZATION, PAYMENT_UPDATE, CLEARING,
        BPC_PAYMENT_AUTHORIZATION, TOKEN_PROVISIONING_EVENT,
        TOKEN_LIFECYCLE_EVENT). Specify the subject to return notifications only
        for a particular event type.
      schema:
        type: string
      in: query
      required: false
      example: BPC_PAYMENT_AUTHORIZATION
    pushStatusParam:
      name: push_status
      description: >-
        Push notification delivery status (Example: FAILED, PENDING, DELIVERED,
        NOT_APPLICABLE). Allows the client to request a subset of notifications
        based on their push delivery status, e.g. to request all except those
        already delivered by the push mechanism
      schema:
        type: array
        items:
          type: string
      in: query
      required: false
      example:
        - PENDING
        - DELIVERED
  requestBodies:
    CreateSubscription:
      description: Subscription
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Subscription'
          examples:
            BPC PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/CreateBPCAuthorizationSubscription'
            ICCP CLEARING:
              $ref: '#/components/examples/CreateICCPClearingSubscription'
            ICCP PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/CreateICCPAuthorizationSubscription'
            BPS PAYMENT UPDATE:
              $ref: '#/components/examples/CreateBPSPaymentUpdateSubscription'
            ICMP TOKEN LIFECYCLE:
              $ref: '#/components/examples/CreateICMPLifecycleSubscription'
            ICMP TOKEN PROVISIONING:
              $ref: '#/components/examples/CreateICMPProvisioningSubscription'
    UpdateSubscription:
      description: Subscription
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Subscription'
          examples:
            BPC PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/UpdateBPCAuthorizationSubscription'
            ICCP CLEARING:
              $ref: '#/components/examples/UpdateICCPClearingSubscription'
            ICCP PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/UpdateICCPAuthorizationSubscription'
            BPS PAYMENT UPDATE:
              $ref: '#/components/examples/UpdateBPSPaymentUpdateSubscription'
            ICMP TOKEN LIFECYCLE:
              $ref: '#/components/examples/UpdateICMPLifecycleSubscription'
            ICMP TOKEN PROVISIONING:
              $ref: '#/components/examples/UpdateICMPProvisioningSubscription'
  responses:
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error-403'
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error-400'
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error-404'
    FieldMappingSuccess:
      description: OK
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/FieldMapping'
          examples:
            BPC PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/FieldMappingBPCAuthorizationResponse'
            ICCP CLEARING:
              $ref: '#/components/examples/FieldMappingICCPClearingResponse'
            ICCP PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/FieldMappingICCPAuthorizationResponse'
            ICMP TOKEN LIFECYCLE:
              $ref: '#/components/examples/FieldMappingICMPLifecycleResponse'
            ICMP TOKEN PROVISIONING:
              $ref: '#/components/examples/FieldMappingICMPProvisioningResponse'
    CreatedSubscription:
      description: CREATED
      headers:
        Location:
          description: URI with the ID that identifies the newly created subscription
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SubscriptionDetails'
          examples:
            BPC PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/BPCAuthorizationSubscriptionResponse'
            ICCP CLEARING:
              $ref: '#/components/examples/ICCPClearingSubscriptionResponse'
            ICCP PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/ICCPAuthorizationSubscriptionResponse'
            BPS PAYMENT UPDATE:
              $ref: '#/components/examples/BPSPaymentUpdateSubscriptionResponse'
            ICMP TOKEN LIFECYCLE:
              $ref: '#/components/examples/ICMPLifecycleSubscriptionResponse'
            ICMP TOKEN PROVISIONING:
              $ref: '#/components/examples/ICMPProvisioningSubscriptionResponse'
    GetSubscription:
      description: OK
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/SubscriptionDetails'
          examples:
            Business Payments Control:
              $ref: '#/components/examples/GetSubscriptionBPCResponse'
            In Control for Commercial Payments(ICCP):
              $ref: '#/components/examples/GetSubscriptionICCPResponse'
            In Control for Mobile Payments(ICMP):
              $ref: '#/components/examples/GetSubscriptionICMPResponse'
            Business Payment Service(STP):
              $ref: '#/components/examples/GetSubscriptionBPSResponse'
    GetSubscriptionsById:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SubscriptionDetails'
          examples:
            BPC PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/BPCAuthorizationSubscriptionResponse'
            ICCP CLEARING:
              $ref: '#/components/examples/ICCPClearingSubscriptionResponse'
            ICCP PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/ICCPAuthorizationSubscriptionResponse'
            BPS PAYMENT UPDATE:
              $ref: '#/components/examples/BPSPaymentUpdateSubscriptionResponse'
            ICMP TOKEN LIFECYCLE:
              $ref: '#/components/examples/ICMPLifecycleSubscriptionResponse'
            ICMP TOKEN PROVISIONING:
              $ref: '#/components/examples/ICMPProvisioningSubscriptionResponse'
    UpdatedSubscription:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SubscriptionDetails'
          examples:
            BPC PAYMENT AUTHORIZATION:
              $ref: >-
                #/components/examples/BPCAuthorizationUpdatedSubscriptionResponse
            ICCP CLEARING:
              $ref: '#/components/examples/ICCPClearingUpdatedSubscriptionResponse'
            ICCP PAYMENT AUTHORIZATION:
              $ref: >-
                #/components/examples/ICCPAuthorizationUpdatedSubscriptionResponse
            BPS PAYMENT UPDATE:
              $ref: >-
                #/components/examples/BPSPaymentUpdateUpdatedSubscriptionResponse
            ICMP TOKEN LIFECYCLE:
              $ref: '#/components/examples/ICMPLifecycleUpdatedSubscriptionResponse'
            ICMP TOKEN PROVISIONING:
              $ref: >-
                #/components/examples/ICMPProvisioningUpdatedSubscriptionResponse
    GetNotificationResponse:
      description: Collection of notification events
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotificationsWrapper'
          examples:
            BPC PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/GetNotificationBPCAuthorizationResponse'
            ICCP CLEARING:
              $ref: '#/components/examples/GetNotificationICCPClearingResponse'
            ICCP PAYMENT AUTHORIZATION:
              $ref: '#/components/examples/GetNotificationICCPAuthorizationResponse'
            BPS PAYMENT UPDATE:
              $ref: '#/components/examples/GetNotificationBPSPaymentUpdateResponse'
            ICMP TOKEN LIFECYCLE:
              $ref: '#/components/examples/GetNotificationICMPLifecycleResponse'
            ICMP TOKEN PROVISIONING:
              $ref: '#/components/examples/GetNotificationICMPProvisioningResponse'
