openapi: 3.0.0
info:
  title: Verifone eCommerce API
  description: |-
    The Verifone Payments API is built as a RESTful interface utilising JSON content to describe the payment transactions being performed.
  version: 2.38.1
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  contact: {}
servers:
  - url: https://emea.gsc.verifone.cloud/oidc
    description: EMEA Production
  - url: https://us.gsc.verifone.cloud/oidc
    description: Americas Production
  - url: https://nz.gsc.verifone.cloud/oidc
    description: New Zealand Production
  - url: https://cst.test-gsc.vfims.com/oidc
    description: Global Sandbox
  - url: https://uscst-gb.gsc.vficloud.net/oidc
    description: Americas Sandbox
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    BasicAuth:
      type: http
      scheme: basic
  schemas:
    BadRequestV2Docs:
      type: object
      properties:
        details:
          type: object
          additionalProperties:
            type: object
        timestamp:
          type: number
          description: Error timestamp
          example: 1596467016700
        reversal_status:
          type: string
          description: >-
            Indicates to the API client if a technical reversal has been
            completed by Verifone.
          default: NONE
          enum:
            - NONE
            - REQUIRED
            - COMPLETED
        code:
          type: number
          example: 400
          enum:
            - 400
          default: 400
        message:
          type: string
          example: >-
            At least one parameter is invalid. Examine the details property for
            more information. Invalid parameters are listed and prefixed
            accordingly: body for parameters submitted in the requests body,
            query for parameters appended to the requests URL, and params for
            templated parameters of the requests URL.
          enum:
            - >-
              At least one parameter is invalid. Examine the details property
              for more information. Invalid parameters are listed and prefixed
              accordingly: body for parameters submitted in the requests body,
              query for parameters appended to the requests URL, and params for
              templated parameters of the requests URL.
          default: >-
            At least one parameter is invalid. Examine the details property for
            more information. Invalid parameters are listed and prefixed
            accordingly: body for parameters submitted in the requests body,
            query for parameters appended to the requests URL, and params for
            templated parameters of the requests URL.
      required:
        - message
    UnauthorizedV2Docs:
      type: object
      properties:
        details:
          type: object
          additionalProperties:
            type: object
        timestamp:
          type: number
          description: Error timestamp
          example: 1596467016700
        reversal_status:
          type: string
          description: >-
            Indicates to the API client if a technical reversal has been
            completed by Verifone.
          default: NONE
          enum:
            - NONE
            - REQUIRED
            - COMPLETED
        code:
          type: number
          example: 401
          enum:
            - 401
          default: 401
        message:
          type: string
          example: >-
            Access is restricted to authenticated users only. The query can't be
            made without a valid JWT token (check the Authorization header of
            your request).
          enum:
            - >-
              Access is restricted to authenticated users only. The query can't
              be made without a valid JWT token (check the Authorization header
              of your request).
          default: >-
            Access is restricted to authenticated users only. The query can't be
            made without a valid JWT token (check the Authorization header of
            your request).
      required:
        - message
    ForbiddenV2Docs:
      type: object
      properties:
        details:
          type: object
          additionalProperties:
            type: object
        timestamp:
          type: number
          description: Error timestamp
          example: 1596467016700
        reversal_status:
          type: string
          description: >-
            Indicates to the API client if a technical reversal has been
            completed by Verifone.
          default: NONE
          enum:
            - NONE
            - REQUIRED
            - COMPLETED
        code:
          type: number
          example: 403
          enum:
            - 403
          default: 403
        message:
          type: string
          example: >-
            Insufficient permissions. Your current user roles don't allow you to
            perform this query. Should you believe this error to be incorrect,
            please contact an administrator.
          enum:
            - >-
              Insufficient permissions. Your current user roles don't allow you
              to perform this query. Should you believe this error to be
              incorrect, please contact an administrator.
          default: >-
            Insufficient permissions. Your current user roles don't allow you to
            perform this query. Should you believe this error to be incorrect,
            please contact an administrator.
      required:
        - message
    NotFoundV2Docs:
      type: object
      properties:
        details:
          type: object
          additionalProperties:
            type: object
        timestamp:
          type: number
          description: Error timestamp
          example: 1596467016700
        reversal_status:
          type: string
          description: >-
            Indicates to the API client if a technical reversal has been
            completed by Verifone.
          default: NONE
          enum:
            - NONE
            - REQUIRED
            - COMPLETED
        code:
          type: number
          example: 404
          enum:
            - 404
          default: 404
        message:
          type: string
          example: >-
            The requested resource, or one of its sub-resources, can't be found.
            If the submitted query is valid, this error is likely to be caused
            by a problem with a nested resource that has been deleted or
            modified. Check the details property for additional insights.
          enum:
            - >-
              The requested resource, or one of its sub-resources, can't be
              found. If the submitted query is valid, this error is likely to be
              caused by a problem with a nested resource that has been deleted
              or modified. Check the details property for additional insights.
          default: >-
            The requested resource, or one of its sub-resources, can't be found.
            If the submitted query is valid, this error is likely to be caused
            by a problem with a nested resource that has been deleted or
            modified. Check the details property for additional insights.
      required:
        - message
    InternalErrorV2Docs:
      type: object
      properties:
        details:
          type: object
          additionalProperties:
            type: object
        timestamp:
          type: number
          description: Error timestamp
          example: 1596467016700
        reversal_status:
          type: string
          description: >-
            Indicates to the API client if a technical reversal has been
            completed by Verifone.
          default: NONE
          enum:
            - NONE
            - REQUIRED
            - COMPLETED
        code:
          type: number
          example: 500
          enum:
            - 500
          default: 500
        message:
          type: string
          example: >-
            Unexpected error: if the error persists, please contact an
            administrator, quoting the code and timestamp of this error
          enum:
            - >-
              Unexpected error: if the error persists, please contact an
              administrator, quoting the code and timestamp of this error
          default: >-
            Unexpected error: if the error persists, please contact an
            administrator, quoting the code and timestamp of this error
      required:
        - message
    AdditionalDataDto:
      type: object
      properties:
        total_items:
          type: number
          description: Number of purchased items or services.
          minimum: 0
          maximum: 99
        device_channel:
          type: string
          enum:
            - SDK
            - BROWSER
          description: Determines the channel that the transaction came through.
        status_reason:
          type: string
          description: >-
            Provides additional information as to why the PAResStatus has the
            specific value.

             **NOTE**: Required for Payment (e.g. Authentication Indicator equals 01 on Lookup Request) transactions when PAResStatus is equal to N, U, or R in the Lookup Response.
        challenge_indicator:
          type: string
          enum:
            - "01"
            - "02"
            - "03"
            - "04"
            - "90"
          description: |-
            This is a 2.0 required field. Possible values are:

             * `01` No preference

             * `02` No challenge requested

             * `03` Challenge requested (3DS Requestor preference)

             * `04` Challenge requested (Mandate)

             * `90` Used to call the CB Scoring platform
        challenge_cancel:
          type: string
          enum:
            - "01"
            - "02"
            - "03"
            - "04"
            - "05"
            - "06"
            - "07"
          description: >-
            Indicator informing the ACS and the DS that the authentication has
            been cancelled.

             Possible values are:

             * `01` Cardholder selected “Cancel”

             * `02` 3DS Requestor cancelled Authentication.

             * `03` Transaction Abandoned

             * `04` Transaction Timed Out at ACS — other timeouts

             * `05` Transaction Timed Out at ACS — First CReq not received by ACS

             * `06` Transaction Error

             * `07` Unknown
        acs_url:
          type: string
          maxLength: 2048
          description: >-
            The fully qualified URL to redirect the Consumer to complete the
            Consumer Authentication transaction.

             **NOTE**: Available if Enrolled = Y
        acs_operator_id:
          type: string
          maxLength: 32
          description: >-
            DS assigned ACS identifier. Each DS can provide a unique ID to each
            ACS on an individual basis.
        network_score:
          type: string
          maxLength: 2
          example: "20"
          format: number
          description: The global score calculated by the CB Scoring platform.
        reason_code:
          type: string
          description: The error code indicating a problem with this transaction.
        reason_desc:
          type: string
          description: >-
            Text and additional detail about the error for this transaction.
            NOTE: This field concatenates the errorDescription and errorDetail
            from the authentication response message.
    PaymentProductType:
      title: Payment Product Type
      type: string
      description: >-
        The payment product type corresponding to this transaction. Fees applied to the
        transaction, is based on the payment product
      enum:
        - Affirm
        - Amex
        - Crypto
        - Diners Club International
        - Discover
        - JCB
        - Klarna
        - Maestro
        - Mastercard
        - OP Online Payment
        - Swish
        - Unknown
        - Visa
      default: Unknown
    instalment:
      required:
        - number_of_instalments
      type: object
      properties:
        instalment_program:
          type: string
          description: The name of special program designated by scheme or issuer.
          enum:
            - MCINST
        number_of_instalments:
          minimum: 0
          type: integer
          description: The number of individual parts that the total amount should be paid in.
        down_payment_amount:
          $ref: "#/components/schemas/amountDecimal"
        first_instalment_amount:
          $ref: "#/components/schemas/amountDecimal"
        instalment_amount:
          $ref: "#/components/schemas/amountDecimal"
        interest_rate:
          type: number
          description: The interest rate.
          format: float
        annual_percentage_rate:
          type: number
          description: The interest rate expressed in Annual Percentage Rate.
          format: float
        handling_fee:
          $ref: "#/components/schemas/amountDecimal"
        total_amount_with_cost:
          $ref: "#/components/schemas/amountDecimal"
      description: The details on the instalment-scheme that should be enacted by the issuer.
    ThreedAuthenticationDto:
      type: object
      properties:
        eci_flag:
          type: string
          description: >-
            Electronic Commerce Indicator (ECI). The ECI value is part of the 2
            data elements that indicate the transaction was processed
            electronically.This should be passed on the authorization
            transaction to the Gateway/Processor.Please refer to the integration
            guide for information on its usage.
          enum:
            - "05"
            - "06"
            - "07"
            - "02"
            - "01"
            - "00"
          example: "02"
        enrolled:
          type: string
          enum:
            - "Y"
            - "N"
            - U
            - B
          example: "Y"
          description: >-
            The enrolment response status of Authentication eligibility from the
            Directory Server.


            Possible Values:

             * `Y` - Yes, Bank is participating in 3-D Secure protocol and will return the ACSUrl.

             * `N` - No, Bank is not participating in 3-D Secure protocol.

             * `U` - Unavailable,  the DS or ACS is not available for authentication at the time of the request.

             * `B` - Bypass, merchant authentication rule is triggered to bypass authentication in this use case.

            NOTE: If the Enrolled value is NOT Y, then the Consumer is NOT
            eligible for Authentication.
        cavv:
          type: string
          minLength: 28
          maxLength: 48
          description: >-
            Cardholder Authentication Verification Value (CAVV). Base64-encoded
            values of 28 or 32 characters. Hex-encoded values of 40 or 48
            characters.
        cavv_algorithm:
          type: string
          description: >-
            The algorithm used to generate the CAVV value. Supported for 3D
            Secure v1 only.
        pares_status:
          type: string
          enum:
            - "Y"
            - "N"
            - U
            - A
            - C
            - R
          example: A
          description: |-
            Authentication response code.

            Possible Values:

             * `Y` - Successful Authentication.

             * `N` - Failed Authentication.

             * `U` - Unable to Complete Authentication

             * `A` - Successful Attempts Transaction.

             * `C` - Challenge Required for Authentication.

             * `R` - Authentication Rejected.
        xid:
          type: string
          description: >-
            The transaction identifier assigned by Directory Server. Supported
            for 3D Secure v1 only.
        threeds_version:
          type: string
          enum:
            - 1.0.2
            - 2.1.0
            - 2.2.0
          example: 1.0.2
          description: The 3DS version used to process the transaction.
        ds_transaction_id:
          type: string
          description: >-
            The unique transaction identifier assigned by the Directory Server.
            Supported for 3D Secure v2 only.
        signature_verification:
          type: string
          enum:
            - "Y"
            - "N"
          example: "Y"
          description: |-
            Transaction Signature status identifier.

             Possible Values:

             *  `Y` - Indicates that the signature of the PARes has been validated successfully and the message contents can be trusted.

             * `N` - Indicates that the PARes could not be validated. This result could be for a variety of reasons; tampering, certificate expiration, etc., and the result should not be trusted.
        verification:
          type: array
          description: >-
            Any verification/authentication responses captured as part of the
            submission of the transaction. e.g. 3DS response values or
            ACRQ/ARCP. For some mPos transactions the verification may be
            performed on-device e.g. ApplePay, Face ID or Touch ID.
          items:
            type: string
            enum:
              - DENIED
              - NON_PARTICIPATION
              - UNABLE_TO_AUTHENTICATE
              - MERCHANT_NOT_ENROLLED
              - WITH_CRYPTOGRAM
              - WITHOUT_CRYPTOGRAM
        error_desc:
          type: string
          description: |-
            Application error description for the associated error number(s).

             NOTE: Multiple error descriptions are separated by a comma.
        error_no:
          type: string
          description: >-
            Application error number(s). A non-zero value represents the error
            encountered while attempting to process the message request.

             NOTE: Multiple error numbers are separated by a comma.
        authentication_amount:
          type: integer
          title: amount
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.

            The required number of decimal places for a currency code is according to ISO 4217.

            For Account Verification transactions, provide 0 as value for this field.
        additional_data:
          allOf:
            - $ref: "#/components/schemas/AdditionalDataDto"
              description: >-
                Additional 3DS data, which may be required in the particular
                payment request.
    PaymentFrequency:
      type: object
      properties:
        time_unit:
          type: string
          enum:
            - DAY
            - WEEK
            - MONTH
            - YEAR
          description: >-
            Processing model to use for COF transaction. Refer to the card
            integration guide for more information on the usage.
        value:
          type: number
          description: Value.
      required:
        - time_unit
    ProcessingModelDetailsDto:
      type: object
      properties:
        total_payment_number:
          type: number
          description: Total paymant Number.
        total_payment_amount:
          type: number
          description: total Payment Amount.
        first_payment_amount:
          type: number
          description: first Payment Amount.
        payment_frequency:
          allOf:
            - $ref: "#/components/schemas/PaymentFrequency"
        processing_model:
          type: string
          enum:
            - UNSCHEDULED_CREDENTIAL_ON_FILE
            - CREDENTIAL_ON_FILE
            - RECURRING
            - NONE
            - REAUTHORIZATION
          description: >-
            Processing model to use for COF transaction. Refer to the card
            integration guide for more information on the usage.
        merchant_signup_code:
          type: string
          description: A pre-defined signup code between the merchant and the acquirer.
        current_payment_number:
          type: number
          description: The current number of recurring payments.
        amount_fixed:
          type: boolean
          default: false
          description: >-
            Set `true` to indicate that recurring charges are of the same amount
            (often used for subscriptions), and set `false` to indicate variable
            amount between charges (often used for standing orders with fixed
            schedule).
      required:
        - processing_model
    ProcessingModelDetailsSignupDto:
      type: object
      properties:
        total_payment_number:
          type: number
          description: Total paymant Number.
        total_payment_amount:
          type: number
          description: total Payment Amount.
        first_payment_amount:
          type: number
          description: first Payment Amount.
        payment_frequency:
          allOf:
            - $ref: "#/components/schemas/PaymentFrequency"
        processing_model:
          type: string
          enum:
            - UNSCHEDULED_CREDENTIAL_ON_FILE
            - RECURRING
            - NONE
          description: >-
            Processing model to use for COF transaction. Refer to the card
            integration guide for more information on the usage.
        merchant_signup_code:
          type: string
          description: A pre-defined signup code between the merchant and the acquirer.
        current_payment_number:
          type: number
          description: The current number of recurring payments.
        amount_fixed:
          type: boolean
          default: false
          description: >-
            Set `true` to indicate that recurring charges are of the same amount
            (often used for subscriptions), and set `false` to indicate variable
            amount between charges (often used for standing orders with fixed
            schedule).
      required:
        - processing_model
    ProcessingModelDetailsChargeDto:
      type: object
      properties:
        total_payment_number:
          type: number
          description: Total paymant Number.
        total_payment_amount:
          type: number
          description: total Payment Amount.
        first_payment_amount:
          type: number
          description: first Payment Amount.
        payment_frequency:
          allOf:
            - $ref: "#/components/schemas/PaymentFrequency"
        processing_model:
          type: string
          enum:
            - UNSCHEDULED_CREDENTIAL_ON_FILE
            - CREDENTIAL_ON_FILE
            - RECURRING
            - REAUTHORIZATION
          description: >-
            Processing model to use for COF transaction. Refer to the card
            integration guide for more information on the usage.
        merchant_signup_code:
          type: string
          description: A pre-defined signup code between the merchant and the acquirer.
        current_payment_number:
          type: number
          description: The current number of recurring payments.
        amount_fixed:
          type: boolean
          default: false
          description: >-
            Set `true` to indicate that recurring charges are of the same amount
            (often used for subscriptions), and set `false` to indicate variable
            amount between charges (often used for standing orders with fixed
            schedule).
      required:
        - processing_model
    StoredCredentialSignUp:
      type: object
      properties:
        stored_credential_type:
          type: string
          enum:
            - SIGNUP
            - CHARGE
          description: The definition of a stored credential payment.
        processing_model_details:
          allOf:
            - $ref: "#/components/schemas/ProcessingModelDetailsSignupDto"
        first_payment:
          type: boolean
          description: >-
            Whether auto-capture or not. Setting this to 'false' will only
            authorize the transaction.
        scheme_reference:
          type: string
          description: Scheme Reference Data returned in the initial transaction
      required:
        - stored_credential_type
        - processing_model_details
    SignupTransactionDetailsDto:
      type: object
      properties:
        settlement_date:
          type: string
          description: >-
            This will reflect either the desired Merchant settlement date or the
            actual settlement date depending where the transaction request is
            within the payment lifecycle. A transaction may be assigned an
            intended settlement date, but it is possible that this date will not
            occur for technical reasons hence there should be a subsequent event
            to indicate the actual date of settlement. Format is date only as
            per RFC 3339.
    StoredCredentialSubsequentCharge:
      type: object
      properties:
        stored_credential_type:
          type: string
          enum:
            - SIGNUP
            - CHARGE
          description: The definition of a stored credential payment.
        processing_model_details:
          allOf:
            - $ref: "#/components/schemas/ProcessingModelDetailsChargeDto"
        first_payment:
          type: boolean
          description: >-
            Whether auto-capture or not. Setting this to 'false' will only
            authorize the transaction.
        scheme_reference:
          type: string
          description: Scheme Reference Data to be used for this request
          format: guid
        reference:
          type: string
          format: guid
          description: >-
            The `reference` should be the `Transaction ID` of the original transaction used to collect the card credentials. 
            Either one of the `reuse_token` or this `reference` must be given. Both the fields can also not be sent together in the request. `(example: l51zKJJCx8TtpSbg)`
        signup_transaction_details:
          allOf:
            - $ref: "#/components/schemas/SignupTransactionDetailsDto"
      required:
        - stored_credential_type
        - processing_model_details
    StoredCredentialDto:
      type: object
      properties:
        stored_credential_type:
          type: string
          enum:
            - SIGNUP
            - CHARGE
          description: The definition of a stored credential payment.
        processing_model_details:
          allOf:
            - $ref: "#/components/schemas/ProcessingModelDetailsDto"
        first_payment:
          type: boolean
          description: >-
            Whether auto-capture or not. Setting this to 'false' will only
            authorize the transaction.
        scheme_reference:
          type: string
          description: Scheme Reference Data returned in the initial transaction
      required:
        - stored_credential_type
        - processing_model_details
    ShippingInformationDto:
      type: object
      additionalProperties: false
      description: The address where the purchased goods should be delivered to.
      title: Shipping Address
      properties:
        address:
          type: string
          maxLength: 300
          example: 3732  Metz Lane
          description: Street address of the recipient.
        city:
          type: string
          maxLength: 28
          example: West Roxbury
          description: City of the recipient.
        country:
          type: string
          maxLength: 2
          minLength: 2
          example: US
          format: country-code
          description: A 2-letter ISO3166 alpha-2 country code for the address.
        postal_code:
          type: string
          minLength: 1
          maxLength: 16
          example: "1114"
          description: A postal code for the address.
        email:
          type: string
          title: Email Address
          minLength: 3
          maxLength: 254
          format: email
          description: >-
            A valid internationalized email address, as defined by RFC 5322, RFC
            6530, and other RFCs. Due to RFC 5321, an email address can be up to
            254 characters long even though up to 64 characters are allowed
            before and 255 characters are allowed after the @ sign. This pattern
            verifies only that the string contains an unquoted @ sign. See
            https://tools.ietf.org/html/rfc5322#section-3.4.1.
        first_name:
          type: string
          maxLength: 100
          example: Thelma
          description: First name of the recipient.
        last_name:
          type: string
          maxLength: 100
          example: Tatro
          description: Last name of the recipient.
        phone:
          type: number
          maxLength: 15
          example: 8577532706
          description: "Numbers only, no dash or any other separator."
        state:
          type: string
          maxLength: 35
          example: MA
          description: A region / state / province for the address.
      required:
        - address
        - city
        - country
        - postal_code
    CustomerDetailsShippingInformationDto:
      type: object
      additionalProperties: false
      description: The address where the purchased goods should be delivered to.
      title: Shipping Address
      properties:
        address:
          type: string
          maxLength: 300
          example: 3732  Metz Lane
          description: Street address of the recipient.
        city:
          type: string
          maxLength: 28
          example: West Roxbury
          description: City of the recipient.
        country:
          type: string
          maxLength: 2
          minLength: 2
          example: US
          format: country-code
          description: A 2-letter ISO3166 alpha-2 country code for the address.
        postal_code:
          type: string
          minLength: 1
          maxLength: 16
          example: "1114"
          description: A postal code for the address.
        email:
          type: string
          title: Email Address
          minLength: 3
          maxLength: 254
          format: email
          description: >-
            A valid internationalized email address, as defined by RFC 5322, RFC
            6530, and other RFCs. Due to RFC 5321, an email address can be up to
            254 characters long even though up to 64 characters are allowed
            before and 255 characters are allowed after the @ sign. This pattern
            verifies only that the string contains an unquoted @ sign. See
            https://tools.ietf.org/html/rfc5322#section-3.4.1.
        first_name:
          type: string
          maxLength: 100
          example: Thelma
          description: First name of the recipient.
        last_name:
          type: string
          maxLength: 100
          example: Tatro
          description: Last name of the recipient.
        phone:
          type: string
          maxLength: 18
          example: "8577532706"
          description: "Telephone number."
        state:
          type: string
          maxLength: 35
          example: MA
          description: A region / state / province for the address.
      required:
        - address
        - city
        - country
        - postal_code
    TokenPaymentRequest:
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: >-
            The identifier of payment provider contract you want to process the
            transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 0
        auth_type:
          type: string
          description: >-
            Flags a payment request for either pre-authorization or final
            authorization.


            * `PRE_AUTH` is used when the authorized amount is unknown and can
            be adjusted later.


            * `FINAL_AUTH` is used when a final authorized amount is known and
            the transaction will definitely be captured in whole.
          enum:
            - PRE_AUTH
            - FINAL_AUTH
          default: FINAL_AUTH
        capture_now:
          type: boolean
          description: >-
            Whether auto-capture or not. Setting the value to 'false' will only
            authorize the transaction.
          example: false
          default: true
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        customer_ip:
          description: The IP Address of the customer where the transaction was initiated.
          maxLength: 15
          example: 127.0.0.1
          oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
        dynamic_descriptor:
          type: string
          description: >-
            A short
            [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be
            shown on bank statement of the customer. Please refer to the
            integration guide for the format requirements.
          maxLength: 25
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        threed_authentication:
          allOf:
            - $ref: "#/components/schemas/ThreedAuthenticationDto"
              description: >-
                MPI authentication data. Please refer to the integration guide
                for information on its usage.
        encrypted_cvv:
          type: string
          description: |-
            The CVV encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

             The data to encrypt is a JSON with tag cvv.

             Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z.

             Sample JSON to encrypt:

                {

                "cvv": "123"

                "captureTime": "2021-04-27T14:15:22Z"

                }
          example: U3dhZ2dlciByb2Nrcw==
        encrypted_svc_access_code:
          type: string
          title: Client encrypted SVC Access Code
          description: |-
            The SVC Access Code encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

            The data to encrypt is a JSON with tag svcAccessCode.

            Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z.
        public_key_alias:
          type: string
          title: Public Key Alias
          description: The alias for the public key used to encrypt this card.
        stored_credential:
          allOf:
            - $ref: "#/components/schemas/StoredCredentialDto"
            - title: Stored Credential Payment
              description: The definition of a stored credential payment.
              discriminator:
                propertyName: stored_credential_type
                mapping:
                  SIGNUP: "#/components/schemas/StoredCredentialSignUp"
                  CHARGE: "#/components/schemas/StoredCredentialSubsequentCharge"
        receipt_type:
          type: string
          description: Defines the type of receipt to be generated
          enum:
            - FULL_RECEIPT
            - INVOICE
            - INVOICE_RECEIPT
            - SIMPLE_RECEIPT
            - NONE
        shipping_information:
          allOf:
            - "$ref": "#/components/schemas/ShippingInformation"
            - title: Shipping Address
              description: >-
                The address where the purchased goods should be delivered to.

                <br><b>Please use customer_details.shipping.</b>
              deprecated: true
        customer_details:
          allOf:
            - "$ref": "#/components/schemas/CustomerDetailsDto"
        shopper_interaction:
          type: string
          description: >-
            Determines the sales channel the shopper gives their card details
            through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
          default: ECOMMERCE
          example: ECOMMERCE
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
          maxLength: 256
        sales_description:
          type: string
          description: >-
            A reference used by the merchant to typically capture a description of the service
            provided. It could then be used by the merchant to help locate transactions. One
            could envision a situation where a merchant is trying to locate a transaction/
            receipt but in speaking with the customer, the only (or at least a predominant)
            detail is what service was rendered
          maxLength: 200
        sca_exemption:
          type: string
          description: >-
            Use this field to request your transaction to be exempted from the
            application of the Strong Customer Authentication (SCA). Be advised
            that the use of this field may result to your liability in case of
            fraudulent transaction.

             Possible Values:

             1 - Low value payment

             2 - Acquirer Transaction Risk Analysis

             3 - Trusted beneficiary exemption

             4 - Secure Corporate Payment (SCP) exemption

             5 - Merchant Initiated Transaction

             6 - SCA Delegation
          enum:
            - "1"
            - "2"
            - "3"
            - "4"
            - "5"
            - "6"
        currency_code:
          type: string
          title: Currency Code
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD.

             Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UZS
            - VEF
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XTS
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - BTC
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        brand_choice:
          type: string
          description: >-
            For dual-branded cards identifies whether selection is made by a
            cardholder or merchant.
          enum:
            - MERCHANT
            - CARDHOLDER
          default: MERCHANT
        credit_term:
          type: string
          description: >-
            An indicator to show under which terms the credit was provided.
          default: STANDARD
          enum:
            - STANDARD
            - PREFERED
            - DEBIT
            - INSTALMENT_STANDARD
            - INSTALMENT_CREDIT
        instalment:
          allOf:
            - $ref: "#/components/schemas/InstalmentDto"
              title: instalment
              description: >-
                The details on the instalment-scheme that should be enacted by the issuer.
        refusal_reason:
          type: string
          title: Refusal Reason
          description: >-
            The reason a transaction has been refused within the payment
            ecosystem by the client/Verifone/acquirer. This needs to be set by
            the component that is refusing this transaction request.
          enum:
            - ACQUIRER_COMMS_FAILURE
            - ACQUIRER_REFUSED
            - CARD_BRAND_NOT_ACCEPTED
            - CARD_EXPIRED
            - CARD_NOT_ACCEPTED
            - CARD_NOT_VALID
            - CARD_PRODUCT_NOT_ACCEPTED
            - ORIGINAL_TRANSACTION_NOT_FOUND
            - INVALID_BIN
            - PARTIAL_AUTH_NOT_ALLOWED
            - RECEIPT_FAILURE
            - REFUND_NOT_ACCEPTED
            - THREEDSECURE_FAILED_ACS
            - THREEDSECURE_FAILED_AUTH
            - THREEDSECURE_FAILED_COMMS
            - UNAPPROVED_OPERATOR
            - UNKNOWN_REASON
        reuse_token:
          type: string
          title: Reuse Token
          description: >-
            The Verifone issued reuse token used to represent the previously
            stored cardholder data.
          minLength: 14
          maxLength: 255
        reuse_token_type:
          title: Reuse Token Type
          description: > 
            The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.<br>

            **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
          type: string
          enum:
            - CHASE
            - INTERNAL
            - TAVE
          default: INTERNAL
        reuse_token_details:
          $ref: "#/components/schemas/TokenDetailsRequestBody"
        promo_code:
          type: string
          description: A code defined by the merchant that affects the calculation of the total amount.
        promo_financing_details:
          $ref: "#/components/schemas/PromoFinancingDetails"
        purchase_order_number:
          title: Purchase Order Number
          description: >
            The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme).
            This field is part of so-called Level 2 data.
          type: string
          maxLength: 17
        tax_indicator:
          title: Tax Indicator
          description: >
            This field indicates the taxable status of the transaction (if any of the purchased items are taxable). This field is part of so-called Level 2 data.
            If the value `TAX_PROVIDED` is sent, `tax_amount` should also be provided
          type: string
          enum:
            - TAX_PROVIDED
            - TAX_NOT_PROVIDED
            - NON_TAXABLE
          default: TAX_NOT_PROVIDED
        detailed_amount:
          $ref: "#/components/schemas/DetailedAmount"
      required:
        - payment_provider_contract
        - amount
        - currency_code
        - reuse_token
    TokenPreferenceDto:
      type: object
      properties:
        token_scope:
          type: string
          title: Token Scope
          description: The token scope under which this token was created.
          format: uuid
          example: 0e48425a-f1bc-431a-b7d8-f866de8ba276
        reuse_token_type:
          title: Reuse Token Type
          description: > 
            The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.<br>
            
            **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
          type: string
          enum:
            - CHASE
            - INTERNAL
            - TAVE
          default: INTERNAL
        token_type:
          type: string
          title: Token Type
          description: Token type
          enum:
            - REUSE
            - ANALYTICS
            - REUSE_AND_ANALYTICS
        token_expiry_date:
          type: string
          description: When this Token will expire.
          format: date
      required:
        - token_scope
    EncryptedCardPaymentRequest:
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: >-
            The identifier of payment provider contract you want to process the
            transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 0
        auth_type:
          type: string
          description: >-
            Flags a payment request for either pre-authorization or final
            authorization.


            * `PRE_AUTH` is used when the authorized amount is unknown and can
            be adjusted later.


            * `FINAL_AUTH` is used when a final authorized amount is known and
            the transaction will definitely be captured in whole.
          enum:
            - PRE_AUTH
            - FINAL_AUTH
          default: FINAL_AUTH
        capture_now:
          type: boolean
          description: >-
            Whether auto-capture or not. Setting the value to 'false' will only
            authorize the transaction.
          example: false
          default: true
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        customer_ip:
          description: The IP Address of the customer where the transaction was initiated.
          maxLength: 15
          example: 127.0.0.1
          oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
        dynamic_descriptor:
          type: string
          description: >-
            A short
            [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be
            shown on bank statement of the customer. Please refer to the
            integration guide for the format requirements.
          maxLength: 25
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        threed_authentication:
          allOf:
            - $ref: "#/components/schemas/ThreedAuthenticationDto"
              description: >-
                MPI authentication data. Please refer to the integration guide
                for information on its usage.
        stored_credential:
          allOf:
            - $ref: "#/components/schemas/StoredCredentialDto"
            - title: Stored Credential Payment
              description: The definition of a stored credential payment.
              discriminator:
                propertyName: stored_credential_type
                mapping:
                  SIGNUP: "#/components/schemas/StoredCredentialSignUp"
        shipping_information:
          allOf:
            - "$ref": "#/components/schemas/ShippingInformation"
            - title: Shipping Address
              description: >-
                The address where the purchased goods should be delivered to.

                <br><b>Please use customer_details.shipping.</b>
              deprecated: true
        customer_details:
          allOf:
            - "$ref": "#/components/schemas/CustomerDetailsDto"
        shopper_interaction:
          type: string
          description: >-
            Determines the sales channel the shopper gives their card details
            through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
          default: ECOMMERCE
          example: ECOMMERCE
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
          maxLength: 256
        sales_description:
          type: string
          description: >-
            A reference used by the merchant to typically capture a description of the service
            provided. It could then be used by the merchant to help locate transactions. One
            could envision a situation where a merchant is trying to locate a transaction/
            receipt but in speaking with the customer, the only (or at least a predominant)
            detail is what service was rendered
          maxLength: 200
        sca_exemption:
          type: string
          description: >-
            Use this field to request your transaction to be exempted from the
            application of the Strong Customer Authentication (SCA). Be advised
            that the use of this field may result to your liability in case of
            fraudulent transaction.

             Possible Values:

             1 - Low value payment

             2 - Acquirer Transaction Risk Analysis

             3 - Trusted beneficiary exemption

             4 - Secure Corporate Payment (SCP) exemption

             5 - Merchant Initiated Transaction

             6 - SCA Delegation
          enum:
            - "1"
            - "2"
            - "3"
            - "4"
            - "5"
            - "6"
        currency_code:
          type: string
          title: Currency Code
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD.

             Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UZS
            - VEF
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XTS
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - BTC
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        brand_choice:
          type: string
          description: >-
            For dual-branded cards identifies whether selection is made by a
            cardholder or merchant.
          enum:
            - MERCHANT
            - CARDHOLDER
          default: MERCHANT
        credit_term:
          type: string
          description: >-
            An indicator to show under which terms the credit was provided.
          default: STANDARD
          enum:
            - STANDARD
            - PREFERED
            - DEBIT
            - INSTALMENT_STANDARD
            - INSTALMENT_CREDIT
        instalment:
          allOf:
            - $ref: "#/components/schemas/InstalmentDto"
              title: instalment
              description: >-
                The details on the instalment-scheme that should be enacted by the issuer.
        refusal_reason:
          type: string
          title: Refusal Reason
          description: >-
            The reason a transaction has been refused within the payment
            ecosystem by the client/Verifone/acquirer. This needs to be set by
            the component that is refusing this transaction request.
          enum:
            - ACQUIRER_COMMS_FAILURE
            - ACQUIRER_REFUSED
            - CARD_BRAND_NOT_ACCEPTED
            - CARD_EXPIRED
            - CARD_NOT_ACCEPTED
            - CARD_NOT_VALID
            - CARD_PRODUCT_NOT_ACCEPTED
            - ORIGINAL_TRANSACTION_NOT_FOUND
            - INVALID_BIN
            - PARTIAL_AUTH_NOT_ALLOWED
            - RECEIPT_FAILURE
            - REFUND_NOT_ACCEPTED
            - THREEDSECURE_FAILED_ACS
            - THREEDSECURE_FAILED_AUTH
            - THREEDSECURE_FAILED_COMMS
            - UNAPPROVED_OPERATOR
            - UNKNOWN_REASON
        encrypted_card:
          type: string
          title: Client encrypted cardholder data
          description: >-
            The cardholder data encrypted using the Verifone provided public
            key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

             The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. This should be a single JSON line and should not contain any spaces. Read <a target="_blank" style="color:blue;" href="https://docs.verifone.com/online-payments/api-integration-methods-auth-and-endpoints/secure-card-capture-key">Secure card capture key</a> for details.

             Additionally, a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z. Encrypted card is valid for only 15 minutes.
          example: U3dhZ2dlciByb2Nrcw==
        token_preference:
          allOf:
            - $ref: "#/components/schemas/TokenPreferenceDto"
              title: Token Preference
              description: Contains the properties required to create a token
        encrypted_svc_access_code:
          type: string
          title: Client encrypted SVC Access Code
          description: |-
            The SVC Access Code encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

            The data to encrypt is a JSON with tag svcAccessCode.

            Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z.
        public_key_alias:
          type: string
          title: Public Key Alias
          description: The alias for the public key used to encrypt this card.
        promo_code:
          type: string
          description: A code defined by the merchant that affects the calculation of the total amount.
        promo_financing_details:
          $ref: "#/components/schemas/PromoFinancingDetails"
        purchase_order_number:
          title: Purchase Order Number
          description: >
            The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme).
            This field is part of so-called Level 2 data.
          type: string
          maxLength: 17
        tax_indicator:
          title: Tax Indicator
          description: >
            This field indicates the taxable status of the transaction (if any of the purchased items are taxable). This field is part of so-called Level 2 data.
            If the value `TAX_PROVIDED` is sent, `tax_amount` should also be provided
          type: string
          enum:
            - TAX_PROVIDED
            - TAX_NOT_PROVIDED
            - NON_TAXABLE
          default: TAX_NOT_PROVIDED
        receipt_type:
          type: string
          description: Defines the type of receipt to be generated
          enum:
            - FULL_RECEIPT
            - INVOICE
            - INVOICE_RECEIPT
            - SIMPLE_RECEIPT
            - NONE
      required:
        - payment_provider_contract
        - amount
        - currency_code
        - encrypted_card
        - public_key_alias
    ShippingInformation:
      type: object
      properties:
        address:
          type: string
          maxLength: 300
          example: 3732  Metz Lane
          description: Street address of the recipient.
        city:
          type: string
          maxLength: 28
          example: West Roxbury
          description: City of the recipient.
        country:
          type: string
          maxLength: 2
          minLength: 2
          example: US
          format: country-code
          description: A 2-letter ISO3166 alpha-2 country code for the address.
        postal_code:
          type: string
          minLength: 1
          maxLength: 16
          example: "1114"
          description: A postal code for the address.
        email:
          type: string
          title: Email Address
          minLength: 3
          maxLength: 254
          format: email
          description: >-
            A valid internationalized email address, as defined by RFC 5322, RFC
            6530, and other RFCs. Due to RFC 5321, an email address can be up to
            254 characters long even though up to 64 characters are allowed
            before and 255 characters are allowed after the @ sign. This pattern
            verifies only that the string contains an unquoted @ sign. See
            https://tools.ietf.org/html/rfc5322#section-3.4.1.
        first_name:
          type: string
          maxLength: 100
          example: Thelma
          description: First name of the recipient.
        last_name:
          type: string
          maxLength: 100
          example: Tatro
          description: Last name of the recipient.
        phone:
          type: number
          maxLength: 15
          example: 8577532706
          description: "Numbers only, no dash or any other separator."
        state:
          type: string
          maxLength: 35
          example: MA
          description: A region / state / province for the address.
      required:
        - address
        - city
        - country
        - postal_code
    StoredCredential:
      type: object
      properties:
        reference:
          type: string
          description: >-
            Reference of a successfully processed initial COF transaction. Only
            used by subsequent COF transactions.
        stored_credential_type:
          type: string
        scheme_reference:
          type: string
          description: >-
            Scheme Reference Data received from issuer/acquirer.
        processing_model:
          type: string
          enum:
            - UNSCHEDULED_CREDENTIAL_ON_FILE
            - CREDENTIAL_ON_FILE
            - RECURRING
            - REAUTHORIZATION
            - NONE
          description: >-
            Processing model to use for COF transaction. Refer to the card
            integration guide for more information on the usage.
        details:
          deprecated: true
          type: string
          enum:
            - UNSCHEDULED_CREDENTIAL_ON_FILE
            - CREDENTIAL_ON_FILE
            - RECURRING
          description: >-
            Processing model to use for COF transaction. Refer to the card
            integration guide for more information on the usage.
    Details:
      type: object
      properties:
        auto_capture:
          type: boolean
        mid:
          type: string
          format: integer
          description: Merchant ID (MID)
          example: "363162200000049"
    ThreedAuthentication:
      type: object
      properties:
        eci_flag:
          type: string
          description: >-
            Electronic Commerce Indicator (ECI). The ECI value is part of the 2
            data elements that indicate the transaction was processed
            electronically.This should be passed on the authorization
            transaction to the Gateway/Processor.Please refer to the integration
            guide for information on its usage.
          enum:
            - "05"
            - "06"
            - "07"
            - "02"
            - "01"
            - "00"
          example: "02"
        enrolled:
          type: string
          enum:
            - "Y"
            - "N"
            - U
            - B
          example: "Y"
          description: >-
            The enrolment response status of Authentication eligibility from the
            Directory Server.


            Possible Values:

             * `Y` - Yes, Bank is participating in 3-D Secure protocol and will return the ACSUrl.

             * `N` - No, Bank is not participating in 3-D Secure protocol.

             * `U` - Unavailable,  the DS or ACS is not available for authentication at the time of the request.

             * `B` - Bypass, merchant authentication rule is triggered to bypass authentication in this use case.

            NOTE: If the Enrolled value is NOT Y, then the Consumer is NOT
            eligible for Authentication.
        cavv:
          type: string
          minLength: 28
          maxLength: 48
          description: >-
            Cardholder Authentication Verification Value (CAVV). Base64-encoded
            values of 28 or 32 characters. Hex-encoded values of 40 or 48
            characters.
        cavv_algorithm:
          type: string
          description: >-
            The algorithm used to generate the CAVV value. Supported for 3D
            Secure v1 only.
        pares_status:
          type: string
          enum:
            - "Y"
            - "N"
            - U
            - A
            - C
            - R
          example: A
          description: |-
            Authentication response code.

            Possible Values:

             * `Y` - Successful Authentication.

             * `N` - Failed Authentication.

             * `U` - Unable to Complete Authentication

             * `A` - Successful Attempts Transaction.

             * `C` - Challenge Required for Authentication.

             * `R` - Authentication Rejected.
        xid:
          type: string
          description: >-
            The transaction identifier assigned by Directory Server. Supported
            for 3D Secure v1 only.
        threeds_version:
          type: string
          enum:
            - 1.0.2
            - 2.1.0
            - 2.2.0
          example: 1.0.2
          description: The 3DS version used to process the transaction.
        ds_transaction_id:
          type: string
          description: >-
            The unique transaction identifier assigned by the Directory Server.
            Supported for 3D Secure v2 only.
    AdditionalData:
      type: object
      additionalProperties: false
      description: >-
        Additional payment result data, which may be required to return in a
        particular payment response.
      properties:
        acquirer_response_code:
          $ref: "#/components/schemas/acquirerResponseCode"
        acquirer_response_message:
          $ref: "#/components/schemas/acquirerResponseMessage"
        acquirer_authorizing_network_id:
          $ref: "#/components/schemas/acquirerAuthorizingNetworkID"
        acquirer_authorizing_network_id_descriptor:
          $ref: "#/components/schemas/acquirerAuthorizingNetworkIdDescriptor"
        initiator_trace_id:
          $ref: "#/components/schemas/initiatorTraceId"
        settlement_date:
          $ref: "#/components/schemas/settlementDate"
        issuer_receipt_text:
          type: string
          description: Additional text to print on transaction receipt, which optionally may be provided by the Issuer.
    acquirerResponseCode:
      description: >-
        Acquirer response returned during the authorisation.
      type: string
      example: "0000"
      maxLength: 4
    acquirerResponseMessage:
      description: >-
        The response description generated by the acquirer corresponding to the acquirer response code.
      type: string
    acquirerAuthorizingNetworkID:
      description: >-
        The Network ID returned in the original authorization response.
      type: string
    acquirerAuthorizingNetworkIdDescriptor:
      description: >-
        The name or descriptor that corresponds with the `acquirer_authorizing_network_id` 
        returned in the original authorization response.
      type: string
    initiatorTraceId:
      description: >-
        A number assigned by a transaction initiator(originator) to assist in
        identifying a transaction uniquely. The trace identifier remains
        unchanged for all messages within a two-message exchange, e.g.
        request/repeat and response. This property can be used to store the
        System trace audit number (STAN) as used in the ISO8583 specification
        (DE 11). Note the contents of this field are mandatory in many
        specifications - ISO8583, AS2805 (DE11) and are often related to the
        Retrieval Reference Number (RRN) as also specified in ISO8583.
        Unfortunately due to the usage in these earlier specifications, a STAN
        was limited to 6 digits which means that it cannot be utilised as a
        general purpose unique id. In addition, this entry is often printed on
        the receipt at a POI.
         This value will correspond to **ISO8583 DE11.**
         `Note: Use response.stan value for initiator_trace_id`
      type: string
      maxLength: 40
      example: "000001"
      deprecated: true
    settlementDate:
      description: >-
        This will reflect either the desired Merchant settlement date or the actual
        settlement date depending where the transaction request is within the payment
        lifecycle. A transaction may be assigned an intended settlement date, but it
        is possible that this date will not occur for technical reasons hence there
        should be a subsequent event to indicate the actual date of settlement.
        Format is date only as per RFC 3339.
      type: string
      format: date
    TokenDetailsPartial:
      type: object
      properties:
        reuse_token_type:
          title: Reuse Token Type
          description: > 
            The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.<br>
            
            **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
          type: string
          enum:
            - CHASE
            - INTERNAL
            - TAVE
          default: INTERNAL
        reuse_token:
          type: string
          description: >-
            The Verifone issued reuse token used to represent the previously
            stored cardholder data.
          minLength: 14
          maxLength: 255
        analytics_token:
          type: string
          description: >-
            A token that cannot be reversed to Card Holder data. This is
            included in a Payment for auditing and tracking purposes.
    TokenDetails:
      type: object
      properties:
        reuse_token:
          type: string
          description: >-
            The Verifone issued reuse token used to represent the previously
            stored cardholder data.
          minLength: 14
          maxLength: 255
        reuse_token_type:
          title: Reuse Token Type
          description: The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.
          type: string
          enum:
            - CHASE
            - INTERNAL
            - TAVE
        analytics_token:
          type: string
          description: >-
            A token that cannot be reversed to Card Holder data. This is
            included in a Payment for auditing and tracking purposes.
        token_expiry_date:
          type: string
          format: date
          description: When this Token will expire.
        token_scope:
          type: string
          format: uuid
          description: The token scope under which this token was created.
        token_status:
          type: string
          enum:
            - DELETED
            - ACTIVE
            - SUSPENDED
          description: The status of the Token.
        created_at:
          type: string
          format: date
          description: The date when this token was first created.
        updated_at:
          type: string
          format: date
          description: The last date token was updated.
        variant:
          type: string
          description: The variant of the card. eg. NEW_WORLD
          example: NEW_WORLD
        type:
          type: string
          enum:
            - CREDIT
            - DEBIT
          description: The type of card application or account selection.
          example: CREDIT
        issuer_name:
          type: string
          description: "The issuer of this card. eg. HSBC, BARCLAYS."
          example: HSBC
        issuer_country:
          $ref: "#/components/schemas/issuerCountryEnum"
        brand:
          type: string
          example: VISA
          description: "The brand of this card. eg. VISA, MASTERCARD, AMEX."
        expiry_year:
          type: integer
          description: A 4 digit value as shown on card.
          maximum: 9999
          example: 2021
        expiry_month:
          type: integer
          description: A 2 digit value as shown on card. ISO8583 - DE 14
          maximum: 12
          example: 12
        card_holder_name:
          type: string
          description: The Card holder name as it appears on the card.
          maxLength: 30
          example: MR J HOLDER
        last_four:
          type: string
          description: The last 4 digits of the card number.
          maxLength: 4
          example: "3127"
        bin:
          type: string
          description: >-
            The Bank Identification Number (also called IIN - Issuer
            Identification Number) of this card.
          minLength: 4
          maxLength: 11
          example: "492912"
        currency_code:
          type: string
          title: Currency Code
          description: >-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values
            correspond

            to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UZS
            - VEF
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XTS
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - BTC
    amount_simple_type:
      title: Amount Simple Type
      maxLength: 32
      pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
      type: string
      description: |
        The value, which can be anything from:<ul><li>An integer. For currencies that are not typically fractional, such as `JPY`.</li><li>A three-place decimal fraction. For currencies that are subdivided into thousandths, such as `TND`.</li></ul>
        <i>The required number of decimal places for a currency code is according to [ISO 4217](https://wikipedia.org/wiki/ISO_4217). However the following table takes precedence over ISO 4217:</i>

        |Code|Currency|Decimals|Fixed minor units|
        |--------|-----------|---------|-----------|
        |ISK|Iceland Krona|2|00|
      example: "20.50"
    amountDecimal:
      type: number
      description: Amount including decimal place.
    amountString:
      type: string
      description: Amount including decimal place.
    UnmatchedLineItem:
      title: Ecommerce basket line items
      description: >-
        The description of item(s) that was included in a transaction or
        purchase.
      type: object
      properties:
        name:
          type: string
          description: Descriptive name of the order line item
          maxLength: 255
        quantity:
          type: integer
          description: Quantity of the order line item
        unit_price:
          type: integer
          description: >-
            Unit Price is charged without a decimal place
            e.g. $1.5 = 150. Currencies can have different decimals/exponentials,
            see Currencies Section for more details.
        unit_price_tax:
          type: integer
          description: >-
            Unit Price Tax is charged without a decimal place
            e.g. $1.5 = 150. Currencies can have different decimals/exponentials,
            see Currencies Section for more details.
        tax_rate:
          type: number
          description: Item Tax Rate as percentage
          format: float
          example: "15.10"
        total_tax_amount:
          type: integer
          description: >-
            Total tax amount is charged without a decimal place
            e.g. $1.5 = 150. Currencies can have different decimals/exponentials,
            see Currencies Section for more details.
        total_amount:
          type: integer
          description: >-
            Total Amount is charged without a decimal place
            e.g. $1.5 = 150. Currencies can have different decimals/exponentials,
            see Currencies Section for more details.
        image_url:
          type: string
          description: Image URL for the line item
          maxLength: 2000
        item_url:
          type: string
          description: The line item's product description page URL.
          maxLength: 2000
        sku:
          type: string
          description: The stock keeping unit (SKU) for the item.
          maxLength: 127
        description:
          type: string
          description: The detailed item description.
          maxLength: 127
        category:
          type: string
          description: >-
            The item category type. <br />  The possible values are: <br />  *
            DIGITAL_GOODS - Goods that are stored, delivered, and used in their
            electronic format. This value is not currently supported for API
            callers that leverage the [PayPal for Commerce
            Platform](https://www.paypal.com/us/webapps/mpp/commerce-platform)
            product. <br />  * DIGITAL_GOODS - A tangible item that can be
            shipped with proof of delivery. <br />
          enum:
            - DIGITAL_GOODS
            - PHYSICAL_GOODS
      required:
        - name
        - total_amount
    paymentPlanOption:
      title: Instalment payment plan option
      type: object
      properties:
        number_of_instalments:
          minimum: 1
          type: integer
          description: The number of individual parts that the total amount should be paid in.
        first_instalment_amount:
          $ref: "#/components/schemas/amountDecimal"
        instalment_amount:
          $ref: "#/components/schemas/amountDecimal"
        interest_rate:
          type: number
          description: The interest rate.
          format: float
        annual_percentage_rate:
          type: number
          description: The interest rate expressed in Annual Percentage Rate.
          format: float
        handling_fee:
          $ref: "#/components/schemas/amountDecimal"
        total_amount_with_cost:
          $ref: "#/components/schemas/amountDecimal"
      description: An instalment plan option available for the transaction. Instalments are managed by the issuer. To the merchant this is just another transaction.
    CardBrand:
      type: string
      title: The Card Type
      description: >-
        Represents a Card type or brand. It should correspond to a
        consistent name, the list of standard names is as follows:


        Value |  Description

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

        AMEX|American Express

        CB|Carte Bancaires

        DINERS|Diners Club International

        DISCOVER|Diners Club Discover

        JCB|Japan Credit Bureau

        MAESTRO|Multi-national Debit (MasterCard)

        MASTERCARD|MasterCard

        VISA|Visa

        UPI|Union Pay International

        GIFT_CARD|Gift Card (Generic)

        PLCC|Private Label Credit Card

        **Other local schemes as applicable**. Enter a pre-defined name to represent the scheme or type. 

        **Note**: 
        1. For gift cards, card brand is mandatory and the value should be GIFT_CARD.

        2. This parameter is mandatory for dual branded cards.
    unmatchedRefundBaseRequest:
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        brand_choice:
          type: string
          description: >-
            For dual-branded cards identifies whether selection is made by a
            cardholder or merchant.
          enum:
            - MERCHANT
            - CARDHOLDER
          default: MERCHANT
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
        detailed_amount:
          $ref: "#/components/schemas/DetailedAmount"
        currency_code:
          $ref: "#/components/schemas/CurrencyCodeEnum"
        customer:
          title: Customer ID
          description: The ID of a customer.
          type: string
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
        shopper_interaction:
          title: Ecommerce Shopper Interaction
          description: >
            Determines the sales channel the shopper gives their card details
            through:
              * `ECOMMERCE` Online transactions where the cardholder is present.
              * `MAIL` order transactions where the shopper is in contact with the merchant via email.
              * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          type: string
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
          default: ECOMMERCE
          example: ECOMMERCE
        reason:
          type: string
          description: The reason for the refund
        merchant_reference:
          description: A reference specified by the merchant to identify the transaction.
          type: string
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
          maxLength: 50
        line_items:
          type: array
          description: The array of items being refunded.
          items:
            $ref: "#/components/schemas/UnmatchedLineItem"
        receipt_type:
          type: string
          description: Defines the type of receipt to be generated
          enum:
            - FULL_RECEIPT
            - INVOICE
            - INVOICE_RECEIPT
            - SIMPLE_RECEIPT
        tax_indicator:
          title: Tax Indicator
          description: >
            This field indicates the taxable status of the transaction (if any of the purchased items are taxable). This field is part of so-called Level 2 data.
            If the value `TAX_PROVIDED` is sent, `tax_amount` should also be provided
          type: string
          enum:
            - TAX_PROVIDED
            - TAX_NOT_PROVIDED
            - NON_TAXABLE
          default: TAX_NOT_PROVIDED
        purchase_order_number:
          title: Purchase Order Number
          description: >
            The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme).
            This field is part of so-called Level 2 data.
          type: string
          maxLength: 17
        promo_code:
          type: string
          description: A code defined by the merchant that affects the calculation of the total amount.
        promo_financing_details:
          $ref: "#/components/schemas/PromoFinancingDetails"
      required:
        - payment_provider_contract
        - amount
        - currency_code
    unmatchedRefundEncryptedCardRequest:
      title: Using Encrypted Card
      type: object
      allOf:
        - $ref: "#/components/schemas/unmatchedRefundBaseRequest"
        - properties:
            encrypted_card:
              type: string
              title: Client encrypted cardholder data
              description: >-
                The cardholder data encrypted using the Verifone provided public
                key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

                 The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. This should be a single JSON line and should not contain any spaces. Read <a target="_blank" style="color:blue;" href="https://docs.verifone.com/online-payments/api-integration-methods-auth-and-endpoints/secure-card-capture-key">Secure card capture key</a> for details.

                 Additionally, a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z. Encrypted card is valid for only 15 minutes.
              example: U3dhZ2dlciByb2Nrcw==
            encrypted_svc_access_code:
              type: string
              title: Client encrypted SVC Access Code
              description: |-
                The SVC Access Code encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

                The data to encrypt is a JSON with tag svcAccessCode.

                Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z.
            public_key_alias:
              type: string
              title: Public Key Alias
              description: The alias for the public key used to encrypt the card/identity card/cvv/svc access code.
            prefer_fund_transfer:
              type: boolean
              description: |-
                This flag is to be set to true when the merchant would like to use
                fund transfer options like OCT and the Payment provider contract
                is enabled for both fund transfers and unmatched refund.
              default: false
            receipt_type:
              type: string
              description: Defines the type of receipt to be generated
              enum:
                - FULL_RECEIPT
                - INVOICE
                - INVOICE_RECEIPT
                - SIMPLE_RECEIPT
                - NONE
          required:
            - encrypted_card
            - public_key_alias
    issuerInstalmentSelectionRequest:
      title: Issuer Instalment Option Selection Request.
      type: object
      properties:
        issuer_instalment:
          $ref: "#/components/schemas/instalment"
      additionalProperties: false
    unmatchedRefundTokenRequest:
      title: Using Reuse Token
      type: object
      allOf:
        - $ref: "#/components/schemas/unmatchedRefundBaseRequest"
        - properties:
            reuse_token:
              title: Verifone or Third-Party Reuse Token
              description: >
                The Verifone or Third-Party issued reuse token used to represent the previously stored
                cardholder data.

                Required here if not referenced by providing the stored credential signup
                reference `stored_credential.reference` in a subsequent charge request.
              type: string
              maxLength: 255
              minLength: 14
              example: VFrandom54965984
            reuse_token_type:
              title: Reuse Token Type
              description: > 
                The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.
                
                **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
              type: string
              enum:
                - CHASE
                - INTERNAL
                - TAVE
              default: INTERNAL
            reuse_token_details:
              $ref: "#/components/schemas/TokenDetailsRequestBody"
            encrypted_svc_access_code:
              type: string
              title: Client encrypted SVC Access Code
              description: |-
                The SVC Access Code encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

                The data to encrypt is a JSON with tag svcAccessCode.

                Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z.
            public_key_alias:
              type: string
              title: Public Key Alias
              description: The alias for the public key used to encrypt the card/identity card/cvv/svc access code.
            prefer_fund_transfer:
              type: boolean
              description: |-
                This flag is to be set to true when the merchant would like to use
                fund transfer options like OCT and the Payment provider contract
                is enabled for both fund transfers and unmatched refund.
              default: false
            receipt_type:
              type: string
              description: Defines the type of receipt to be generated
              enum:
                - FULL_RECEIPT
                - INVOICE
                - INVOICE_RECEIPT
                - SIMPLE_RECEIPT
                - NONE
          required:
            - reuse_token
    CardDetails:
      type: object
      properties:
        masked_card_number:
          type: string
          title: Masked Card Number
          description: The masked value for the card number
          example: 520000****1096
        expiry_year:
          type: integer
          title: Expiry Year
          description: A 4 digit value as shown on card.
          example: 2024
        expiry_month:
          type: integer
          title: Expiry Month
          description: A 2 digit value as shown on card. ISO8583 - DE 14
          example: 12
    EcomResponse:
      type: object
      properties:
        id:
          type: string
          title: Transaction ID
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: The ID of the transaction.
        payment_provider_contract:
          type: string
          description: >-
            The identifier of payment provider contract you want to process the
            transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 0
        blocked:
          type: boolean
          description: >-
            True if the transaction has been blocked by a ruleset, false
            otherwise
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction
        payment_product:
          type: string
          description: The payment product corresponding to this transaction
        payment_product_type:
          type: string
          description: The name of the processor used for this transaction
        processor_reference:
          type: string
          description: "Reference identifying the transaction, as provided by the processor."
        processor_details:
          type: object
          description: Stores all details specific for the processor of the transaction.
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: >-
            Message provided by the 3rd party service as additional information,
            when the transaction does not succeed.
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformation"
        arn:
          type: string
          description: >-
            Acquirer reference number. Generated by the Acquirer at the time of
            clearing for card transactions.
        authorization_code:
          type: string
          description: >-
            * When the payment is authorized successfully, this field holds the
            authorization code for the payment.


            * When the payment is not authorized, this field is not returned.
          maxLength: 6
          example: 5B1D4C
        avs_result:
          type: string
          description: >-
            Address verification services result, which provides information
            about the outcome of the AVS check. The full list of codes and descriptions can be found <a href="https://docs.verifone.com/online-payments/fraud-management/address-verification-service-avs">here</a>
          example: "A"
          enum:
            - "A"
            - "B"
            - "C"
            - "D"
            - "E"
            - "F"
            - "G"
            - "I"
            - "K"
            - "L"
            - "M"
            - "N"
            - "O"
            - "P"
            - "R"
            - "S"
            - "T"
            - "U"
            - "W"
            - "X"
            - "Y"
            - "Z"
        card:
          type: string
          description: The token representing the payment card
        created_by:
          type: string
          description: >-
            The ID of the user who initiated the transaction. Only set when
            shopper_interaction = moto, mail_order or telephone_order
        cvv_present:
          type: boolean
          description: True if the card was used with a cvv
        cvv_result:
          type: string
          description: >-
            The CVC verification result, which provides information about the
            outcome of the CVC check.

             CVC-CVV result codes:
             * `0` Unknown
             * `1` Matches.
             * `2` Doesn't match.
             * `3` Not checked.
             * `4` No CVC/CVV provided, but was required.
             * `5` Issuer not certified for CVC/CVV.
             * `6` No CVC/CVV provided.

            <strong>The following are included only for backwards compatibility.
            They are deprecated and will be removed in the next major release.
            The client must take action now to ensure ongoing support.</strong>
             * `M` Match
             * `Y` Match
             * `N` No Match
             * `P` Not Processed
             * `S` CVV Should be present, but Merchant indicates not present.
             * `U` Issuer not certified or registered to process card verification.
          example: "1"
          enum:
            - "0"
            - "1"
            - "2"
            - "3"
            - "4"
            - "5"
            - "6"
            - "9"
            - M
            - "Y"
            - "N"
            - P
            - S
            - U
        cavv_result:
          type: string
          description: >+
            This field will be populated for any Verified by Visa transaction
            and AVV Authorisation message sent by MasterCard SecureCode: This
            includes CAVV and AEVV from American Express SafeKey.


             CAVV Transaction Response Code Values:

            * `0` CAVV or AEVV Not Validated due to erroneous data submitted.



            * `1` CAVV or AEVV Failed Validation - Authentication Transaction.
            This is an indication of potential bad or fraudulent data submitted.



            * `2` CAVV or AEVV Passed Validation – Authentication Transaction.



            * `3` CAVV or AEVV Passed Validation – Attempted Authentication
            Transaction. (Determined that the Issuer ACS generated this value
            from the use of the Issuer’s CAVV/AEVV key[s]).



            * `4` CAVV or AEVV Failed Validation – Attempted Authentication
            Transaction. Attempted Authentication Transaction. This is an
            indication of potential bad or fraudulent data submitted as the
            CAVV/AEVV. (Determined that Visa generated this value from the use
            of CAVV/AEVV key[s]).



            * `5` Reserved.



            * `6` CAVV or AEVV Not Validated – Issuer not participated. This
            value is generated when an Issuer requests the `do not verify` flag
            to be established for its BINs. This parameter enables an Issuer to
            temporarily stop CAVV/AEVV verification while resolving CAVV/AEVV
            key issues. VisaNet processes this value as a valid CAVV/AEVV.



            * `7` CAVV or AEVV Failed Validation – Attempted Authentication
            Transaction. This is an indication of potential bad or fraudulent
            data submitted as the CAVV/AEVV. (CAVV/AEVV generated with Visa
            Key).



            * `8` CAVV or AEVV Passed Validation – Attempted Authentication
            Transaction. (CAVV/AEVV generated with Visa Key).



            * `9` CAVV or AEVV Failed Validation – Attempted Authentication
            Transaction. This is an indication of potential bad or fraudulent
            data submitted as the CAVV/AEVV (CAVV/AEVV generated with Visa Key –
            Issuer ACS unavailable).



            * `99` An unknown value was returned from the processor.



            * `A` CAVV or AEVV Passed Validation – Attempted Authentication
            Transaction. (CAVV/AEVV generated with Visa Key – Issuer ACS
            unavailable).



            * `B` CAVV or AEVV Failed Validation – Attempted Authentication
            Transaction. This is an indication of potential bad or fraudulent
            data submitted as the CAVV/AEVV. (CAVV/AEVV generated with Visa
            Key).



            * `C` CAVV or AEVV Not Validated – Attempted Authentication
            Transaction. Issuer did not return a CAVV/AEVV results code in the
            authorisation response. VisaNet will treat this as valid CAVV/AEVV
            if the Issuer approves the authorisation.



            * `D` CAVV or AEVV Not Validated – Authentication. Issuer did not
            return a CAVV/AEVV results code in the authorisation response.
            VisaNet will treat this as valid CAVV/AEVV if the Issuer approves
            the authorisation.



            * `I` Invalid Security Data.



            * `U` Issuer does not participate or 3-D Secure data not utilised.



            * `NA` Blank CAVV or AEVV Not Present.


          example: "99"
          enum:
            - "0"
            - "1"
            - "2"
            - "3"
            - "4"
            - "5"
            - "6"
            - "7"
            - "8"
            - "9"
            - "99"
            - A
            - B
            - C
            - D
            - I
            - U
            - NA
        stored_credential:
          allOf:
            - $ref: "#/components/schemas/StoredCredential"
              description: Defines a recurring payment type
        details:
          $ref: "#/components/schemas/Details"
        reason_code:
          type: string
          description: >-
            A reason code assigned by the acquiring platform; '0000' in case of
            success
          maxLength: 4
        rrn:
          type: string
          description: >-
            A client (user friendly) identifier for the transaction generated at
            the outset of a business event. The format will be dependent on the
            calling system.


            A reference supplied by the system retaining the original source
            information and used to assist in locating that transaction or a
            copy of the transaction. This value is critical in matching values
            that are sent to other Payment processors or Acquirers.
             This value would correspond to the **ISO8583 specification as RRN in attribute DE 37, which limits the value to being an alphanumeric value 12 characters.**

             For the GSC client android application the format will correspond to <strong>YYMMdd<stan 6 digits></strong>.
          maxLength: 12
          example: "200211654321"
        shopper_interaction:
          type: string
          description: >-
            Determines the point of sale of a customer. Possible values: pos,
            moto, mail_order, telephone_order, ecommerce and cont_auth
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
        stan:
          type: string
          description: System Trace Audit Number.
        reversal_status:
          type: string
          description: >-
            Indicates to the API client if a technical reversal has been
            completed by Verifone.
          enum:
            - NONE
            - REQUIRED
            - COMPLETED
          default: NONE
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          items:
            type: number
          example:
            - "52.370216"
            - "4.895168"
        city:
          type: string
          example: West Roxbury
          description: The city resolved from the customer's ip address.
        country_code:
          type: string
          example: US
          description: The country code resolved from the customer's ip address.
        additional_data:
          $ref: "#/components/schemas/AdditionalData"
        token_details:
          allOf:
            - $ref: "#/components/schemas/TokenDetails"
              description: >-
                This object is returned as the response to a request for
                Create/Update Token.
        promo_code:
          type: string
          description: A code defined by the merchant that affects the calculation of the total amount.
        purchase_order_number:
          title: Purchase Order Number
          description: >
            The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme).
            This field is part of so-called Level 2 data.
          type: string
          maxLength: 17
        issuer_instalment_result:
          $ref: "#/components/schemas/ecomPaymentResponse_issuer_instalment_result"
        promo_financing_result:
          $ref: "#/components/schemas/PromoFinancingResults"
        balance_amount:
          type: integer
          title: balanceAmount
          description: |-
            Balance amount is the amount remaining on a card or account of cardholder without a decimal place e.g. $1.5 = 150.

            The required number of decimal places for a currency code is according to ISO 4217. However the following table takes precedence over ISO 4217:
    EncryptedCardBalancePaymentRequest:
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
          title: paymentProviderContractId
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        dynamic_descriptor:
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
          maxLength: 25
          title: Dynamic Descriptor
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
          title: Merchant Reference
        shopper_interaction:
          type: string
          description: |-
            Determines the sales channel the shopper gives their card details through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
            - PHONE
          default: ECOMMERCE
          example: ECOMMERCE
          title: Ecommerce Shopper Interaction
        currency_code:
          type: string
          title: Currency Code
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD.
            Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217). 

             **Deprecated :** `BYR` (replaced by BYN), `FRF` (replaced by EUR), `LTL` (replaced by EUR), `LVL` (replaced by EUR), `MRO` (replaced by MRU), `STD` (replaced by STN), `USS` (no replacement), `VEF` (replaced by VES), `ZMK` (replaced by ZMV) and `BTC` (Bitcoin only supported as Crypto Amount).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYN
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - FRF
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MRU
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - STN
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UYW
            - UZS
            - VEF
            - VES
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XSU
            - XTS
            - XUA
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - ZWL
            - BTC
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        encrypted_card:
          type: string
          title: Client encrypted cardholder data
          description: |-
            The cardholder data encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

             The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. 

             Additionally a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z 

             Sample JSON to encrypt: 
                        
                            {
                                "cardNumber": "4929123123123127",
                                "cardholderName": "MR J HOLDER",
                                "expiryMonth": "12",
                                "expiryYear": "2021",
                                "cvv": "123",
                                "svcAccessCode": "4848448",
                                "captureTime": "2019-08-24T14:15:22Z"
                            }
          example: U3dhZ2dlciByb2Nrcw==
        public_key_alias:
          type: string
          title: Public Key Alias
          description: |-
            The alias for the public key used to encrypt this card. 
             card/cvv/svc access code.
        token_preference:
          allOf:
            - $ref: "#/components/schemas/TokenPreferenceDto"
              title: Token Preference
              description: Contains the properties required to create a token
        pay_with_points:
          $ref: "#/components/schemas/payWithPoint"
      required:
        - payment_provider_contract
        - currency_code
        - encrypted_card
        - public_key_alias
    ReuseTokenCardBalancePaymentRequest:
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
          title: paymentProviderContractId
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        dynamic_descriptor:
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
          maxLength: 25
          title: Dynamic Descriptor
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
          title: Merchant Reference
        shopper_interaction:
          type: string
          description: |-
            Determines the sales channel the shopper gives their card details through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
            - PHONE
          default: ECOMMERCE
          example: ECOMMERCE
          title: Ecommerce Shopper Interaction
        currency_code:
          type: string
          title: Currency Code
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD.
            Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217). 

             **Deprecated :** `BYR` (replaced by BYN), `FRF` (replaced by EUR), `LTL` (replaced by EUR), `LVL` (replaced by EUR), `MRO` (replaced by MRU), `STD` (replaced by STN), `USS` (no replacement), `VEF` (replaced by VES), `ZMK` (replaced by ZMV) and `BTC` (Bitcoin only supported as Crypto Amount).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYN
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - FRF
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MRU
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - STN
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UYW
            - UZS
            - VEF
            - VES
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XSU
            - XTS
            - XUA
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - ZWL
            - BTC
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        reuse_token:
          type: string
          title: Verifone or Third-Party Reuse Token
          description: The Verifone or Third-Party issued reuse token used to represent the previously stored cardholder data. Required here if not referenced by providing the stored credential signup reference `stored_credential.reference` in a subsequent charge request.
          minLength: 14
          maxLength: 255
        reuse_token_type:
          type: string
          title: Reuse Token Type
          description: > 
            The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.<br>
            
            **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
          enum:
            - INTERNAL
            - CHASE
            - TAVE
          default: INTERNAL
        reuse_token_details:
          $ref: "#/components/schemas/TokenDetailsRequestBody"
        encrypted_svc_access_code:
          type: string
          title: Client encrypted SVC Access Code
          description: |-
            The SVC Access Code encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

            The data to encrypt is a JSON with tag svcAccessCode.

            Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z.

            Sample JSON to encrypt:
                        
                            {
                                "svcAccessCode": "484848"
                                "captureTime": "2023-02-27T14:15:22Z"
                            }
                                
                        

             **Required for Stored Value Cards.**
        public_key_alias:
          type: string
          title: Public Key Alias
          description: |-
            The alias for the public key used to encrypt this card. 
             card/cvv/svc access code.
        pay_with_points:
          $ref: "#/components/schemas/payWithPoint"
      required:
        - payment_provider_contract
        - currency_code
        - reuse_token
    ActivateEncryptedCard:
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        dynamic_descriptor:
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
          maxLength: 25
        shopper_interaction:
          type: string
          description: |-
            Determines the sales channel the shopper gives their card details through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
            - PHONE
          default: ECOMMERCE
          example: ECOMMERCE
        currency_code:
          type: string
          title: Currency Code
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD.
            Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217). 

             **Deprecated :** `BYR` (replaced by BYN), `FRF` (replaced by EUR), `LTL` (replaced by EUR), `LVL` (replaced by EUR), `MRO` (replaced by MRU), `STD` (replaced by STN), `USS` (no replacement), `VEF` (replaced by VES), `ZMK` (replaced by ZMV) and `BTC` (Bitcoin only supported as Crypto Amount).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYN
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - FRF
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MRU
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - STN
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UYW
            - UZS
            - VEF
            - VES
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XSU
            - XTS
            - XUA
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - ZWL
            - BTC
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        promo_code:
          type: string
          title: promoCode
          description: A code defined by the merchant that affects the calculation of the total amount.
        amount:
          type: integer
          description: Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.
          example: 0
        activate_now:
          type: boolean
          title: activate_now
          default: true
          example: true
          description: |-
            Whether activate card or not. Setting the to 'false' will only check if activation is possible, without changing

             status of the card. Value 'false' is only supported for SVS gift cards in US region.
        encrypted_card:
          type: string
          title: Client encrypted cardholder data
          description: |-
            The cardholder data encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

             The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. 

             Additionally a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z
          example: U3dhZ2dlciByb2Nrcw==
        token_preference:
          allOf:
            - $ref: "#/components/schemas/TokenPreferenceDto"
              title: Token Preference
              description: Contains the properties required to create a token
        public_key_alias:
          type: string
          title: Public Key Alias
          description: The alias for the public key used to encrypt this card.
      required:
        - payment_provider_contract
        - merchant_reference
        - currency_code
        - amount
        - encrypted_card
        - public_key_alias
    ActivateReuseToken:
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        dynamic_descriptor:
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
          maxLength: 25
        shopper_interaction:
          type: string
          description: |-
            Determines the sales channel the shopper gives their card details through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
            - PHONE
          default: ECOMMERCE
          example: ECOMMERCE
        currency_code:
          type: string
          title: Currency Code
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD.
            Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217). 

             **Deprecated :** `BYR` (replaced by BYN), `FRF` (replaced by EUR), `LTL` (replaced by EUR), `LVL` (replaced by EUR), `MRO` (replaced by MRU), `STD` (replaced by STN), `USS` (no replacement), `VEF` (replaced by VES), `ZMK` (replaced by ZMV) and `BTC` (Bitcoin only supported as Crypto Amount).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYN
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - FRF
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MRU
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - STN
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UYW
            - UZS
            - VEF
            - VES
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XSU
            - XTS
            - XUA
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - ZWL
            - BTC
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        promo_code:
          type: string
          title: promoCode
          description: A code defined by the merchant that affects the calculation of the total amount.
        amount:
          type: integer
          description: Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.
          example: 0
        activate_now:
          type: boolean
          title: activate_now
          default: true
          example: true
          description: |-
            Whether activate card or not. Setting the to 'false' will only check if activation is possible, without changing

             status of the card. Value 'false' is only supported for SVS gift cards in US region.
        reuse_token:
          type: string
          title: Reuse Token
          description: The Verifone issued reuse token used to represent the previously stored cardholder data.
          minLength: 14
          maxLength: 255
        reuse_token_type:
          type: string
          title: Reuse Token Type
          description: > 
            The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.<br>
            
            **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
          enum:
            - INTERNAL
            - CHASE
            - TAVE
          default: INTERNAL
        reuse_token_details:
          $ref: "#/components/schemas/TokenDetailsRequestBody"
        encrypted_svc_access_code:
          type: string
          title: Client encrypted SVC Access Code
          description: |-
            The SVC Access Code encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

            The data to encrypt is a JSON with tag svcAccessCode.

            Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z.
        public_key_alias:
          type: string
          title: Public Key Alias
          description: The alias for the public key used to encrypt the card/identity card/cvv/svc access code.
      required:
        - payment_provider_contract
        - merchant_reference
        - currency_code
        - amount
        - reuse_token
    BalanceEnquiryResponse:
      type: object
      properties:
        id:
          type: string
          title: Transaction ID
          format: uuid-flexible
          description: The ID of the transaction.
        balance_amount:
          type: integer
          title: balanceAmount
          description: |-
            Balance amount is the amount remaining on a card or account of cardholder without a decimal place e.g. $1.5 = 150. 

             The required number of decimal places for a currency code is according to ISO 4217. However the following table takes precedence over ISO 4217: 

            Code |  Currency  |  Decimals  |  Fixed minor units
            ------|-------------|-----------|-----------
            ISK|Iceland krona|2|00

             For Account Verification transactions, provide 0 as value for this field.
        balance_points:
          description: "An Array containing result of querying balance for different kinds of points"
          type: array
          items:
            $ref: "#/components/schemas/BalancePoints"
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          title: merchantReference
          description: A reference specified by the merchant to identify the transaction
          maxLength: 50
        processor:
          type: string
          description: The name of the processor used for this transaction
        processor_reference:
          type: string
          description: Reference identifying the transaction, as provided by the processor.
        processor_details:
          type: object
          description: Stores all details specific for the processor of the transaction.
        status:
          type: string
          title: Ecommerce Transaction Status
          description: The outcome of the payment request.
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - CANCELLED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - CUSTOMER_ACCEPTED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: Message provided by the 3rd party service as additional information, when the transaction does not succeed.
        reason_code:
          type: string
          description: A reason code assigned by the acquiring platform; '0000' in case of success
          maxLength: 4
        arn:
          type: string
          title: Acquirer reference number
          description: Acquirer reference number. Generated by the Acquirer at the time of clearing for card transactions.
        authorization_code:
          type: string
          title: authorizationCode
          description: |-
            Authorization code: 

             * When the payment is authorized successfully, this field holds the authorisationCode code for the payment.

            * When the payment is not authorized, this field is not returned.
          maxLength: 6
          example: 5B1D4C
        rrn:
          type: string
          title: referenceId
          maxLength: 12
          description: |-
            A client (user friendly) identifier for the transaction generated at the outset of a business event. The format will be dependent on the calling system.

                    A reference supplied by the system retaining the original source information and used to assist in locating that transaction or a copy of the transaction. This value is critical in matching values that are sent to other Payment processors or Acquirers. This value would correspond to the ISO8583 specification as RRN in attribute DE 37, which limits the value to being an alphanumeric value 12 characters.
                    
                    For the GSC client android application the format will correspond to YYMMdd<stan 6 digits>.
        shopper_interaction:
          type: string
          title: Ecommerce Shopper Interaction
          description: "Determines the point of sale of a customer. Possible values: pos, moto, mail_order, telephone_order, ecommerce and cont_auth"
          enum:
            - ecommerce
            - pos
            - moto
            - mail_order
            - cont_auth
            - telephone_order
            - unknown
        stan:
          type: number
          description: System Trace Audit Number.
        token_details:
          allOf:
            - $ref: "#/components/schemas/TokenDetails"
              description: This object is returned as the response to a request for Create/Update Token.
        card_details:
          allOf:
            - $ref: "#/components/schemas/CardDetails"
        additional_data:
          $ref: '#/components/schemas/AdditionalData'
    BalancePoints:
      type: object
      title: "Points Details"
      properties:
        points_type:
          type: string
          description: Type or name of the points program
          title: Points Type
          enum:
            - AMEX
        balance_points:
          type: string
          description: An amount type represented in points for all fields like points balance, points redemption, etc. when a points program is applicable in a transaciton or a query.
          title: Points Amount
          maxLength: 32
          pattern: ^(([0-9]+)|(([0-9]+)?[.][0-9]+))$
        identifier:
          type: string
          description: "Identifier associated with the points balance. E.g points_id, account_id."
        points_transaction_reference:
          type: string
          description: Unique transaction reference to the related card transaction.
          title: Points Transaction Reference
        points_transaction_reference_type:
          type: string
          title: Points Transaction Reference Type
          description: >-
            Type of the transaction reference.

            * `AUTH_CODE` The authorisation response code received from issuer/acquirer (as used in the ISO8583 specification (DE 38))
        points_conversion_rate:
          type: number
          description: The points conversion rate.
          title: Points Conversion Rate
          format: float
        min_reward_amount:
          description: >-
            Minimum reward amount to spend with points without a decimal place e.g. $1.5 = 150.


            <i>The required number of decimal places for a currency code is according to
            ISO 4217.</i>
          type: integer
        max_reward_amount:
          description: >-
            Maximum reward amount to spend with points without a decimal place e.g. $1.5 = 150.


            <i>The required number of decimal places for a currency code is according to
            ISO 4217.</i>
          type: integer
      required:
        - points_type
    StoredValueCardResponse:
      type: object
      properties:
        id:
          type: string
          title: Transaction ID
          format: uuid-flexible
          description: The ID of the transaction.
        balance_amount:
          type: integer
          description: |-
            Balance amount is the amount remaining on a card or account of cardholder without a decimal place e.g. $1.5 = 150

            The required number of decimal places for a currency code is according to ISO 4217. However the following table takes precedence over ISO 4217:
          title: balanceAmount
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer.
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          title: merchantReference
          maxLength: 50
        processor:
          type: string
          description: The name of the processor used for this transaction
        processor_reference:
          type: string
          description: Reference identifying the transaction, as provided by the processor.
        processor_details:
          type: object
          description: Reference identifying the transaction, as provided by the processor.
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - CANCELLED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - CUSTOMER_ACCEPTED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: Message provided by the 3rd party service as additional information, when the transaction does not succeed.
        arn:
          type: string
          description: Acquirer reference number. Generated by the Acquirer at the time of clearing for card transactions.
        authorization_code:
          type: string
          description: |-
            * When the payment is authorized successfully, this field holds the authorization code for the payment.

            * When the payment is not authorized, this field is not returned.
          maxLength: 6
          example: 5B1D4C
        rrn:
          type: string
          description: |-
            A client (user friendly) identifier for the transaction generated at the outset of a business event. The format will be dependent on the calling system.

            A reference supplied by the system retaining the original source information and used to assist in locating that transaction or a copy of the transaction. This value is critical in matching values that are sent to other Payment processors or Acquirers.
             This value would correspond to the **ISO8583 specification as RRN in attribute DE 37, which limits the value to being an alphanumeric value 12 characters.**

             For the GSC client android application the format will correspond to <strong>YYMMdd<stan 6 digits></strong>.
          maxLength: 12
        reason_code:
          type: string
          description: A reason code assigned by the acquiring platform; '0000' in case of success
          maxLength: 4
        shopper_interaction:
          type: string
          description: "Determines the point of sale of a customer. Possible values: pos, moto, mail_order, telephone_order, ecommerce and cont_auth"
          enum:
            - ecommerce
            - pos
            - moto
            - mail_order
            - cont_auth
            - telephone_order
            - unknown
        stan:
          type: number
          description: System Trace Audit Number.
        promo_code:
          type: string
          title: promoCode
          description: A code defined by the merchant that affects the calculation of the total amount.
        token_details:
          allOf:
            - $ref: "#/components/schemas/TokenDetails"
              description: This object is returned as the response to a request for Create/Update Token.
        card_details:
          allOf:
            - $ref: "#/components/schemas/CardDetails"
              description: This is used to return additional information about the card.
        amount:
          type: integer
          description: Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.
          example: 0
        additional_data:
          $ref: '#/components/schemas/AdditionalData'
    LoadEncryptedCard:
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        dynamic_descriptor:
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
          maxLength: 25
        shopper_interaction:
          type: string
          description: |-
            Determines the sales channel the shopper gives their card details through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
            - PHONE
          default: ECOMMERCE
          example: ECOMMERCE
        currency_code:
          type: string
          title: Currency Code
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD.
            Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217). 

             **Deprecated :** `BYR` (replaced by BYN), `FRF` (replaced by EUR), `LTL` (replaced by EUR), `LVL` (replaced by EUR), `MRO` (replaced by MRU), `STD` (replaced by STN), `USS` (no replacement), `VEF` (replaced by VES), `ZMK` (replaced by ZMV) and `BTC` (Bitcoin only supported as Crypto Amount).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYN
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - FRF
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MRU
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - STN
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UYW
            - UZS
            - VEF
            - VES
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XSU
            - XTS
            - XUA
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - ZWL
            - BTC
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        promo_code:
          type: string
          title: promoCode
          description: A code defined by the merchant that affects the calculation of the total amount.
        amount:
          type: integer
          description: Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.
          example: 0
        encrypted_card:
          type: string
          title: Client encrypted cardholder data
          description: |-
            The cardholder data encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

             The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. 

             Additionally a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z
          example: U3dhZ2dlciByb2Nrcw==
        token_preference:
          allOf:
            - $ref: "#/components/schemas/TokenPreferenceDto"
              title: Token Preference
              description: Contains the properties required to create a token
        public_key_alias:
          type: string
          title: Public Key Alias
          description: The alias for the public key used to encrypt this card.
      required:
        - payment_provider_contract
        - merchant_reference
        - currency_code
        - amount
        - encrypted_card
        - public_key_alias
    LoadReuseToken:
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        dynamic_descriptor:
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
          maxLength: 25
        shopper_interaction:
          type: string
          description: |-
            Determines the sales channel the shopper gives their card details through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
            - PHONE
          default: ECOMMERCE
          example: ECOMMERCE
        currency_code:
          type: string
          title: Currency Code
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD.
            Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217). 

             **Deprecated :** `BYR` (replaced by BYN), `FRF` (replaced by EUR), `LTL` (replaced by EUR), `LVL` (replaced by EUR), `MRO` (replaced by MRU), `STD` (replaced by STN), `USS` (no replacement), `VEF` (replaced by VES), `ZMK` (replaced by ZMV) and `BTC` (Bitcoin only supported as Crypto Amount).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYN
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - FRF
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MRU
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - STN
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UYW
            - UZS
            - VEF
            - VES
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XSU
            - XTS
            - XUA
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - ZWL
            - BTC
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        promo_code:
          type: string
          title: promoCode
          description: A code defined by the merchant that affects the calculation of the total amount.
        amount:
          type: integer
          description: Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.
          example: 0
        reuse_token:
          type: string
          title: Reuse Token
          description: The Verifone issued reuse token used to represent the previously stored cardholder data.
          minLength: 14
          maxLength: 255
        reuse_token_type:
          type: string
          title: Reuse Token Type
          description: > 
            The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type. <br>
            
            **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
          enum:
            - INTERNAL
            - CHASE
            - TAVE
          default: INTERNAL
        reuse_token_details:
          $ref: "#/components/schemas/TokenDetailsRequestBody"
        encrypted_svc_access_code:
          type: string
          title: Client encrypted SVC Access Code
          description: |-
            The SVC Access Code encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

            The data to encrypt is a JSON with tag svcAccessCode.

            Additionally a tag called captureTime must be presenting indicating the time the cvv was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z.
        public_key_alias:
          type: string
          title: Public Key Alias
          description: The alias for the public key used to encrypt the card/identity card/cvv/svc access code.
      required:
        - payment_provider_contract
        - merchant_reference
        - currency_code
        - amount
        - reuse_token
    redemptionBaseRequest:
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
          title: paymentProviderContractId
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        amount:
          type: integer
          description: Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field.
          example: 0
        currency_code:
          $ref: "#/components/schemas/CurrencyCodeEnum"
        pay_with_points:
          $ref: "#/components/schemas/payWithPoint"
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
          title: Merchant Reference
        shopper_interaction:
          type: string
          description: |-
            Determines the sales channel the shopper gives their card details through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
            - PHONE
          default: ECOMMERCE
          example: ECOMMERCE
          title: Ecommerce Shopper Interaction
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
      required:
        - payment_provider_contract
        - amount
        - currency_code
        - pay_with_points
    encryptedCardRedemptionRequestBody:
      title: Points Redemption Request Using Encrypted Card
      type: object
      allOf:
        - $ref: "#/components/schemas/redemptionBaseRequest"
        - properties:
            encrypted_card:
              type: string
              title: Client encrypted cardholder data
              description: |-
                The cardholder data encrypted using the Verifone provided public key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

                The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. 

                Additionally a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z
              example: U3dhZ2dlciByb2Nrcw==
            public_key_alias:
              type: string
              title: Public Key Alias
              description: |-
                The alias for the public key used to encrypt this card. 
                card/cvv/svc access code.
            token_preference:
              allOf:
                - $ref: "#/components/schemas/TokenPreferenceDto"
                  title: Token Preference
                  description: Contains the properties required to create a token
      required:
        - payment_provider_contract
        - currency_code
        - encrypted_card
        - public_key_alias
    reuseTokenRedemptionRequestBody:
      title: Points Redemption Request Using Using Reuse token
      type: object
      allOf:
        - $ref: "#/components/schemas/redemptionBaseRequest"
        - properties:
            reuse_token:
              type: string
              title: Verifone or Third-Party Reuse Token
              description: The Verifone or Third-Party issued reuse token used to represent the previously stored cardholder data. Required here if not referenced by providing the stored credential signup reference `stored_credential.reference` in a subsequent charge request.
              minLength: 16
              maxLength: 255
            reuse_token_type:
              type: string
              title: Reuse Token Type
              description: > 
                The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.
                
                **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
              enum:
                - INTERNAL
                - CHASE
                - TAVE
              default: INTERNAL
            reuse_token_details:
              $ref: "#/components/schemas/TokenDetailsRequestBody"
            public_key_alias:
              type: string
              title: Public Key Alias
              description: |-
                The alias for the public key used to encrypt this card. 
                card/cvv/svc access code.
      required:
        - payment_provider_contract
        - currency_code
        - reuse_token
    payWithPoint:
      title: "Pay With Points"
      type: object
      description: "Points usage and balance might be part of the transaction request. This object will hold flags and details that is related to points. Use-cases are:<li>Whether transaction should be paid using loyalty points/reward points or other type of point</li><li>Points redemption order request</li><li>Points balance request</li>"
      additionalProperties: false
      properties:
        enabled:
          description: "Flag to indicate whether to use points or not."
          type: boolean
          default: false
        points_type:
          type: string
          title: Points Type
          description: Type or name of the points program.
          enum:
            - AMEX
          default: AMEX
        points_transaction_reference:
          type: string
          title: Points Transaction Reference
          description: Unique transaction reference to the related card transaction.
        points_transaction_reference_type:
          type: string
          title: Points Transaction Reference Type
          description: >-
            Type of the transaction reference.

            * `AUTH_CODE` The authorisation response code received from issuer/acquirer (as used in the ISO8583 specification (DE 38))
        points_to_redeem:
          type: string
          title: Points Amount
          description: "An amount type represented in points for all fields like points balance, points redemption, etc. when a points program is applicable in a transaciton or a query."
          maxLength: 32
          pattern: ^(([0-9]+)|(([0-9]+)?[.][0-9]+))$
        total_basket_amount:
          description: >-
            The total basket amount decimal place e.g. $1.5 = 150.


            <i>The required number of decimal places for a currency code is according to
            ISO 4217. However the following table takes precedence over ISO 4217:</i>


            | Code | Currency | Decimals | Fixed minor units |

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

            | ISK | Iceland Krona | 2 | 00 |
          type: integer
      required:
        - enabled
        - pointsType
    pointsRedemptionResponse:
      title: Points Redemption Order Result
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          title: Transaction ID
          format: uuid-flexible
          description: The ID of the transaction.
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 0
        balance_amount:
          type: integer
          title: balanceAmount
          description: |-
            Balance amount is the amount remaining on a card or account of cardholder without a decimal place e.g. $1.5 = 150.

            The required number of decimal places for a currency code is according to ISO 4217. However the following table takes precedence over ISO 4217:
        detailed_points:
          description: |-
            When a (part of) transaction is paid with points, details on redeemed points, previous and current balances if returned.
          $ref: "#/components/schemas/BalancePoints"
        created_at:
          type: string
          format: date-time
          description: The time at which the transaction was created.
        customer:
          description: The ID of a customer
          type: string
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        processor:
          description: The name of the processor used for this transaction
          type: string
        processor_reference:
          description: Reference identifying the transaction, as provided by the processor.
          type: string
        processor_details:
          description: Stores all details specific for the processor of the transaction.
          type: object
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: >-
            Message provided by the 3rd party service as additional information,
            when the transaction does not succeed.
        reason_code:
          type: string
          description: >-
            A reason code assigned by the acquiring platform
            success
          maxLength: 4
        arn:
          type: string
          description: >-
            Acquirer reference number. Generated by the Acquirer at the time of
            clearing for card transactions.
        authorization_code:
          type: string
          description: |-
            Authorization code:
              * When the payment is authorized successfully, this field holds the authorization code for the payment.
              * When the payment is not authorized, this field is not returned.
          maxLength: 6
          example: 5B1D4C
        rrn:
          type: string
          description: >-
            A client (user friendly) identifier for the transaction generated at
            the outset of a business event. The format will be dependent on the
            calling system.


            A reference supplied by the system retaining the original source
            information and used to assist in locating that transaction or a
            copy of the transaction. This value is critical in matching values
            that are sent to other Payment processors or Acquirers.
             This value would correspond to the **ISO8583 specification as RRN in attribute DE 37, which limits the value to being an alphanumeric value 12 characters.**

             For the GSC client android application the format will correspond to <strong>YYMMdd<stan 6 digits></strong>.
          maxLength: 12
          example: "200211654321"
        shopper_interaction:
          description: >-
            Determines the point of sale of a customer. Possible values: pos,
            moto, mail_order, telephone_order, ecommerce and cont_auth
          enum:
            - ecommerce
            - pos
            - moto
            - mail_order
            - cont_auth
            - telephone_order
            - unknown
          type: string
        stan:
          description: System Trace Audit Number.
          type: number
        promo_code:
          type: string
          description: A code defined by the merchant that affects the calculation of the total amount.
        token_details:
          allOf:
            - $ref: "#/components/schemas/TokenDetails"
              description: >-
                This object is returned as the response to a request for
                Create/Update Token.
        card_details:
          description: This is used to return additional information about the card.
          type: object
          properties:
            masked_card_number:
              description: The masked value for the card number
              type: string
              example: "520000****1096"
            expiry_month:
              description: Card expiry month. A 2 digit value as shown on card. ISO8583 - DE 14
              type: integer
              example: "12"
            expiry_year:
              description: Card expiry year. A 4 digit value as shown on the card.
              type: integer
              example: "2024"
        additional_data:
          $ref: '#/components/schemas/AdditionalData'
    ecomPaymentResponse_issuer_instalment_result:
      type: object
      properties:
        instalment_program:
          type: string
          description: The name of special program designated by scheme or issuer.
          enum:
            - MCINST
        payment_option:
          type: string
          description: Available payment mode allowed by issuer for the transaction.
          enum:
            - FULL
            - FULL_OR_INSTALMENT
            - INSTALMENT
        payment_plan_option:
          type: array
          description: The issuer may offer more than one instalment options within certain instalment programs.
          items:
            $ref: "#/components/schemas/paymentPlanOption"
        number_of_instalments:
          minimum: 0
          type: integer
          description: The number of individual parts that the total amount should be paid in.
        min_number_of_instalments:
          type: integer
          description: The minimal number of individual parts that the total amount could be paid in, if choice is available.
        max_number_of_instalments:
          type: integer
          description: The maximal number of individual parts that the total amount could be paid in, if choice is available.
        interest_rate:
          type: number
          description: The interest rate.
          format: float
        annual_percentage_rate:
          type: number
          description: The interest rate expressed in Annual Percentage Rate.
          format: float
        handling_fee:
          $ref: "#/components/schemas/amountDecimal"
        down_payment_amount:
          $ref: "#/components/schemas/amountDecimal"
        instalment_amount:
          $ref: "#/components/schemas/amountDecimal"
        total_amount_with_cost:
          $ref: "#/components/schemas/amountDecimal"
      additionalProperties: false
      description: Issuer-managed instalment response. May be used to inform on supported instalment options for the transaction in specific programs (e.g., Mastercard Instalment Payment Service).
    EcomResponseCard:
      type: object
      properties:
        id:
          type: string
          title: Transaction ID
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: The ID of the transaction.
        payment_provider_contract:
          type: string
          description: >-
            The identifier of payment provider contract you want to process the
            transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 0
        blocked:
          type: boolean
          description: >-
            True if the transaction has been blocked by a ruleset, false
            otherwise
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction
        payment_product:
          type: string
          description: The payment product corresponding to this transaction
        payment_product_type:
          type: string
          description: The name of the processor used for this transaction
        processor_reference:
          type: string
          description: "Reference identifying the transaction, as provided by the processor."
        processor_details:
          type: object
          description: Stores all details specific for the processor of the transaction.
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: >-
            Message provided by the 3rd party service as additional information,
            when the transaction does not succeed.
        shipping_information:
          allOf:
            - "$ref": "#/components/schemas/ShippingInformation"
            - title: Shipping Address
              description: >-
                The address where the purchased goods should be delivered to.

                <br><b>Please use customer_details.shipping.</b>
              deprecated: true
        customer_details:
          allOf:
            - "$ref": "#/components/schemas/CustomerDetailsDto"
        arn:
          type: string
          description: >-
            Acquirer reference number. Generated by the Acquirer at the time of
            clearing for card transactions.
        authorization_code:
          type: string
          description: >-
            * When the payment is authorized successfully, this field holds the
            authorization code for the payment.


            * When the payment is not authorized, this field is not returned.
          maxLength: 6
          example: 5B1D4C
        avs_result:
          type: string
          description: >-
            Address verification services result, which provides information
            about the outcome of the AVS check. The full list of codes and descriptions can be found <a href="https://docs.verifone.com/online-payments/fraud-management/address-verification-service-avs">here</a>
          example: "A"
          enum:
            - "A"
            - "B"
            - "C"
            - "D"
            - "E"
            - "F"
            - "G"
            - "I"
            - "K"
            - "L"
            - "M"
            - "N"
            - "O"
            - "P"
            - "R"
            - "S"
            - "T"
            - "U"
            - "W"
            - "X"
            - "Y"
            - "Z"
        card:
          type: string
          description: The token representing the payment card
        created_by:
          type: string
          description: >-
            The ID of the user who initiated the transaction. Only set when
            shopper_interaction = moto, mail_order or telephone_order
        cvv_present:
          type: boolean
          description: True if the card was used with a cvv
        cvv_result:
          type: string
          description: >-
            The CVC verification result, which provides information about the
            outcome of the CVC check.

             CVC-CVV result codes:
             * `0` Unknown
             * `1` Matches.
             * `2` Doesn't match.
             * `3` Not checked.
             * `4` No CVC/CVV provided, but was required.
             * `5` Issuer not certified for CVC/CVV.
             * `6` No CVC/CVV provided.

            <strong>The following are included only for backwards compatibility.
            They are deprecated and will be removed in the next major release.
            The client must take action now to ensure ongoing support.</strong>
             * `M` Match
             * `Y` Match
             * `N` No Match
             * `P` Not Processed
             * `S` CVV Should be present, but Merchant indicates not present.
             * `U` Issuer not certified or registered to process card verification.
          example: "1"
          enum:
            - "0"
            - "1"
            - "2"
            - "3"
            - "4"
            - "5"
            - "6"
            - "9"
            - M
            - "Y"
            - "N"
            - P
            - S
            - U
        cavv_result:
          type: string
          description: >+
            This field will be populated for any Verified by Visa transaction
            and AVV Authorisation message sent by MasterCard SecureCode: This
            includes CAVV and AEVV from American Express SafeKey.


             CAVV Transaction Response Code Values:

            * `0` CAVV or AEVV Not Validated due to erroneous data submitted.



            * `1` CAVV or AEVV Failed Validation - Authentication Transaction.
            This is an indication of potential bad or fraudulent data submitted.



            * `2` CAVV or AEVV Passed Validation – Authentication Transaction.



            * `3` CAVV or AEVV Passed Validation – Attempted Authentication
            Transaction. (Determined that the Issuer ACS generated this value
            from the use of the Issuer’s CAVV/AEVV key[s]).



            * `4` CAVV or AEVV Failed Validation – Attempted Authentication
            Transaction. Attempted Authentication Transaction. This is an
            indication of potential bad or fraudulent data submitted as the
            CAVV/AEVV. (Determined that Visa generated this value from the use
            of CAVV/AEVV key[s]).



            * `5` Reserved.



            * `6` CAVV or AEVV Not Validated – Issuer not participated. This
            value is generated when an Issuer requests the `do not verify` flag
            to be established for its BINs. This parameter enables an Issuer to
            temporarily stop CAVV/AEVV verification while resolving CAVV/AEVV
            key issues. VisaNet processes this value as a valid CAVV/AEVV.



            * `7` CAVV or AEVV Failed Validation – Attempted Authentication
            Transaction. This is an indication of potential bad or fraudulent
            data submitted as the CAVV/AEVV. (CAVV/AEVV generated with Visa
            Key).



            * `8` CAVV or AEVV Passed Validation – Attempted Authentication
            Transaction. (CAVV/AEVV generated with Visa Key).



            * `9` CAVV or AEVV Failed Validation – Attempted Authentication
            Transaction. This is an indication of potential bad or fraudulent
            data submitted as the CAVV/AEVV (CAVV/AEVV generated with Visa Key –
            Issuer ACS unavailable).



            * `99` An unknown value was returned from the processor.



            * `A` CAVV or AEVV Passed Validation – Attempted Authentication
            Transaction. (CAVV/AEVV generated with Visa Key – Issuer ACS
            unavailable).



            * `B` CAVV or AEVV Failed Validation – Attempted Authentication
            Transaction. This is an indication of potential bad or fraudulent
            data submitted as the CAVV/AEVV. (CAVV/AEVV generated with Visa
            Key).



            * `C` CAVV or AEVV Not Validated – Attempted Authentication
            Transaction. Issuer did not return a CAVV/AEVV results code in the
            authorisation response. VisaNet will treat this as valid CAVV/AEVV
            if the Issuer approves the authorisation.



            * `D` CAVV or AEVV Not Validated – Authentication. Issuer did not
            return a CAVV/AEVV results code in the authorisation response.
            VisaNet will treat this as valid CAVV/AEVV if the Issuer approves
            the authorisation.



            * `I` Invalid Security Data.



            * `U` Issuer does not participate or 3-D Secure data not utilised.



            * `NA` Blank CAVV or AEVV Not Present.


          example: "99"
          enum:
            - "0"
            - "1"
            - "2"
            - "3"
            - "4"
            - "5"
            - "6"
            - "7"
            - "8"
            - "9"
            - "99"
            - A
            - B
            - C
            - D
            - I
            - U
            - NA
        invoice_number:
          type: string
          title: Invoice Number
          description: Optional. The invoice number to track this payment.
          maxLength: 127
        stored_credential:
          allOf:
            - $ref: "#/components/schemas/StoredCredential"
              description: Defines a recurring payment type
        details:
          $ref: "#/components/schemas/Details"
        reason_code:
          type: string
          description: >-
            A reason code assigned by the acquiring platform; '0000' in case of
            success
          maxLength: 4
        rrn:
          type: string
          description: >-
            A client (user friendly) identifier for the transaction generated at
            the outset of a business event. The format will be dependent on the
            calling system.


            A reference supplied by the system retaining the original source
            information and used to assist in locating that transaction or a
            copy of the transaction. This value is critical in matching values
            that are sent to other Payment processors or Acquirers.
             This value would correspond to the **ISO8583 specification as RRN in attribute DE 37, which limits the value to being an alphanumeric value 12 characters.**

             For the GSC client android application the format will correspond to <strong>YYMMdd<stan 6 digits></strong>.
          maxLength: 12
          example: "200211654321"
        shopper_interaction:
          type: string
          description: >-
            Determines the point of sale of a customer. Possible values: pos,
            moto, mail_order, telephone_order, ecommerce and cont_auth
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
        stan:
          type: string
          description: System Trace Audit Number.
        threed_authentication:
          allOf:
            - $ref: "#/components/schemas/ThreedAuthentication"
              description: >-
                MPI authentication data. Please refer to the integration guide
                for information on its usage.
        reversal_status:
          type: string
          description: >-
            Indicates to the API client if a technical reversal has been
            completed by Verifone.
          enum:
            - NONE
            - REQUIRED
            - COMPLETED
          default: NONE
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          items:
            type: number
          example:
            - "52.370216"
            - "4.895168"
        city:
          type: string
          example: West Roxbury
          description: The city resolved from the customer's ip address.
        country_code:
          type: string
          example: US
          description: The country code resolved from the customer's ip address.
        additional_data:
          $ref: "#/components/schemas/AdditionalData"
        token_details:
          allOf:
            - $ref: "#/components/schemas/TokenDetails"
              description: >-
                This object is returned as the response to a request for
                Create/Update Token.
        promo_code:
          type: string
          description: A code defined by the merchant that affects the calculation of the total amount.
        promo_financing_result:
          $ref: "#/components/schemas/PromoFinancingResults"
        purchase_order_number:
          title: Purchase Order Number
          description: >
            The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme).
            This field is part of so-called Level 2 data.
          type: string
          maxLength: 17
        issuer_instalment_result:
          $ref: "#/components/schemas/ecomPaymentResponse_issuer_instalment_result"
        balance_amount:
          type: integer
          title: balanceAmount
          description: |-
            Balance amount is the amount remaining on a card or account of cardholder without a decimal place e.g. $1.5 = 150.

            The required number of decimal places for a currency code is according to ISO 4217. However the following table takes precedence over ISO 4217:
    ecomPaymentResponse_details:
      type: object
      properties:
        auto_capture:
          type: boolean
          description: Indicates whether the transaction would be automatically captured upon authorisation.
        mid:
          type: string
          description: Merchant ID (MID)
          format: integer
          example: "363162200000049"
    ThreeDSecure:
      type: object
      properties:
        eci_flag:
          type: string
          title: Electronic Commerce Indicator.
          enum:
            - "00"
            - "01"
            - "02"
            - "03"
            - "04"
            - "05"
            - "06"
            - "07"
        enrolled:
          type: string
          title: >-
            The enrolment response status of Authentication eligibility from the
            Directory Server.
          description: |-
            Possible Values:
                Y - Yes, Bank is participating in 3-D Secure protocol and will return the ACSUrl.
                N - No, Bank is not participating in 3-D Secure protocol.
                U - Unavailable, the DS or ACS is not available for authentication at the time of the request.
                B - Bypass, merchant authentication rule is triggered to bypass authentication in this use case.
                NOTE: If the Enrolled value is NOT Y, then the Consumer is NOT eligible for Authentication.
        cavv:
          type: string
          maxLength: 48
          title: Cardholder Authentication Verification Value (CAVV)
          description: >-
            Base64-encoded values of 28 or 32 characters. Hex-encoded values of
            40 or 48 characters.
        cavv_algorithm:
          type: string
          description: >-
            Indicates the algorithm used to generate the CAVV value.Please refer
            to the integration guide for information on its usage.
        pares_status:
          type: string
          title: Authentication response code.
          description: |-
            Possible Values:
                  Y - Successful Authentication.
                  U - Unable to Complete Authentication
                  A - Successful Attempts Transaction.
        xid:
          type: string
          description: >-
            Transaction identifier resulting from authentication
            processing.Please refer to the integration guide for information on
            its usage.
        ds_transaction_id:
          type: string
          title: The unique transaction identifier
          description: >-
            The unique transaction identifier assigned by the Directory Server.
            Supported for 3D Secure v2 only.
        threeds_version:
          type: string
          title: The 3DS version used to process the transaction.
          enum:
            - 1.0.2
            - 2.1.0
            - 2.2.0
    GatewayTransaction:
      type: object
      properties:
        id:
          type: string
          title: Transaction ID
          example: 63bbc548-d2de-4546-b106-880a5018461c
          description: >-
            The unique transaction id. This is the identifier to be used for
            locating the transaction and for reconciliation and auditing.
        amount:
          $ref: "#/components/schemas/amountString"
        acquirer_authorizing_network_id:
          $ref: "#/components/schemas/acquirerAuthorizingNetworkID"
        acquirer_authorizing_network_id_descriptor:
          $ref: "#/components/schemas/acquirerAuthorizingNetworkIdDescriptor"
        acquirer_response_code:
          $ref: "#/components/schemas/acquirerResponseCode"
        acquirer_response_message:
          $ref: "#/components/schemas/acquirerResponseMessage"
        currency_code:
          type: string
          title: Currency code
          description: >-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values
            correspond to ISO 4217.
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UZS
            - VEF
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XTS
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - BTC
        city:
          type: string
          description: The city resolved from the customer's ip address.
        country_code:
          type: string
          title: <iso3166-alpha2>
          description: The country code resolved from the customer's ip address.
        created_at:
          type: string
          title: <date-time>
          description: The time at which the transaction was created
        customer:
          type: string
          description: The ID of a customer.
        customer_ip:
          type: string
          title: <ipv4>
          maxLength: 45
          description: The IP Address v4 where the event originated.
        dynamic_descriptor:
          type: string
          description: >-
            A short reference / descriptor that will show up on the customers
            bank statement. Please refer to the card payment integration guide
            for the format requirements, which are specific per card processor.
        geo_location:
          type: array
          items:
            type: string
            description: The latitude / longitude resolved from the customer's ip address.
        payment_product:
          type: string
          description: The payment product corresponding to this transaction.
        payment_product_type:
          $ref: "#/components/schemas/PaymentProductType"
        processor_reference:
          type: string
          description: "Reference identifying the transaction, as provided by the processor."
        status:
          title: Transaction order status
          type: string
          description: "Display transaction type and status, including if partial, of the related order transaction. E.g. 'PARTIAL CAPTURE AUTHORIZED'."
          example: REFUND AUTHORIZED
        transaction_type:
          $ref: "#/components/schemas/TransactionType"
        transaction_status:
          $ref: "#/components/schemas/TransactionState"
        parent_id:
          title: Related Transaction ID
          type: string
          description: "The transaction id of a parent transaction, where the current transaction is an action based on a previous transactions."
          example: 63bbc548-d2de-4546-b106-880a5018461c
        reason_code:
          type: string
          description: >-
            A reason code assigned by the acquiring platform; '0000' in case of
            success.
          maxLength: 4
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        shipping_information:
          allOf:
            - "$ref": "#/components/schemas/ShippingInformation"
            - title: Shipping Address
              description: >-
                The address where the purchased goods should be delivered to.

                <br><b>Please use customer_details.shipping.</b>
              deprecated: true
        customer_details:
          allOf:
            - "$ref": "#/components/schemas/CustomerDetailsDto"
        merchant_reference:
          type: string
          title: Merchant reference
          description: >-
            A reference specified by the merchant to identify the transaction.
          maxLength: 50
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
        arn:
          type: string
          title: Acquirer reference number
          description: >-
            Acquirer reference number. Generated by the Acquirer at the time of
            clearing for card transactions.
        authorization_code:
          type: string
          description: An authorization code assigned by the processing platform.
        avs_result:
          type: string
          description: >-
            Address verification services result, which provides information
            about the outcome of the AVS check. The full list of codes and descriptions can be found <a href="https://docs.verifone.com/online-payments/fraud-management/address-verification-service-avs">here</a>
          example: "A"
          enum:
            - "A"
            - "B"
            - "C"
            - "D"
            - "E"
            - "F"
            - "G"
            - "I"
            - "K"
            - "L"
            - "M"
            - "N"
            - "O"
            - "P"
            - "R"
            - "S"
            - "T"
            - "U"
            - "W"
            - "X"
            - "Y"
            - "Z"
        created_by:
          type: string
          description: >-
            The ID of the user who initiated the transaction. Only set when
            shopper_interaction = moto, mail_order or telephone_order.
        cvv_present:
          type: boolean
          description: True if the card was used with a cvv.
        cvv_result:
          type: string
          description: >-
            CVV verification result, as returned by the processor. Refer to Key
            Concepts->Cards for understanding of the values.
          enum:
            - "0"
            - "1"
            - "2"
            - "3"
        processor_payer_id:
          type: string
          title: Processor Payer Id
          example: MLVAJGLDHNZ3G
          description: This is the id used by the processor (e.g. an APM provider) for the payer.
        pos_device_id:
          type: string
          description: dentifier of the POS device used for the transaction.
        rrn:
          type: string
          title: Retrieval Reference Number
          description: >-
            Retrieval Reference Number, is a transaction identifying reference
            number that is designated by the card acceptor system.
        shopper_interaction:
          type: string
          description: >-
            Determines the point of sale of a customer. Possible values: pos,
            moto, mail_order, telephone_order, ecommerce and cont_auth.
          enum:
            - ecommerce
            - pos
            - moto
            - mail_order
            - telephone_order
            - unknown
        stan:
          type: string
          maxLength: 40
          title: System Trace Audit Number.
          description: >-
            A number assigned by a transaction initiator(originator) to assist
            in identifying a transaction uniquely. The trace identifier remains
            unchanged for all messages within a two-message exchange, e.g.
            request/repeat and response. This property can be used to store the
            System trace audit number (STAN) as used in the ISO8583
            specification (DE 11). Note the contents of this field are mandatory
            in many specifications - ISO8583, AS2805 (DE11) and are often
            related to the Retrieval Reference Number (RRN) as also specified in
            ISO8583. Unfortunately due to the usage in these earlier
            specifications, a STAN was limited to 6 digits which means that it
            cannot be utilised as a general purpose unique id. In addition, this
            entry is often printed on the receipt at a POI. ISO8583 DE11.
        threed_authentication:
          allOf:
            - $ref: "#/components/schemas/ThreeDSecure"
            - description: >-
                MPI authentication data. Please refer to the integration guide
                for information on its usage.
        masked_card_number:
          type: string
          title: Masked PAN number
          description: >-
            Masked PAN number, the first 6 and last 4 digits of the card.
          maxLength: 16
        promo_code:
          type: string
          description: A code defined by the merchant that affects the calculation of the total amount.
        payment_summary:
          type: object
          title: Summary of payment flow related information
          properties:
            captured_amount:
              allOf:
                - title: Captured Amount
                - $ref: "#/components/schemas/amountString"
        token_details:
          allOf:
            - $ref: "#/components/schemas/TokenDetailsPartial"
              description: >-
                This object is returned as the response to a request for
                Create/Update Token.
        entity_id:
          type: string
          description: >-
            The identifier of merchant entity you want to process the
            transaciton is already processed.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        acquirer_merchant_id:
          type: string
          description: The Code identifying the card acceptor as issued by the Acquiring Institution. This may not be unique across institutions. Also referred to as the MID. ISO8583 - DE 42. This field is for the MID used between VF and a 3rd party acquirer or processor.
          maxLength: 36
        description:
          type: string
          description: The description/message associated with this transaction. This will contain the refund reason for refunds.
        detailed_amount:
          $ref: "#/components/schemas/ListDetailedAmount"
    GatewayTransactions:
      type: object
      properties:
        id:
          type: string
          title: Transaction ID
          example: 63bbc548-d2de-4546-b106-880a5018461c
          description: >-
            The unique transaction id. This is the identifier to be used for
            locating the transaction and for reconciliation and auditing.
        amount:
          $ref: "#/components/schemas/amountDecimal"
        acquirer_authorizing_network_id:
          $ref: "#/components/schemas/acquirerAuthorizingNetworkID"
        acquirer_authorizing_network_id_descriptor:
          $ref: "#/components/schemas/acquirerAuthorizingNetworkIdDescriptor"
        acquirer_response_code:
          $ref: "#/components/schemas/acquirerResponseCode"
        acquirer_response_message:
          $ref: "#/components/schemas/acquirerResponseMessage"
        currency_code:
          type: string
          title: Currency code
          description: >-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values
            correspond to ISO 4217.
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UZS
            - VEF
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XTS
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - BTC
        city:
          type: string
          description: The city resolved from the customer's ip address.
        country_code:
          type: string
          title: <iso3166-alpha2>
          description: The country code resolved from the customer's ip address.
        created_at:
          type: string
          title: <date-time>
          description: The time at which the transaction was created
        customer:
          type: string
          description: The ID of a customer.
        customer_ip:
          type: string
          title: <ipv4>
          maxLength: 45
          description: The IP Address v4 where the event originated.
        dynamic_descriptor:
          type: string
          description: >-
            A short reference / descriptor that will show up on the customers
            bank statement. Please refer to the card payment integration guide
            for the format requirements, which are specific per card processor.
        geo_location:
          type: array
          items:
            type: string
            description: The latitude / longitude resolved from the customer's ip address.
        payment_account_reference:
          type: string
          description: Payment Account Reference is a unique non-sensitive reference to the cardholder PAN.
        payment_product:
          type: string
          description: The payment product corresponding to this transaction.
        payment_product_type:
          $ref: "#/components/schemas/PaymentProductType"
        processor_reference:
          type: string
          description: "Reference identifying the transaction, as provided by the processor."
        status:
          title: Transaction order status
          type: string
          description: "Display transaction type and status, including if partial, of the related order transaction. E.g. 'PARTIAL CAPTURE AUTHORIZED'."
          example: REFUND AUTHORIZED
        transaction_type:
          $ref: "#/components/schemas/TransactionType"
        transaction_status:
          $ref: "#/components/schemas/TransactionState"
        parent_id:
          title: Related Transaction ID
          type: string
          description: "The transaction id of a parent transaction, where the current transaction is an action based on a previous transactions."
          example: 63bbc548-d2de-4546-b106-880a5018461c
        reason_code:
          type: string
          description: >-
            A reason code assigned by the acquiring platform; '0000' in case of
            success.
          maxLength: 4
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        shipping_information:
          allOf:
            - "$ref": "#/components/schemas/ShippingInformation"
            - title: Shipping Address
              description: >-
                The address where the purchased goods should be delivered to.

                <br><b>Please use customer_details.shipping.</b>
              deprecated: true
        customer_details:
          allOf:
            - "$ref": "#/components/schemas/CustomerDetailsDto"
        merchant_reference:
          type: string
          title: Merchant reference
          description: >-
            A reference specified by the merchant to identify the transaction.
          maxLength: 50
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
        arn:
          type: string
          title: Acquirer reference number
          description: >-
            Acquirer reference number. Generated by the Acquirer at the time of
            clearing for card transactions.
        authorization_code:
          type: string
          description: An authorization code assigned by the processing platform.
        avs_result:
          type: string
          description: >-
            Address verification services result, which provides information
            about the outcome of the AVS check. The full list of codes and descriptions can be found <a href="https://docs.verifone.com/online-payments/fraud-management/address-verification-service-avs">here</a>
          example: "A"
          enum:
            - "A"
            - "B"
            - "C"
            - "D"
            - "E"
            - "F"
            - "G"
            - "I"
            - "K"
            - "L"
            - "M"
            - "N"
            - "O"
            - "P"
            - "R"
            - "S"
            - "T"
            - "U"
            - "W"
            - "X"
            - "Y"
            - "Z"
        created_by:
          type: string
          description: >-
            The ID of the user who initiated the transaction. Only set when
            shopper_interaction = moto, mail_order or telephone_order.
        cvv_present:
          type: boolean
          description: True if the card was used with a cvv.
        cvv_result:
          type: string
          description: >-
            CVV verification result, as returned by the processor. Refer to Key
            Concepts->Cards for understanding of the values.
          enum:
            - "0"
            - "1"
            - "2"
            - "3"
        processor_payer_id:
          type: string
          title: Processor Payer Id
          example: MLVAJGLDHNZ3G
          description: This is the id used by the processor (e.g. an APM provider) for the payer.
        pos_device_id:
          type: string
          description: dentifier of the POS device used for the transaction.
        rrn:
          type: string
          title: Retrieval Reference Number
          description: >-
            Retrieval Reference Number, is a transaction identifying reference
            number that is designated by the card acceptor system.
        shopper_interaction:
          type: string
          description: >-
            Determines the point of sale of a customer. Possible values: pos,
            moto, mail_order, telephone_order, ecommerce and cont_auth.
          enum:
            - ecommerce
            - pos
            - moto
            - mail_order
            - telephone_order
            - unknown
        stan:
          type: string
          maxLength: 40
          title: System Trace Audit Number.
          description: >-
            A number assigned by a transaction initiator(originator) to assist
            in identifying a transaction uniquely. The trace identifier remains
            unchanged for all messages within a two-message exchange, e.g.
            request/repeat and response. This property can be used to store the
            System trace audit number (STAN) as used in the ISO8583
            specification (DE 11). Note the contents of this field are mandatory
            in many specifications - ISO8583, AS2805 (DE11) and are often
            related to the Retrieval Reference Number (RRN) as also specified in
            ISO8583. Unfortunately due to the usage in these earlier
            specifications, a STAN was limited to 6 digits which means that it
            cannot be utilised as a general purpose unique id. In addition, this
            entry is often printed on the receipt at a POI. ISO8583 DE11.
        threed_authentication:
          allOf:
            - $ref: "#/components/schemas/ThreeDSecure"
            - description: >-
                MPI authentication data. Please refer to the integration guide
                for information on its usage.
        masked_card_number:
          type: string
          title: Masked PAN number
          description: >-
            Masked PAN number, the first 6 and last 4 digits of the card.
          maxLength: 16
        promo_code:
          type: string
          description: A code defined by the merchant that affects the calculation of the total amount.
        payment_summary:
          type: object
          title: Summary of payment flow related information
          properties:
            captured_amount:
              allOf:
                - title: Captured Amount
                - $ref: "#/components/schemas/amountDecimal"
        entity_id:
          type: string
          description: >-
            The identifier of merchant entity you want to process the
            transaciton is already processed.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        acquirer_merchant_id:
          type: string
          description: The Code identifying the card acceptor as issued by the Acquiring Institution. This may not be unique across institutions. Also referred to as the MID. ISO8583 - DE 42. This field is for the MID used between VF and a 3rd party acquirer or processor.
          maxLength: 36
        description:
          type: string
          description: The description/message associated with this transaction. This will contain the refund reason for refunds.
        detailed_amount:
          $ref: "#/components/schemas/ListDetailedAmount"
    CountTransactionResponse:
      type: object
      properties:
        count:
          type: number
          title: Transaction count
          example: 0
          description: count of transaction
    AmountDto:
      type: object
      properties:
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 0
      required:
        - amount
    RefundCardTransactionDto:
      type: object
      properties:
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        reason:
          type: string
          title: Reason
          description: The reason of the refund.
        tax_indicator:
          title: Tax Indicator
          description: >
            This field indicates the taxable status of the transaction (if any of the purchased items are taxable). This field is part of so-called Level 2 data.
            If the value `TAX_PROVIDED` is sent, `tax_amount` should also be provided
          type: string
          enum:
            - TAX_PROVIDED
            - TAX_NOT_PROVIDED
            - NON_TAXABLE
          default: TAX_NOT_PROVIDED
        detailed_amount:
          $ref: "#/components/schemas/DetailedAmount"
        promo_code:
          type: string
          description: A code defined by the merchant that affects the calculation of the total amount.
        purchase_order_number:
          title: Purchase Order Number
          description: >
            The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme).
            This field is part of so-called Level 2 data.
          type: string
          maxLength: 17
        receipt_type:
          type: string
          description: Defines the type of receipt to be generated
          enum:
            - FULL_RECEIPT
            - INVOICE
            - INVOICE_RECEIPT
            - SIMPLE_RECEIPT
            - NONE
      required:
        - amount
    CaptureCardTransactionDto:
      type: object
      properties:
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        purchase_order_number:
          title: Purchase Order Number
          description: >
            The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme).
            This field is part of so-called Level 2 data.
          type: string
          maxLength: 17
        tax_indicator:
          title: Tax Indicator
          description: >
            This field indicates the taxable status of the transaction (if any of the purchased items are taxable). This field is part of so-called Level 2 data.
            If the value `TAX_PROVIDED` is sent, `tax_amount` should also be provided
          type: string
          enum:
            - TAX_PROVIDED
            - TAX_NOT_PROVIDED
            - NON_TAXABLE
          default: TAX_NOT_PROVIDED
        multiple_captures:
          allOf:
            - $ref: "#/components/schemas/MultipleCapturesDto"
              title: captureAuthorizationRequest_multiple_captures
              description: This field is mandatory in order to do multiple captures
        issuer_instalment:
          $ref: "#/components/schemas/instalment"
        line_items:
          type: array
          description: The array of items being refunded.
          items:
            $ref: "#/components/schemas/UnmatchedLineItem"
        detailed_amount:
          $ref: "#/components/schemas/DetailedAmount"
        receipt_type:
          type: string
          description: Defines the type of receipt to be generated
          enum:
            - FULL_RECEIPT
            - INVOICE
            - INVOICE_RECEIPT
            - SIMPLE_RECEIPT
            - NONE
      required:
        - amount
    AdjustDto:
      type: object
      properties:
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, refer to the Currencies documentation for more details.
            The amount provided determines the type of adjustment. If it is greater than the original pre-authorization amount, it is treated as an increment. If it is less than the original pre-authorization amount, it is treated as a decrement.
            To fully void a transaction after an increment, set the amount to 0.
          example: 150
        reason:
          type: string
          title: Reason
          description: The reason of the adjust.
      required:
        - amount
    AmountOptionalDto:
      type: object
      properties:
        amount:
          type: integer
          description: >-
            If the value is missing full void will be considered.<br/>Amount is
            charged without a decimal place e.g. $1.5 = 150. Currencies can have
            different decimals/exponentials, see Currencies Section for more
            details. For Account Verification transactions, provide 0 as value
            for this field.
          example: 15
    CustomerDetailsDto:
      type: object
      title: Customer
      description: Customer information containing billing and shipping details.
      additionalProperties: false
      properties:
        title:
          type: string
          description:
            The prefix to the party name. This is sometimes referred to
            as a title, salutation or appellation.
          maxLength: 120
        first_name:
          type: string
          description:
            The first name of the Customer. This may be a proper name or
            some form of entity name or nickname.
          maxLength: 100
        middle_name:
          type: string
          description:
            The middle name of the Customer. This may be a proper name
            or some form of entity name or nickname.
          maxLength: 100
        last_name:
          type: string
          description: The last name or family name of the Customer.
          maxLength: 100
        company_name:
          type: string
          description:
            Where the Customer is an organisation or company this name
            should be used rather than the firstName lastName
          maxLength: 100
        phone_number:
          type: string
          description: Customers phone number for billing address.
          maxLength: 25
        email_address:
          type: string
          title: email
          format: email
          description: Customer email address, which might be used during refund flow.
        shipping:
          allOf:
            - "$ref": "#/components/schemas/CustomerDetailsShippingInformationDto"
        billing:
          allOf:
            - "$ref": "#/components/schemas/BillingDto"
            - description: The address of billing.
              title: Billing Address
        language:
          type: string
          title: language
          description: |-
            The BCP-47 language tag. The tag is composed of:

            * The ISO-639 alpha-1 or ISO-639 alpha-2 language code

            * (Optional) The ISO-15924 script tag

            * The ISO-3166 alpha-2 country code

             `NOTE:`The value is case-insensitive, so for example "he" and "HE" should be considered equal.
    BillingDto:
      type: object
      additionalProperties: false
      properties:
        address_1:
          type: string
          maxLength: 40
          description: Customer's primary billing address information.
        address_2:
          type: string
          maxLength: 40
          description: Customer's secondary billing address information.
        address_3:
          type: string
          maxLength: 40
          description: Customer's third billing address information.
        city:
          type: string
          maxLength: 28
          description: Customer's city on their billing address
        country:
          type: string
          title: Country Code
          description: The ISO 3166-1 alpha-3 country code.
          enum:
            - ZZ
            - AD
            - AE
            - AF
            - AG
            - AI
            - AL
            - AM
            - AO
            - AQ
            - AR
            - AS
            - AT
            - AU
            - AW
            - AX
            - AZ
            - BA
            - BB
            - BD
            - BE
            - BF
            - BG
            - BH
            - BI
            - BJ
            - BL
            - BM
            - BN
            - BO
            - BQ
            - BR
            - BS
            - BT
            - BV
            - BW
            - BY
            - BZ
            - CA
            - CC
            - CD
            - CF
            - CG
            - CH
            - CI
            - CK
            - CL
            - CM
            - CN
            - CO
            - CR
            - CU
            - CV
            - CW
            - CX
            - CY
            - CZ
            - DE
            - DJ
            - DK
            - DM
            - DO
            - DZ
            - EC
            - EE
            - EG
            - EH
            - ER
            - ES
            - ET
            - FI
            - FJ
            - FK
            - FM
            - FO
            - FR
            - GA
            - GB
            - GD
            - GE
            - GF
            - GG
            - GH
            - GI
            - GL
            - GM
            - GN
            - GP
            - GQ
            - GR
            - GS
            - GT
            - GU
            - GW
            - GY
            - HK
            - HM
            - HN
            - HR
            - HT
            - HU
            - ID
            - IE
            - IL
            - IM
            - IN
            - IO
            - IQ
            - IR
            - IS
            - IT
            - JE
            - JM
            - JO
            - JP
            - KE
            - KG
            - KH
            - KI
            - KM
            - KN
            - KP
            - KR
            - KW
            - KY
            - KZ
            - LA
            - LB
            - LC
            - LI
            - LK
            - LR
            - LS
            - LT
            - LU
            - LV
            - LY
            - MA
            - MC
            - MD
            - ME
            - MF
            - MG
            - MH
            - MK
            - ML
            - MM
            - MN
            - MO
            - MP
            - MQ
            - MR
            - MS
            - MT
            - MU
            - MV
            - MW
            - MX
            - MY
            - MZ
            - NA
            - NC
            - NE
            - NF
            - NG
            - NI
            - NL
            - "NO"
            - NP
            - NR
            - NU
            - NZ
            - OM
            - PA
            - PE
            - PF
            - PG
            - PH
            - PK
            - PL
            - PM
            - PN
            - PR
            - PS
            - PT
            - PW
            - PY
            - QA
            - RE
            - RO
            - RS
            - RU
            - RW
            - SA
            - SB
            - SC
            - SD
            - SE
            - SG
            - SH
            - SI
            - SJ
            - SK
            - SL
            - SM
            - SN
            - SO
            - SR
            - SS
            - ST
            - SV
            - SX
            - SY
            - SZ
            - TC
            - TD
            - TF
            - TG
            - TH
            - TJ
            - TK
            - TL
            - TM
            - TN
            - TO
            - TR
            - TT
            - TV
            - TW
            - TZ
            - UA
            - UG
            - UM
            - US
            - UY
            - UZ
            - VA
            - VC
            - VE
            - VG
            - VI
            - VN
            - VU
            - WF
            - WS
            - YE
            - YT
            - ZA
            - ZM
            - ZW
        phone:
          type: string
          maxLength: 25
          description:
            Customer's phone number for billing address. This should be
            un formatted without hyphens. (e.g. 4422345678)
        postal_code:
          type: string
          maxLength: 10
          description: Customer's postal code of their billing address.
        state:
          type: string
          maxLength: 35
          description:
            Customer's state or province of their billing address. (e,g.
            Ohio = OH, Texas = TX)
    EcomReverseTransactionResponse:
      type: object
      properties:
        id:
          type: string
          title: Transaction ID
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: The ID of the transaction.
        status:
          type: string
          description: The status of the original transaction request.
          title: Ecommerce Transaction Status
          example: REFUNDED
          enum:
            - NOT_AUTHORISED
            - AUTHENTICATION_REQUESTED
            - AUTHORISED
            - PARTIALLY_AUTHORISED
            - PARTIALLY_CANCELLED
            - CANCELLED
            - PARTIALLY_SETTLED
            - SETTLED
            - PARTIALLY_REFUNDED
            - SETTLEMENT_REQUESTED
            - REFUNDED
            - DECLINED
            - TIMED_OUT
            - EXPIRED
            - FAILED
            - DISPUTED
      required:
        - id
        - status
    ReleasePreauthDto:
      type: object
      properties:
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.

            The required number of decimal places for a currency code is
            according to ISO

            For Account Verification transaction, provide 0 as value for this
            field.
    TokenContextDto:
      type: object
      title: token_context
      description: |-
        The context and identifiers related to the token request. **Mandatory** for external Third-Party tokens. Use of the /v2/card endpoint:

          * If reuse_token_type = INTERNAL => then token_scope mandatory; token_context optional, and only token_context.entity_id would be used (if provided);

          * If reuse_token_type = CHASE or TAVE => then token_context must be provided, with at least one of entity_id or payment_provider_contract; If CHASE or TAVE token requested without neither PPC nor entity_id, request will be declined.
      properties:
        entity_id:
          type: string
          format: uuid-flexible
          description:
            The identifier of merchant entity for which this request is
            related to.
        payment_provider_contract:
          type: string
          format: uuid-flexible
          description:
            The identifier of payment provider contract you want to process
            this request with. Relevant only for external Third-party tokens.
    PutDto:
      type: object
      properties:
        token_scope:
          type: string
          title: Token Scope
          description: The token scope under which this token was created.
          format: uuid
          example: 0e48425a-f1bc-431a-b7d8-f866de8ba276
        encrypted_card:
          type: string
          title: Client encrypted cardholder data
          description: >-
            The cardholder data encrypted using the Verifone provided public
            key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

             The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. This should be a single JSON line and should not contain any spaces. Read <a target="_blank" style="color:blue;" href="https://docs.verifone.com/online-payments/api-integration-methods-auth-and-endpoints/secure-card-capture-key">Secure card capture key</a> for details.

             Additionally, a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z. Encrypted card is valid for only 15 minutes.
          example: U3dhZ2dlciByb2Nrcw==
        card_brand:
          type: string
          title: The Card Type
          description:
            "Represents a Card type or brand. It should correspond to a
            consistent name, the list of standard names is as follows:\n\nValue |
            \ Description\n------|-------------\nAMEX|American Express\nCB|Carte Bancaires\nDINERS|Diners
            Club International\nDISCOVER|Diners Club Discover\nJCB|Japan Credit Bureau\nMAESTRO|Multi-national
            Debit (MasterCard)\nMASTERCARD|MasterCard\nVISA|Visa\nUPI|Union Pay International
            \n\n **Other local schemes as applicable**. Enter a pre-defined name to
            represent the scheme or type."
        token_type:
          type: string
          title: Token Type
          description: Token type
          enum:
            - REUSE
            - ANALYTICS
            - REUSE_AND_ANALYTICS
          default: REUSE
        reuse_token_type:
          title: Reuse Token Type
          description: The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.
          type: string
          enum:
            - CHASE
            - INTERNAL
            - TAVE
          default: INTERNAL
        token_expiry_date:
          type: string
          description: When this Token will expire.
          format: date
        public_key_alias:
          type: string
        token_context:
          allOf:
            - "$ref": "#/components/schemas/TokenContextDto"
      required:
        - token_scope
        - encrypted_card
        - public_key_alias
    InitiateOpOnlinePaymentDto:
      type: object
      properties:
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 0
        merchant_reference:
          type: string
          title: Merchant Reference
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        user_agent:
          type: string
          title: browserUserAgent
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
          maxLength: 256
        currency_code:
          type: string
          title: Currency Code
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. EUR.
             Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
          enum:
            - EUR
        payment_provider_contract:
          type: string
          description: >-
            The identifier of payment provider contract you want to process the
            transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        bank_id:
          type: string
          description: OP bank ID for the bank to be used
          maxLength: 40
        dynamic_descriptor:
          type: string
          description: >-
            A short
            [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be
            shown on bank statement of the customer. Please refer to the
            integration guide for the format requirements.
          maxLength: 50
        line_items:
          description: The array of items being purchased.
          type: array
          items:
            $ref: "#/components/schemas/LineItem"
        language:
          type: string
          description: |-
            The BCP-47 language tag. The tag is composed of:

             * The ISO-639 alpha-1 or ISO-639 alpha-2 language code.

             * (Optional) The ISO-15924 script tag 

             * The ISO-3166 alpha-2 country code
          title: Language
          minLength: 2
          maxLength: 11
        message_to_customer:
          type: string
          description: this message will be shown on OP's payment list
          maxLength: 500
        return_url:
          type: string
          description: redirect url for successful payments
        cancel_url:
          type: string
          description: redirect url for canceled payments
        reject_url:
          type: string
          description: redirect url for rejected payments
      required:
        - amount
        - merchant_reference
        - currency_code
        - payment_provider_contract
        - bank_id
        - return_url
        - cancel_url
        - reject_url
    InitiateOpOnlineResponse:
      type: object
      properties:
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 0
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - CANCELLED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - CUSTOMER_ACCEPTED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: >-
            Message provided by the 3rd party service as additional information,
            when the transaction does not succeed.
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          items:
            type: number
          example:
            - "52.370216"
            - "4.895168"
        city:
          type: string
          example: West Roxbury
          description: The city resolved from the customer's ip address.
        country_code:
          type: string
          example: US
          description: The country code resolved from the customer's ip address.
        id:
          type: string
          title: Transaction ID
          format: uuid-flexible
          description: The ID of the transaction.
        payment_url:
          type: string
          description: The payment URL can be used to redirect to transfer the money.
        processor:
          type: string
          description: The name of the processor used for this transaction
          default: OPONLINEPAYMENT
        payment_product:
          type: string
          description: The payment product corresponding to this transaction
          default: OPONLINEPAYMENT
        payment_product_type:
          type: string
          description: "Fees applied to the transaction, based on the payment product"
          default: Unknown
          enum:
            - Amex
            - Diners Club International
            - Discover
            - JCB
            - Maestro
            - Mastercard
            - Visa
            - Klarna
            - Unknown
    BanksList:
      type: object
      properties:
        bank_id:
          type: string
        bank_name:
          type: string
    CardDetailsResponse:
      type: object
      properties:
        bin_details:
          description: The details of the bin range or card. May contain more than one record if a co-branded card.
          type: array
          items:
            title: BIN Information
            description: BIN entries refer to the Bank Identification Number entries in a financial system, typically representing the first six digits of a credit or debit card. These entries are essential for identifying the issuing bank or financial institution associated with a specific card.
            type: object
            additionalProperties: false
            properties:
              bin:
                description: A BIN (Bank Identification Number) prefix refers to the initial set of digits in a credit or debit card number that uniquely identifies the issuing bank or financial institution.
                type: string
                minLength: 4
                maxLength: 8
                example: 492912
              card_brand:
                title: The Card Brand
                description: >-
                  The brand of this card, e.g. VISA, MASTERCARD, AMEX, CB, GIFT_CARD, etc.
                type: string
                example: VISA
              type:
                description: The Account type or PAYMENT_TYPE in UGP. This source of the payment for the goods or service. This has a mapping to the processing code in DE03 (Processing Code) in ISO8583. This should map to the AccountType in Nexo/ISO20022. MSISDN - Mobile Station Integrated Services Digital Network. eg. CREDIT, DEBIT, STORED_VALUE, PRIVATE_LABEL, DEFAULT, etc.
                type: string
                example: CREDIT
              funding_source:
                description: The type of funding this card has. Is this linked to a savings account/pre paid account or is this linked to a credit facility. eg. CREDIT, DEBIT, PREPAID, UNKNOWN
                type: string
                example: CREDIT
              issuer_country:
                $ref: "#/components/schemas/issuerCountryEnum"
              issuer_name:
                description: The issuer of this card. eg. HSBC, BARCLAYS.
                type: string
                example: HSBC
              added_leading_zeroes:
                description: The number of leading zeroes that were added to get the match. This used at least for Isracard to deal with cards that have only 7 digits because the first three are zeroes.
                type: integer
                minimum: 0
                maximum: 3
              checksum_algorithm:
                description: The checksum algorithm to apply to the PAN including the addedLeadingZeroes. LUHN is the default.
                type: string
                enum:
                  - LUHN
                  - ISRACARD
                  - NONE
                default: LUHN
              card_product:
                type: string
                example: VISA CLASSIC
                description: The type or category of credit or debit card.
    cardDetailsPrefixRequest:
      title: Prefix
      type: object
      properties:
        prefix:
          type: string
          minLength: 4
          maxLength: 8
          example: 492912
          description: >-
            The prefix of the card to search for.
        entity_id:
          type: string
          description: >-
            Optional. The identifier of merchant entity for this request.
          format: uuid
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        query_context:
          $ref: "#/components/schemas/BinQueryContext"
      required:
        - prefix
    cardDetailsEncryptedCardRequest:
      title: Encrypted Card
      type: object
      properties:
        encrypted_card:
          type: string
          title: Client encrypted cardholder data
          description: >-
            The cardholder data encrypted using the Verifone provided public
            key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

             The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. This should be a single JSON line and should not contain any spaces. Read <a target="_blank" style="color:blue;" href="https://docs.verifone.com/online-payments/api-integration-methods-auth-and-endpoints/secure-card-capture-key">Secure card capture key</a> for details.

             Additionally, a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z. Encrypted card is valid for only 15 minutes.
          example: U3dhZ2dlciByb2Nrcw==
        public_key_alias:
          type: string
          title: Public Key Alias
          description: The alias for the public key used to encrypt this card.
          example: KEY00101
        entity_id:
          type: string
          description: >-
            The identifier of merchant entity under whose cardTableGroupId you want to look for bin info.
          format: uuid
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        query_context:
          $ref: "#/components/schemas/BinQueryContext"
      required:
        - encrypted_card
        - public_key_alias
    BinQueryContext:
      type: object
      properties:
        supported_card_brands:
          type: array
          description: |
            A list of card brands supported by the merchant for this context. This list will be used to filter results to supported card brands only.
          items:
            title: The Card Brand
            description: >-
                The brand of this card, e.g. VISA, MASTERCARD, AMEX, CB, GIFT_CARD, etc.
            type: string
            example: VISA
        amount_details:
          type: object
          description: |
            Optional amount and currency of the transaction corresponding to this bin lookup.
            
            These values will be used for the automatic selection of card brand for dual branded cards if MCR (Merchant Choice Routing)
            is enabled for the merchant and supported for the country.
          required:
            - amount
            - currency_code
          properties:
            amount:
              description: |
                Amount without a decimal place e.g. $1.5 = 150.
                
                <i>The required number of decimal places for a currency code is according to ISO 4217.</i>
              type: integer
            currency_code:
              type: string
              title: Currency Code
              description: |-
                Three-letter ISO 4217 alphabetical currency code. e.g. USD.

                Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
              enum:
                - AED
                - AFN
                - ALL
                - AMD
                - ANG
                - AOA
                - ARS
                - AUD
                - AWG
                - AZN
                - BAM
                - BBD
                - BDT
                - BGN
                - BHD
                - BIF
                - BMD
                - BND
                - BOB
                - BOV
                - BRL
                - BSD
                - BTN
                - BWP
                - BYR
                - BZD
                - CAD
                - CDF
                - CHE
                - CHF
                - CHW
                - CLF
                - CLP
                - CNY
                - COP
                - COU
                - CRC
                - CUC
                - CUP
                - CVE
                - CZK
                - DJF
                - DKK
                - DOP
                - DZD
                - EGP
                - ERN
                - ETB
                - EUR
                - FJD
                - FKP
                - GBP
                - GEL
                - GHS
                - GIP
                - GMD
                - GNF
                - GTQ
                - GYD
                - HKD
                - HNL
                - HRK
                - HTG
                - HUF
                - IDR
                - ILS
                - INR
                - IQD
                - IRR
                - ISK
                - JMD
                - JOD
                - JPY
                - KES
                - KGS
                - KHR
                - KMF
                - KPW
                - KRW
                - KWD
                - KYD
                - KZT
                - LAK
                - LBP
                - LKR
                - LRD
                - LSL
                - LTL
                - LVL
                - LYD
                - MAD
                - MDL
                - MGA
                - MKD
                - MMK
                - MNT
                - MOP
                - MRO
                - MUR
                - MVR
                - MWK
                - MXN
                - MXV
                - MYR
                - MZN
                - NAD
                - NGN
                - NIO
                - NOK
                - NPR
                - NZD
                - OMR
                - PAB
                - PEN
                - PGK
                - PHP
                - PKR
                - PLN
                - PYG
                - QAR
                - RON
                - RSD
                - RUB
                - RWF
                - SAR
                - SBD
                - SCR
                - SDG
                - SEK
                - SGD
                - SHP
                - SLL
                - SOS
                - SRD
                - SSP
                - STD
                - SVC
                - SYP
                - SZL
                - THB
                - TJS
                - TMT
                - TND
                - TOP
                - TRY
                - TTD
                - TWD
                - TZS
                - UAH
                - UGX
                - USD
                - USN
                - USS
                - UYI
                - UYU
                - UZS
                - VEF
                - VND
                - VUV
                - WST
                - XAF
                - XAG
                - XAU
                - XBA
                - XBB
                - XBC
                - XBD
                - XCD
                - XDR
                - XOF
                - XPD
                - XPF
                - XPT
                - XTS
                - XXX
                - YER
                - ZAR
                - ZMK
                - ZMW
                - BTC
    SchemeToken:
      type: object
      description: This object is returned only if scheme_tokens were created
        already or scheme_token_action indicated creation (ACTIVATE) of new
        or suspension (SUSPEND) or deletion () of existing scheme tokens. Scheme
        token details are provided only if the token requestor is the Merchant,
        otherwise just the scheme_token_status is returned.
      properties:
        network_token:
          type: string
          minLength: 12
          maxLength: 16
          description:
            Card scheme token. Will be received only if a valid Token Requestor
            ID is stored on your account.
        status:
          type: string
          title: Token Status Type
          enum:
            - VALID
            - SUSPENDED
            - DELETED
          description: The status of the cardholder data token.
        expiry_month:
          type: integer
          minimum: 12
          description: |-
            Network tokens' expiry date's month
            . A 2 digit value. ISO8583 - DE 14
        expiry_year:
          type: integer
          minimum: 9999
          description: Network tokens' expiry date's year. A 4 digit value.
        payment_account_reference:
          type: string
          maxLength: 50
          description: Payment Account Reference
    CardResponse:
      type: object
      properties:
        reuse_token:
          type: string
          description: The identifier used to represent the Cardholder data.
        analytics_token:
          type: string
          description: >-
            A token that cannot be reversed to Card Holder data. This is
            included in a Payment for auditing and tracking purposes.
        bin:
          type: string
          minLength: 4
          maxLength: 11
          example: "492912"
          description: >-
            The Bank Identification Number (also called IIN - Issuer
            Identification Number) of this card.
        expiry_month:
          type: integer
          example: 12
          maximum: 12
          description: A 2 digit value as shown on card. ISO8583 - DE 14
        expiry_year:
          type: integer
          example: 2021
          maximum: 9999
          description: A 4 digit value as shown on card.
        last_four:
          type: string
          maxLength: 4
          example: "3127"
          description: The last 4 digits of the card number.
        card_holder_name:
          type: string
          maxLength: 30
          example: MR J HOLDER
          description: The Card holder name as it appears on the card.
        bin_details:
          $ref: "#/components/schemas/BinDetails"
        updated_at:
          type: string
          description: The last date token was updated.
          format: date
        created_at:
          type: string
          description: The last date token was created.
          format: date
        token_expiry_date:
          type: string
          description: When this Token will expire.
          format: date
        reuse_token_type:
          title: Reuse Token Type
          description: The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.
          type: string
          enum:
            - CHASE
            - INTERNAL
            - TAVE
        token_scope:
          type: string
          description: The token scope under which this token was created.
          format: uuid
        token_status:
          type: string
          description: The status of the Token.
          title: Token Status Type
          example: ACTIVE
          enum:
            - DELETED
            - ACTIVE
            - SUSPENDED
        currency:
          $ref: "#/components/schemas/CurrencyCodeEnum"
        issuer_country:
          $ref: "#/components/schemas/issuerCountryEnum"
        scheme_token:
          allOf:
            - "$ref": "#/components/schemas/SchemeToken"
    TokenResponse:
      type: object
      properties:
        reuse_token:
          type: string
          description: The identifier used to represent the Cardholder data.
        analytics_token:
          type: string
          description: >-
            A token that cannot be reversed to Card Holder data. This is
            included in a Payment for auditing and tracking purposes.
        bin:
          type: string
          minLength: 4
          maxLength: 11
          example: "492912"
          description: >-
            The Bank Identification Number (also called IIN - Issuer
            Identification Number) of this card.
        expiry_month:
          type: integer
          example: 12
          maximum: 12
          description: A 2 digit value as shown on card. ISO8583 - DE 14
        expiry_year:
          type: integer
          example: 2021
          maximum: 9999
          description: A 4 digit value as shown on card.
        last_four:
          type: string
          maxLength: 4
          example: "3127"
          description: The last 4 digits of the card number.
        card_holder_name:
          type: string
          maxLength: 30
          example: MR J HOLDER
          description: The Card holder name as it appears on the card.
        brand:
          type: string
          example: VISA
          description: "The brand of this card. eg. VISA, MASTERCARD, AMEX."
        issuer_country:
          $ref: "#/components/schemas/issuerCountryEnum"
        issuer_name:
          type: string
          example: HSBC
          description: "The issuer of this card. eg. HSBC, BARCLAYS."
        currency:
          type: string
          description: >-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values
            correspond

            to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UZS
            - VEF
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XTS
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - BTC
        type:
          type: string
          description: The type of card application or account selection.
          example: CREDIT
          enum:
            - DEBIT
            - CREDIT
        variant:
          type: string
          description: The variant of the card. eg. NEW_WORLD
          example: NEW_WORLD
        updated_at:
          type: string
          description: The last date token was updated.
          format: date
        created_at:
          type: string
          description: The last date token was created.
          format: date
        token_expiry_date:
          type: string
          description: When this Token will expire.
          format: date
        reuse_token_type:
          title: Reuse Token Type
          description: The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.
          type: string
          enum:
            - CHASE
            - INTERNAL
            - TAVE
          default: INTERNAL
        token_scope:
          type: string
          description: The token scope under which this token was created.
          format: uuid
        token_status:
          type: string
          description: The status of the Token.
          title: Token Status Type
          example: ACTIVE
          enum:
            - DELETED
            - ACTIVE
            - SUSPENDED
        bin_details:
          $ref: "#/components/schemas/BinDetails"
        scheme_token:
          allOf:
            - "$ref": "#/components/schemas/SchemeToken"
    TokenDetailsRequestBody:
      title: Reuse Token Details
      type: object
      properties:
        expiry_month:
          maximum: 12
          type: integer
          description:
            A 2 digit value as shown on card. ISO8583 - DE 14.\n\nThis
            is included as an optional value to be used for some Third-Party reuse
            token types.
        expiry_year:
          maximum: 9999
          type: integer
          description:
            A 4 digit value as shown on card.\n\nThis is included as an
            optional value to be used for some Third-Party reuse token types.
      additionalProperties: false
      description: > 
        The details related to the token. For Third-Party Reuse tokens, these elements might be required as additional information together with the Reuse token itself.<br>

        **Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
    PatchTokenResponse:
      type: object
      properties:
        bin:
          type: string
          minLength: 4
          maxLength: 11
          example: "492912"
          description: >-
            The Bank Identification Number (also called IIN - Issuer
            Identification Number) of this card.
        expiry_month:
          type: integer
          example: 12
          maximum: 12
          description: A 2 digit value as shown on card. ISO8583 - DE 14
        expiry_year:
          type: integer
          example: 2021
          maximum: 9999
          description: A 4 digit value as shown on card.
        last_four:
          type: string
          maxLength: 4
          example: "3127"
          description: The last 4 digits of the card number.
        card_holder_name:
          type: string
          maxLength: 30
          example: MR J HOLDER
          description: The Card holder name as it appears on the card.
        card_holder_email:
          type: string
          title: Email Address
          minLength: 3
          maxLength: 254
          format: email
          description: >-
            A valid internationalized email address, as defined by RFC 5322, RFC
            6530, and other RFCs. Due to RFC 5321, an email address can be up to
            254 characters long even though up to 64 characters are allowed
            before and 255 characters are allowed after the @ sign. This pattern
            verifies only that the string contains an unquoted @ sign. See
            https://tools.ietf.org/html/rfc5322#section-3.4.1.
        updated_at:
          type: string
          description: The last date token was updated.
          format: date
        created_at:
          type: string
          description: The last date token was created.
          format: date
        token_expiry_date:
          type: string
          description: When this Token will expire.
          format: date
        token_status:
          type: string
          description: The status of the Token.
          title: Token Status Type
          example: ACTIVE
          enum:
            - DELETED
            - ACTIVE
            - SUSPENDED
        bin_details:
          $ref: "#/components/schemas/BinDetails"
        currency:
          $ref: "#/components/schemas/CurrencyCodeEnum"
        issuer_country:
          $ref: "#/components/schemas/issuerCountryEnum"
        scheme_token:
          title: Scheme Token Response
          description: This object is returned only if scheme_tokens were created already or scheme_token_action indicated creation (ACTIVATE) of new or suspension (SUSPEND) or deletion () of existing scheme tokens. Scheme token details are provided only if the token requestor is the Merchant, otherwise just the scheme_token_status is returned.
          type: object
          properties:
            network_token:
              description: Card scheme token. Will be received only if a valid Token Requestor ID is stored on your account.
              type: string
              minLength: 12
              maxLength: 16
            status:
              description: The status of the cardholder data token.
              type: string
              enum:
                - DELETED
                - ACTIVE
                - SUSPENDED
            expiry_month:
              description: Network tokens' expiry date's month. A 2 digit value. ISO8583 - DE 14
              type: integer
              maximum: 12
              example: "12"
            expiry_year:
              description: Network tokens' expiry date's year. A 4 digit value.
              type: integer
              maximum: 9999
              example: "2021"
            payment_account_reference:
              description: Payment Account Reference
              type: string
              maxLength: 29
    PatchDto:
      type: object
      properties:
        encrypted_card:
          type: string
          title: Client encrypted cardholder data
          description: >-
            The cardholder data encrypted using the Verifone provided public
            key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

             The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. This should be a single JSON line and should not contain any spaces. Read <a target="_blank" style="color:blue;" href="https://docs.verifone.com/online-payments/api-integration-methods-auth-and-endpoints/secure-card-capture-key">Secure card capture key</a> for details.

             Additionally, a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z. Encrypted card is valid for only 15 minutes.
          example: U3dhZ2dlciByb2Nrcw==
        cvv:
          type: string
          description: The CVV (Card Verification Value) as it appears on the card.
          maxLength: 30
          example: MR J HOLDER
        card_holder_name:
          type: string
          description: The Card holder name as it appears on the card.
          maxLength: 30
          example: MR J HOLDER
        card_holder_email:
          type: string
          title: Email Address
          minLength: 3
          maxLength: 254
          format: email
          description: >-
            A valid internationalized email address, as defined by RFC 5322, RFC
            6530, and other RFCs. Due to RFC 5321, an email address can be up to
            254 characters long even though up to 64 characters are allowed
            before and 255 characters are allowed after the @ sign. This pattern
            verifies only that the string contains an unquoted @ sign. See
            https://tools.ietf.org/html/rfc5322#section-3.4.1.
        expiry_month:
          type: integer
          description: Card expiry month. A 2 digit value as shown on card. ISO8583 - DE 14.
          maximum: 12
          minimum: 1
          example: 12
        expiry_year:
          type: integer
          description: >-
            Card expiry year. A 4 digit value as shown on the card.
          example: 2021
          maximum: 9999
        token_expiry_date:
          type: string
          description: When this Token will expire.
          format: date
        public_key_alias:
          type: string
        scheme_token_action:
          description: Indicates if the scheme tokens should be created / deleted / suspended. Scheme tokens will be created only if token scope has PAR and/or network token support configured.
          type: string
          enum:
            - ACTIVATE
            - SUSPEND
            - DELETE
    BinDetails:
      type: object
      properties:
        bin:
          type: string
          minLength: 4
          maxLength: 11
          example: "492912"
          description: >-
            The Bank Identification Number (also called 
            IIN - Issuer Identification Number) of this card.
        brand:
          type: string
          example: VISA
          description: "The brand of this card. eg. VISA, MASTERCARD, AMEX."
        issuer_country:
          $ref: "#/components/schemas/issuerCountryEnum"
        issuer_name:
          type: string
          example: HSBC
          description: "The issuer of this card. eg. HSBC, BARCLAYS."
        last_four:
          type: string
          maxLength: 4
          example: "3127"
          description: The last 4 digits of the card number.
        type:
          type: string
          description: The type of card application or account selection.
          example: CREDIT
          enum:
            - DEBIT
            - CREDIT
        variant:
          type: string
          description: The variant of the card. eg. NEW_WORLD
          example: NEW_WORLD
    CreateKeyPairResponse:
      type: object
      properties:
        public_key:
          type: string
          description: >-
            This is the public key required to encrypt the card data at client
            side before sending to Greenbox
        public_key_alias:
          type: string
          description: Public Key Alias
        created_at:
          type: string
          format: date-time
          description: The time that this key was created.
      required:
        - public_key
        - public_key_alias
        - created_at
    ListKeyPairResponse:
      type: object
      properties:
        public_keys:
          description: >-
            This is the public key required to encrypt the card data at client
            side before sending to Greenbox
          type: array
          items:
            $ref: "#/components/schemas/CreateKeyPairResponse"
      required:
        - public_keys
    VerificationAdvice:
      type: object
      properties:
        advice:
          type: string
          enum:
            - 3DS_REQUIRED
        encrypted_card:
          type: string
          title: Client encrypted cardholder data
          description: >-
            The cardholder data encrypted using the Verifone provided public
            key. This can be obtained using either Verifone.JS solution or Verifone Checkout in capture mode.

             The data to encrypt is a JSON with possible tags being cardNumber, sequenceNumber, cardholderName, startMonth, startYear, expiryMonth, expiryYear, cvv. This should be a single JSON line and should not contain any spaces. Read <a target="_blank" style="color:blue;" href="https://docs.verifone.com/online-payments/api-integration-methods-auth-and-endpoints/secure-card-capture-key">Secure card capture key</a> for details.

             Additionally, a tag called captureTime must be presenting indicating the time the card was captured in UTC in format RFC 3339, section 5.6. eg. 2019-08-24T14:15:22Z. Encrypted card is valid for only 15 minutes.
          example: U3dhZ2dlciByb2Nrcw==
        public_key_alias:
          type: string
          title: Public Key Alias
          description: The alias for the public key used to encrypt this card.
          example: KEY00101
    Language:
      title: Language
      maxLength: 11
      minLength: 2
      type: string
      description: The BCP-47 language tag. Composed of:<ul><li>The ISO-639 alpha-1 or ISO-639 alpha-2 language code</li><li>(Optional) The ISO-15924 script tag</li><li>The ISO-3166 alpha-2 country code</li></ul>
      example: es-419
    TimeZone:
      maxLength: 127
      minLength: 1
      type: string
      description: A time zone, following the format defined in the IANA tz database (https://www.iana.org/time-zones). Valid examples are America/New_York and Etc/UTC. Do not use ambiguous, non-qualified values such as EST or GB. Before including this type in your interface, please consider whether it is actually appropriate to convey time zone information with your type. It is almost always the case that this should be transformed from UTC at the time of display to the user; this type might therefore be most associated with user-preference APIs.
    Locale:
      title: Locale
      required:
        - countryCode
      type: object
      properties:
        countryCode:
          title: Country Code
          type: string
          description: The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
          example: AU
        language:
          $ref: "#/components/schemas/Language"
        timezoneId:
          $ref: "#/components/schemas/TimeZone"
      description: JSON schema for locale. Based off the BCP-47 language tag, ISO-3166 alpha-2 country code, and Olsen IANA time zone ID.
    InstalmentDto:
      type: object
      properties:
        down_payment_amount:
          type: number
          title: Amount Simple Type
          description: >-
            The value, which can be anything from: An integer - for currencies that are not typically fractional, such as JPY. A three-place decimal fraction - for currencies that are subdivided into thousandths, such as TND. An eight-place decimal fraction - for currencies such as Bitcoin. For the required number of decimal places for a currency code, see ISO 4217
        number_of_instalments:
          type: number
          description: The number of individual parts that the total amount should be paid in.
        instalment_amount:
          type: number
          title: Amount Simple Type
          description: >-
            The value, which can be anything from: An integer - for currencies that are not typically fractional, such as JPY. A three-place decimal fraction - for currencies that are subdivided into thousandths, such as TND. An eight-place decimal fraction - for currencies such as Bitcoin. For the required number of decimal places for a currency code, see ISO 4217
    CreateWalletDto:
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: >-
            The identifier of payment provider contract you want to process the
            transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 0
        auth_type:
          type: string
          description: >-
            Flags a payment request for either pre-authorization or final
            authorization.


            * `PRE_AUTH` is used when the authorized amount is unknown and can
            be adjusted later.


            * `FINAL_AUTH` is used when a final authorized amount is known and
            the transaction will definitely be captured in whole.
          enum:
            - PRE_AUTH
            - FINAL_AUTH
          default: FINAL_AUTH
        capture_now:
          type: boolean
          description: >-
            Whether auto-capture or not. Setting the value to 'false' will only
            authorize the transaction.
          example: false
          default: true
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        customer_ip:
          description: The IP Address of the customer where the transaction was initiated.
          maxLength: 15
          example: 127.0.0.1
          oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
        dynamic_descriptor:
          type: string
          description: >-
            A short
            [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be
            shown on bank statement of the customer. Please refer to the
            integration guide for the format requirements.
          maxLength: 25
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        threed_authentication:
          allOf:
            - $ref: "#/components/schemas/ThreedAuthenticationDto"
              description: >-
                MPI authentication data. Please refer to the integration guide
                for information on its usage.
        stored_credential:
          allOf:
            - $ref: "#/components/schemas/StoredCredentialDto"
            - title: Stored Credential Payment
              description: The definition of a stored credential payment.
              discriminator:
                propertyName: stored_credential_type
                mapping:
                  SIGNUP: "#/components/schemas/StoredCredentialSignUp"
        receipt_type:
          type: string
          description: Defines the type of receipt to be generated
          enum:
            - FULL_RECEIPT
            - INVOICE
            - INVOICE_RECEIPT
            - SIMPLE_RECEIPT
            - NONE
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformation"
            - title: Shipping Address
              description: >-
                The address where the purchased goods should be delivered to.

                <br><b>Please use customer_details.shipping.</b>
              deprecated: true
        customer_details:
          $ref: "#/components/schemas/CustomerDetailsDto"
        shopper_interaction:
          type: string
          description: >-
            Determines the sales channel the shopper gives their card details
            through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
          default: ECOMMERCE
          example: ECOMMERCE
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
          maxLength: 256
        sales_description:
          type: string
          description: >-
            A reference used by the merchant to typically capture a description of the service
            provided. It could then be used by the merchant to help locate transactions. One
            could envision a situation where a merchant is trying to locate a transaction/
            receipt but in speaking with the customer, the only (or at least a predominant)
            detail is what service was rendered
          maxLength: 200
        sca_exemption:
          type: string
          description: >-
            Use this field to request your transaction to be exempted from the
            application of the Strong Customer Authentication (SCA). Be advised
            that the use of this field may result to your liability in case of
            fraudulent transaction.

             Possible Values:

             1 - Low value payment

             2 - Acquirer Transaction Risk Analysis

             3 - Trusted beneficiary exemption

             4 - Secure Corporate Payment (SCP) exemption

             5 - Merchant Initiated Transaction

             6 - SCA Delegation
          enum:
            - "1"
            - "2"
            - "3"
            - "4"
            - "5"
            - "6"
        currency_code:
          type: string
          title: Currency Code
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD.

             Values correspond to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STD
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - USN
            - USS
            - UYI
            - UYU
            - UZS
            - VEF
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XTS
            - XXX
            - YER
            - ZAR
            - ZMK
            - ZMW
            - BTC
        card_brand:
          $ref: "#/components/schemas/CardBrand"
        encrypted_cvv:
          type: string
          title: The encrypted cvv Card
          description: This is an optional field that is only supported with `reuse_token` or `stored_credentials.reference`.
        brand_choice:
          type: string
          description: >-
            For dual-branded cards identifies whether selection is made by a
            cardholder or merchant.
          enum:
            - MERCHANT
            - CARDHOLDER
          default: MERCHANT
        refusal_reason:
          type: string
          title: Refusal Reason
          description: >-
            The reason a transaction has been refused within the payment
            ecosystem by the client/Verifone/acquirer. This needs to be set by
            the component that is refusing this transaction request.
          enum:
            - ACQUIRER_COMMS_FAILURE
            - ACQUIRER_REFUSED
            - CARD_BRAND_NOT_ACCEPTED
            - CARD_EXPIRED
            - CARD_NOT_ACCEPTED
            - CARD_NOT_VALID
            - CARD_PRODUCT_NOT_ACCEPTED
            - ORIGINAL_TRANSACTION_NOT_FOUND
            - INVALID_BIN
            - PARTIAL_AUTH_NOT_ALLOWED
            - RECEIPT_FAILURE
            - REFUND_NOT_ACCEPTED
            - THREEDSECURE_FAILED_ACS
            - THREEDSECURE_FAILED_AUTH
            - THREEDSECURE_FAILED_COMMS
            - UNAPPROVED_OPERATOR
            - UNKNOWN_REASON
        token_preference:
          allOf:
            - $ref: "#/components/schemas/TokenPreferenceDto"
              title: Token Preference
              description: Contains the properties required to create a token
        wallet_type:
          type: string
          enum:
            - APPLE_PAY
            - GOOGLE_PAY
        wallet_payload:
          type: object
          description: The encrypted payload object provided by the Wallet on the frontend
        sca_compliance_level:
          type: string
          description: "Determines if 3ds is needed:\n\nsca_compliance_level | WalletPayload authMethod | Additional 3ds\r\n--- | --- | ---\r\nNONE | N/A | NO\r\nWALLET | PAN_ONLY | YES\r\nWALLET | 3DS_CRYPTOGRAM | NO\r\nFORCE_3DS | N/A | YES\r\n"
          enum:
            - NONE
            - WALLET
            - FORCE_3DS
          default: WALLET
        promo_code:
          type: string
          description: A code defined by the merchant that affects the calculation of the total amount.
        promo_financing_details:
          $ref: "#/components/schemas/PromoFinancingDetails"
        purchase_order_number:
          title: Purchase Order Number
          description: >
            The purchase order number. It can be provided in transactions with purchase or procurement cards for the cardholder to get better interchange rates (note that this functionality needs alignment with the acquirer and the scheme).
            This field is part of so-called Level 2 data.
          type: string
          maxLength: 17
        tax_indicator:
          title: Tax Indicator
          description: >
            This field indicates the taxable status of the transaction (if any of the purchased items are taxable). This field is part of so-called Level 2 data.
            If the value `TAX_PROVIDED` is sent, `tax_amount` should also be provided
          type: string
          enum:
            - TAX_PROVIDED
            - TAX_NOT_PROVIDED
            - NON_TAXABLE
          default: TAX_NOT_PROVIDED
        detailed_amount:
          $ref: "#/components/schemas/DetailedAmount"
        additional_data:
          type: object
          additionalProperties: false
          description: >-
            Additional information for transaction, which may be required
            in a particular payment request.
          properties:
            program_support:
              type: array
              description: >-
                List of supported special programs. Can be used to indicate capability to process enhanced response data.
              items:
                type: string
                enum:
                  - MCINST
      required:
        - payment_provider_contract
        - amount
        - currency_code
        - wallet_type
        - wallet_payload
    ApplePayMerchantValidationDto:
      type: object
      properties:
        validation_url:
          type: string
          description: |
            The URL pointing to the Apple Pay validation location.

            **Note**: Use the URL below according to your Verifone environment:
              - Sandbox: https://apple-pay-gateway-cert.apple.com/paymentservices/startSession
              - Production: https://apple-pay-gateway.apple.com/paymentservices/startSession
        domain:
          type: string
          description: The domain from which the payment request will be initiated.
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
      required:
        - validation_url
        - domain
        - payment_provider_contract
    MultipleCapturesDto:
      type: object
      properties:
        final_capture:
          type: boolean
          description: >-
            This flag is used to indicate if this capture is the final capture
            or not. Must be set to false if there is a need to do addional
            partial captures in the future.
        capture_sequence_number:
          type: number
          maximum: 99
          minimum: 1
          description: >-
            This field is used in indicating the sequence number of one of many
            partial capture being done. Value can be between 1 & 99. 

             **Required** If capture_sequence_count number is provided.
        capture_sequence_count:
          type: number
          maximum: 99
          minimum: 2
          description: >-
            This field represents the total number of partial captures that will
            done. Value can be between 2 & 99. 

             **Required** If capture_sequence_number is provided.
      required:
        - final_capture
    issuerCountryEnum:
      type: string
      description: >-
        The [ISO 3166-1
        alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) country
        code.<blockquote><strong>Note:</strong> The country code for Great
        Britain is <code>GB</code> and not <code>UK</code> as is used in
        that country's top-level domain names.</blockquote>.
      enum:
        - ZZZ
        - ABW
        - AFG
        - AGO
        - AIA
        - ALA
        - ALB
        - AND
        - ARE
        - ARG
        - ARM
        - ASM
        - ATA
        - ATF
        - ATG
        - AUS
        - AUT
        - AZE
        - BDI
        - BEL
        - BEN
        - BES
        - BFA
        - BGD
        - BGR
        - BHR
        - BHS
        - BIH
        - BLM
        - BLR
        - BLZ
        - BMU
        - BOL
        - BRA
        - BRB
        - BSB
        - BRN
        - BTN
        - BVT
        - BWA
        - CAF
        - CAN
        - CCK
        - CHE
        - CHL
        - CHN
        - CIV
        - CMR
        - COD
        - COG
        - COK
        - COL
        - COM
        - CPV
        - CRI
        - CUB
        - CUW
        - CXR
        - CYM
        - CYP
        - CZE
        - DEU
        - DJI
        - DMA
        - DNK
        - DOM
        - DZA
        - ECU
        - EGY
        - ERI
        - ESH
        - ESP
        - EST
        - ETH
        - FIN
        - FJI
        - FLK
        - FRA
        - FRO
        - FSM
        - GAB
        - GBR
        - GEO
        - GGY
        - GHA
        - GIB
        - GIN
        - GLP
        - GMB
        - GNB
        - GNQ
        - GRC
        - GRD
        - GRL
        - GTM
        - GUF
        - GUM
        - GUY
        - HKG
        - HMD
        - HND
        - HRV
        - HTI
        - HUN
        - IDN
        - IMN
        - IND
        - IOT
        - IRL
        - IRN
        - IRQ
        - ISL
        - ISR
        - ITA
        - JAM
        - JEY
        - JOR
        - JPN
        - KAZ
        - KEN
        - KGZ
        - KHM
        - KIR
        - KNA
        - KOR
        - KWT
        - LAO
        - LBN
        - LBR
        - LBY
        - LCA
        - LIE
        - LKA
        - LSO
        - LTU
        - LUX
        - LVA
        - MAC
        - MAF
        - MAR
        - MCO
        - MDA
        - MDG
        - MDV
        - MEX
        - MHL
        - MKD
        - MLI
        - MLT
        - MMR
        - MNE
        - MNG
        - MNP
        - MOZ
        - MRT
        - MSR
        - MTQ
        - MUS
        - MWI
        - MYS
        - MYT
        - NAM
        - NCL
        - NER
        - NFK
        - NGA
        - NIC
        - NIU
        - NLD
        - NOR
        - NPL
        - NRU
        - NZL
        - OMN
        - PAK
        - PAN
        - PCN
        - PER
        - PHL
        - PLW
        - PNG
        - POL
        - PRI
        - PRK
        - PRT
        - PRY
        - PSE
        - PYF
        - QAT
        - REU
        - ROU
        - RUS
        - RWA
        - SAU
        - SDN
        - SEN
        - SGC
        - SGP
        - SHN
        - SJM
        - SLB
        - SLE
        - SLV
        - SMR
        - SOM
        - SPM
        - SRB
        - SSD
        - STP
        - SUR
        - SVK
        - SVN
        - SWE
        - SWZ
        - SXM
        - SYC
        - SYR
        - TCA
        - TCD
        - TGO
        - THA
        - TJK
        - TKL
        - TKM
        - TLS
        - TON
        - TTO
        - TUN
        - TUR
        - TUV
        - TWN
        - TZA
        - UGA
        - UKR
        - UMI
        - URY
        - USA
        - UZB
        - VAT
        - VCT
        - VEN
        - VGB
        - VIR
        - VNM
        - VUT
        - WLF
        - WSM
        - YEM
        - ZAF
        - ZMB
        - ZWE
    CurrencyCodeEnum:
      title: Currency Code
      type: string
      description: |-
        Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values correspond
        to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).

        <b>Deprecated:</b> `BYR` (replaced by BYN), `FRF` (replaced by EUR), `LTL` (replaced by EUR), `LVL` (replaced by EUR), `MRO` (replaced by MRU), `STD` (replaced by STN), `USS` (no replacement), `VEF`  (replaced by VES), `ZMK` (replaced by ZMV) and `BTC` (Bitcoin only supported as Crypto Amount).
      enum:
        - AED
        - AFN
        - ALL
        - AMD
        - ANG
        - AOA
        - ARS
        - AUD
        - AWG
        - AZN
        - BAM
        - BBD
        - BDT
        - BGN
        - BHD
        - BIF
        - BMD
        - BND
        - BOB
        - BOV
        - BRL
        - BSD
        - BTN
        - BWP
        - BYN
        - BZD
        - CAD
        - CDF
        - CHE
        - CHF
        - CHW
        - CLF
        - CLP
        - CNY
        - COP
        - COU
        - CRC
        - CUC
        - CUP
        - CVE
        - CZK
        - DJF
        - DKK
        - DOP
        - DZD
        - EGP
        - ERN
        - ETB
        - EUR
        - FJD
        - FKP
        - GBP
        - GEL
        - GHS
        - GIP
        - GMD
        - GNF
        - GTQ
        - GYD
        - HKD
        - HNL
        - HRK
        - HTG
        - HUF
        - IDR
        - ILS
        - INR
        - IQD
        - IRR
        - ISK
        - JMD
        - JOD
        - JPY
        - KES
        - KGS
        - KHR
        - KMF
        - KPW
        - KRW
        - KWD
        - KYD
        - KZT
        - LAK
        - LBP
        - LKR
        - LRD
        - LSL
        - LYD
        - MAD
        - MDL
        - MGA
        - MKD
        - MMK
        - MNT
        - MOP
        - MRU
        - MUR
        - MVR
        - MWK
        - MXN
        - MXV
        - MYR
        - MZN
        - NAD
        - NGN
        - NIO
        - NOK
        - NPR
        - NZD
        - OMR
        - PAB
        - PEN
        - PGK
        - PHP
        - PKR
        - PLN
        - PYG
        - QAR
        - RON
        - RSD
        - RUB
        - RWF
        - SAR
        - SBD
        - SCR
        - SDG
        - SEK
        - SGD
        - SHP
        - SLL
        - SOS
        - SRD
        - SSP
        - STN
        - SVC
        - SYP
        - SZL
        - THB
        - TJS
        - TMT
        - TND
        - TOP
        - TRY
        - TTD
        - TWD
        - TZS
        - UAH
        - UGX
        - USD
        - USN
        - UYI
        - UYU
        - UYW
        - UZS
        - VES
        - VND
        - VUV
        - WST
        - XAF
        - XAG
        - XAU
        - XBA
        - XBB
        - XBC
        - XBD
        - XCD
        - XDR
        - XOF
        - XPD
        - XPF
        - XPT
        - XSU
        - XTS
        - XUA
        - XXX
        - YER
        - ZAR
        - ZMW
        - ZWL
    LineItem:
      title: Ecommerce basket line items
      required:
        - name
        - quantity
        - tax_rate
        - total_amount
        - total_tax_amount
      type: object
      properties:
        image_url:
          type: string
          description: Image URL for the line item
        name:
          maxLength: 255
          type: string
          description: Descriptive name of the order line item
        quantity:
          type: integer
          description: Quantity of the order line item
        unit_price:
          type: integer
          description: Unit Price is charged without a decimal place  e.g. $1.5 = 150. Currencies can have different decimals/exponentials,  see Currencies Section for more details.
        unit_price_tax:
          type: integer
          description: Unit Price Tax is charged without a decimal place  e.g. $1.5 = 150. Currencies can have different decimals/exponentials,  see Currencies Section for more details.
        tax_rate:
          type: number
          description: Item Tax (VAT) Rate.
          format: float
          example: 15.1
        discount_amount:
          type: integer
          description: Discount inclusive of tax. This is charged without a decimal place  e.g. $1.5 = 150. Currencies can have different decimals/exponentials,  see Currencies Section for more details.
        total_tax_amount:
          type: integer
          description: Total tax amount is charged without a decimal place  e.g. $1.5 = 150. Currencies can have different decimals/exponentials,  see Currencies Section for more details.
        total_amount:
          type: integer
          description: Total Amount is charged without a decimal place  e.g. $1.5 = 150. Currencies can have different decimals/exponentials,  see Currencies Section for more details.
        sku:
          maxLength: 127
          type: string
          description: The stock keeping unit (SKU) for the item.
        description:
          maxLength: 127
          type: string
          description: The detailed item description.
        category:
          type: string
          description: "The item category type. <br />  The possible values are: <br />  * DIGITAL_GOODS - Goods that are stored, delivered, and used in their electronic format. This value is not currently supported for API callers that leverage the [PayPal for Commerce Platform](https://www.paypal.com/us/webapps/mpp/commerce-platform) product. <br />  * DIGITAL_GOODS - A tangible item that can be shipped with proof of delivery. <br />"
          enum:
            - DIGITAL_GOODS
            - PHYSICAL_GOODS
      description: The description of item(s) that was included in a transaction or purchase.
    klarnaPaymentCompletionResponse_authorized_payment_method:
      type: object
      properties:
        days:
          type: integer
          description: Indicates whether the transaction would be automatically captured upon authorisation.
        no_of_installments:
          type: integer
          description: No of instalments
        payment_type:
          type: string
          description: Define the type of payment
          enum:
            - INVOICE
            - FIXED_AMOUNT
            - PIX
            - BASE_ACCOUNT
            - DEFERRED_INTEREST
            - DIRECT_DEBIT
            - DIRECT_BANK_TRANSFER
            - B2B_INVOICE
            - CARD
            - SLICE_IT_BY_CARD
            - PAY_LATER_BY_CARD
    klarnaPaymentCompletionResponse:
      title: Klarna Complete Payment Response
      type: object
      properties:
        id:
          type: string
          title: Transaction ID
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: The ID of the transaction.
        instore_reference:
          type: string
          description: In-store reference for the transaction
        authorized_payment_method:
          $ref: "#/components/schemas/klarnaPaymentCompletionResponse_authorized_payment_method"
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        blocked:
          type: boolean
          description: True if the transaction has been blocked by a ruleset, false otherwise
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer
        details:
          $ref: "#/components/schemas/ecomPaymentResponse_details"
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction
        processor:
          type: string
          description: The name of the processor used for this transaction
          default: KLARNA
        payment_product:
          type: string
          description: The payment product corresponding to this transaction
          default: KLARNA
        payment_product_type:
          $ref: "#/components/schemas/PaymentProductType"
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformation"
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: Message provided by the 3rd party service as additional information, when the transaction does not succeed.
        created_by:
          type: string
          description: The ID of the user who initiated the transaction. Only set when shopper_interaction = moto, mail_order or telephone_order
        shopper_interaction:
          type: string
          description: >-
            Determines the point of sale of a customer. Possible values: pos,
            moto, mail_order, telephone_order, ecommerce and cont_auth
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          example:
            - 52.370216
            - 4.895168
          items:
            type: number
        city:
          type: string
          description: The city resolved from the customer's ip address.
          example: West Roxbury
        country_code:
          title: Country Code
          type: string
          description: The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
          example: EU
    klarnaPaymentCompletionRequest:
      title: Klarna Complete Payment Request
      type: object
      properties:
        authorization_token:
          type: string
          description: Token used for authorizing a payment transaction.
        refusal_reason:
          $ref: "#/components/schemas/RefusalReason"
        merchant_reference:
          type: string
          title: Merchant Reference
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
    RefusalReason:
      title: Refusal Reason
      type: string
      description: The reason a transaction has been refused within the payment ecosystem by the client/Verifone/acquirer. This needs to be set by the component that is refusing this transaction request.
      enum:
        - ACQUIRER_COMMS_FAILURE
        - ACQUIRER_REFUSED
        - CARD_BRAND_NOT_ACCEPTED
        - CARD_EXPIRED
        - CARD_NOT_ACCEPTED
        - CARD_NOT_VALID
        - CARD_PRODUCT_NOT_ACCEPTED
        - EXTERNAL_FLOW_FAILED
        - ORIGINAL_TRANSACTION_NOT_FOUND
        - INVALID_BIN
        - PARTIAL_AUTH_NOT_ALLOWED
        - RECEIPT_FAILURE
        - REFUND_NOT_ACCEPTED
        - THREEDSECURE_FAILED_ACS
        - THREEDSECURE_FAILED_AUTH
        - THREEDSECURE_FAILED_COMMS
        - UNAPPROVED_OPERATOR
        - UNKNOWN_REASON
    vippsPaymentInitiationRequest:
      title: Vipps Payment Initiation Request
      required:
        - amount
        - currency_code
        - customer
        - merchant_reference
        - payment_provider_contract
        - redirect_url
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        threed_secure:
          $ref: "#/components/schemas/ThreeDSecure"
        app_phone_number:
          maxLength: 18
          type: string
          description: The Phone Number registered with Vipps Mobile APP.
          example: +31-6-11223344
        redirect_url:
          maxLength: 2048
          type: string
          description: Checkout Redirect URL which will be used by Vipps on Payment Completion.
        is_app:
          type: boolean
          description: Flag to identify the transaction originated from APP or Browser.
          example: false
          default: false
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        auth_type:
          type: string
          description: |-
            Flags a payment request for either pre-authorization or final authorization.
             * `PRE_AUTH` is used when the authorized amount is unknown and can be adjusted later.
             * `FINAL_AUTH` is used when a final authorized amount is known and the transaction will definitely be captured in whole.
          enum:
            - PRE_AUTH
            - FINAL_AUTH
          default: FINAL_AUTH
        capture_now:
          type: boolean
          description: Whether auto-capture or not. Setting the value to 'false' will only authorize the transaction.
          example: false
          default: true
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        customer_ip:
          description: The IP Address of the customer where the transaction was initiated.
          maxLength: 15
          example: 127.0.0.1
          oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
        dynamic_descriptor:
          maxLength: 25
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformationDto"
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
          maxLength: 256
        sales_description:
          type: string
          description: >-
            A reference used by the merchant to typically capture a description of the service
            provided. It could then be used by the merchant to help locate transactions. One
            could envision a situation where a merchant is trying to locate a transaction/
            receipt but in speaking with the customer, the only (or at least a predominant)
            detail is what service was rendered
          maxLength: 200
        currency_code:
          title: Currency Code
          type: string
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values correspond
            to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).

            Please note that Klarna only supports Norwegian krone (NOK).

          enum:
            - NOK
        sca_compliance_level:
          type: string
          description: |2-
             * `NONE`: No SCA required.
             * `WALLET`: Depend on the wallet SCA mechanism. For Google Pay this means that MasterCard will shift liability, Visa will not.
             * `FORCE_3DS`: Do an additional 3DS step regardless of whether the wallet indicates the token is SCA-compliant.
          enum:
            - NONE
            - WALLET
            - FORCE_3DS
          default: WALLET
        sca_exemption:
          type: string
          description: |-
            Use this field to request your transaction to be exempted from the application of the Strong Customer Authentication (SCA). Be advised that the use of this field may result to your liability in case of fraudulent transaction.
                        Possible Values:
                          1 - Low value payment
                          2 - Acquirer Transaction Risk Analysis
                          3 - Trusted beneficiary exemption
                          4 - Secure Corporate Payment (SCP) exemption
                          5 - Merchant Initiated Transaction
                          6 - SCA Delegation.

            **NOTE:** This only applies when `sca_compliance_level` = `NONE`
          enum:
            - "1"
            - "2"
            - "3"
            - "4"
            - "5"
            - "6"
    vippsPaymentInitiationResponse:
      title: Vipps Payment Initiation Response
      type: object
      properties:
        id:
          title: Transaction ID
          type: string
          description: The ID of the transaction.
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
        redirect_url:
          type: string
          description: Vipps Host Redirection URL.
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        blocked:
          type: boolean
          description: True if the transaction has been blocked by a ruleset, false otherwise
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer
        details:
          $ref: "#/components/schemas/ecomPaymentResponse_details"
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        processor:
          type: string
          description: The name of the processor used for this transaction
          default: NETS
        payment_product:
          type: string
          description: The payment product corresponding to this transaction
          default: CARD
        payment_product_type:
          $ref: "#/components/schemas/PaymentProductType"
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformationDto"
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: Message provided by the 3rd party service as additional information, when the transaction does not succeed.
        created_by:
          type: string
          description: The ID of the user who initiated the transaction. Only set when shopper_interaction = moto, mail_order or telephone_order
        shopper_interaction:
          type: string
          description: >-
            Determines the sales channel the shopper gives their card details
            through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
          default: ECOMMERCE
          example: ECOMMERCE
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          example:
            - 52.370216
            - 4.895168
          items:
            type: number
        city:
          type: string
          description: The city resolved from the customer's ip address.
          example: West Roxbury
        country_code:
          title: Country Code
          type: string
          description: The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
          example: AU
    mobilePayPaymentInitiationRequest:
      title: MobilePay Payment Initiation Request
      required:
        - amount
        - currency_code
        - customer
        - merchant_reference
        - payment_provider_contract
        - redirect_url
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        threed_secure:
          $ref: "#/components/schemas/ThreeDSecure"
        redirect_url:
          maxLength: 2048
          type: string
          description: Checkout Redirect URL which will be used by MobilePay on Payment Completion.
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 0
        auth_type:
          type: string
          description: |-
            Flags a payment request for either pre-authorization or final authorization.
             * `PRE_AUTH` is used when the authorized amount is unknown and can be adjusted later.
             * `FINAL_AUTH` is used when a final authorized amount is known and the transaction will definitely be captured in whole.
          enum:
            - PRE_AUTH
            - FINAL_AUTH
          default: FINAL_AUTH
        capture_now:
          type: boolean
          description: Whether auto-capture or not. Setting the value to 'false' will only authorize the transaction.
          example: false
          default: true
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        customer_ip:
          description: The IP Address of the customer where the transaction was initiated.
          maxLength: 15
          example: 127.0.0.1
          oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
        dynamic_descriptor:
          maxLength: 25
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformationDto"
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
          maxLength: 256
        sales_description:
          type: string
          description: >-
            A reference used by the merchant to typically capture a description of the service
            provided. It could then be used by the merchant to help locate transactions. One
            could envision a situation where a merchant is trying to locate a transaction/
            receipt but in speaking with the customer, the only (or at least a predominant)
            detail is what service was rendered
          maxLength: 200
        currency_code:
          title: Currency Code
          type: string
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values correspond
            to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).

            Please note that Klarna only supports EURO (EUR) and Danish krone (DKK).
          enum:
            - EUR
            - DKK
        sca_compliance_level:
          type: string
          description: |2-
             * `NONE`: No SCA required.
             * `WALLET`: Depend on the wallet SCA mechanism. For Google Pay this means that MasterCard will shift liability, Visa will not.
             * `FORCE_3DS`: Do an additional 3DS step regardless of whether the wallet indicates the token is SCA-compliant.
          enum:
            - NONE
            - WALLET
            - FORCE_3DS
          default: WALLET
        sca_exemption:
          type: string
          description: |-
            Use this field to request your transaction to be exempted from the application of the Strong Customer Authentication (SCA). Be advised that the use of this field may result to your liability in case of fraudulent transaction.
                        Possible Values:
                          1 - Low value payment
                          2 - Acquirer Transaction Risk Analysis
                          3 - Trusted beneficiary exemption
                          4 - Secure Corporate Payment (SCP) exemption
                          5 - Merchant Initiated Transaction
                          6 - SCA Delegation.

            **NOTE:** This only applies when `sca_compliance_level` = `NONE`
          enum:
            - "1"
            - "2"
            - "3"
            - "4"
            - "5"
            - "6"
    mobilePayPaymentInitiationResponse:
      title: MobilePay Payment Initiation Response
      type: object
      properties:
        id:
          title: Transaction ID
          type: string
          description: The ID of the transaction.
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
        redirect_url:
          type: string
          description: MobilePay Host Redirection URL.
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        blocked:
          type: boolean
          description: True if the transaction has been blocked by a ruleset, false otherwise
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer
        details:
          $ref: "#/components/schemas/ecomPaymentResponse_details"
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        processor:
          type: string
          description: The name of the processor used for this transaction
          default: NETS
        payment_product:
          type: string
          description: The payment product corresponding to this transaction
          default: CARD
        payment_product_type:
          $ref: "#/components/schemas/PaymentProductType"
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformationDto"
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: Message provided by the 3rd party service as additional information, when the transaction does not succeed.
        created_by:
          type: string
          description: The ID of the user who initiated the transaction. Only set when shopper_interaction = moto, mail_order or telephone_order
        shopper_interaction:
          type: string
          description: >-
            Determines the sales channel the shopper gives their card details
            through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
          default: ECOMMERCE
          example: ECOMMERCE
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          example:
            - 52.370216
            - 4.895168
          items:
            type: number
        city:
          type: string
          description: The city resolved from the customer's ip address.
          example: West Roxbury
        country_code:
          title: Country Code
          type: string
          description: The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
          example: AU
    klarnaPaymentInitiationRequest:
      title: Klarna Initiate Payment Request
      required:
        - amount
        - currency_code
        - customer
        - entity_id
        - line_items
        - locale
        - purchase_country
        - redirect_url
      type: object
      properties:
        entity_id:
          type: string
          description: The identifier of merchant entity you want to process the transaction request with. Entity Id can be located on the organization level as Organization ID (Administration > Organizations > [Organization] > Organisation ID value)
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        tax_amount:
          type: integer
          description: Tax Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details.
        redirect_url:
          maxLength: 2048
          type: string
          description: Checkout Redirect URL which will be used by Klarna on Payment Completion.
        capture_now:
          type: boolean
          description: Whether auto-capture or not. Setting the value to 'false' will only authorize the transaction.
          example: false
          default: true
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        customer_ip:
          description: The IP Address of the customer where the transaction was initiated.
          maxLength: 15
          example: 127.0.0.1
          oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
        dynamic_descriptor:
          maxLength: 25
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements.
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformationDto"
        line_items:
          type: array
          description: The array of items being purchased.
          items:
            $ref: "#/components/schemas/LineItem"
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
          maxLength: 256
        sales_description:
          type: string
          description: >-
            A reference used by the merchant to typically capture a description of the service
            provided. It could then be used by the merchant to help locate transactions. One
            could envision a situation where a merchant is trying to locate a transaction/
            receipt but in speaking with the customer, the only (or at least a predominant)
            detail is what service was rendered
          maxLength: 200
        currency_code:
          type: string
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. EUR. Values correspond
            to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).

            Please note that Klarna only supports EURO (EUR), Norwegian krone (NOK) , Swedish krona (SEK) and Danish krone (DKK).
          enum:
            - EUR
            - NOK
            - SEK
            - DKK
        locale:
          $ref: "#/components/schemas/Locale"
    klarnaPaymentInitiationResponse:
      title: Klarna Initiate Payment Result
      type: object
      properties:
        id:
          title: Transaction ID
          type: string
          description: The ID of the transaction.
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
        instore_reference:
          type: string
          description: In-store reference for the transaction
        client_token:
          type: string
          description: Client token returned by klarna host to initialize the payment process
        payment_method_categories:
          type: array
          description: Provides a list of available payment method categories at the time of checkout
          items:
            title: Klarna Payment Method Category Object
            type: object
            properties:
              identifier:
                type: string
                description: The Identifier of the payment method category
              name:
                type: string
                description: Name of the Klarna payment method category
              asset_urls:
                type: object
                properties:
                  standard:
                    type: string
                    description: URL of the standard asset
                  descriptive:
                    type: string
                    description: URL of the descriptive asset
                description: Asset URLs for the payment method provided by Klarna
            description: Klarna available payment method category for a new payment credit transaction returned by Klarna Host
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        blocked:
          type: boolean
          description: True if the transaction has been blocked by a ruleset, false otherwise
        created_by:
          type: string
          description: The ID of the user who initiated the transaction. Only set when shopper_interaction = moto, mail_order or telephone_order
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer
        details:
          $ref: "#/components/schemas/ecomPaymentResponse_details"
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        processor:
          type: string
          description: The name of the processor used for this transaction
          default: KLARNA
        payment_product:
          type: string
          description: The payment product corresponding to this transaction
          default: KLARNA
        payment_product_type:
          $ref: "#/components/schemas/PaymentProductType"
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformationDto"
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: Message provided by the 3rd party service as additional information, when the transaction does not succeed.
        shopper_interaction:
          type: string
          description: >-
            Determines the sales channel the shopper gives their card details
            through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
          default: ECOMMERCE
          example: ECOMMERCE
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          example:
            - 52.370216
            - 4.895168
          items:
            type: number
        city:
          type: string
          description: The city resolved from the customer's ip address.
          example: West Roxbury
        country_code:
          title: Country Code
          type: string
          description: The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
          example: AU
    swishPaymentInitiationRequest:
      title: Swish Payment Initiation Request
      required:
        - amount
        - currency_code
        - merchant_reference
        - payment_provider_contract
      type: object
      properties:
        entity_id:
          type: string
          description: The identifier of merchant entity you want to process the transaction request with. Entity Id can be located on the organization level as Organization ID (Administration > Organizations > [Organization] > Organisation ID value)
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
        app_phone_number:
          maxLength: 18
          type: string
          description: The Phone Number registered with Swish Mobile APP. This field is required for ECommerce flow, not needed MCommerce flow.
          example: +31-6-11223344
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        customer:
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
          title: Customer ID
        customer_ip:
          description: The IP Address of the customer where the transaction was initiated.
          maxLength: 15
          example: 127.0.0.1
          oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
        dynamic_descriptor:
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be  shown on bank statement of the customer and also shown in the Swish application. Max 50 chars, allowed characters are the letters a-ö, A-Ö, the numbers 0-9 and the special characters :;.,?!()” and space
          maxLength: 50
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformationDto"
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
          maxLength: 256
        sales_description:
          type: string
          description: >-
            A reference used by the merchant to typically capture a description of the service
            provided. It could then be used by the merchant to help locate transactions. One
            could envision a situation where a merchant is trying to locate a transaction/
            receipt but in speaking with the customer, the only (or at least a predominant)
            detail is what service was rendered
          maxLength: 200
        currency_code:
          title: Currency Code
          type: string
          description: |-
            Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values correspond
            to [ISO 4217](https://wikipedia.org/wiki/ISO_4217).

            Please note that Swish only supports Swedish krona (SEK).
          enum:
            - SEK
    swishPaymentInitiationResponse:
      title: Swish Payment Initiation Response
      type: object
      properties:
        id:
          title: Transaction ID
          type: string
          description: The ID of the transaction.
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        blocked:
          type: boolean
          description: True if the transaction has been blocked by a ruleset, false otherwise
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer
        details:
          $ref: "#/components/schemas/ecomPaymentResponse_details"
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        processor:
          type: string
          description: The name of the processor used for this transaction
          default: SWISH
        payment_product:
          type: string
          description: The payment product corresponding to this transaction
          default: SWISH
        payment_product_type:
          $ref: "#/components/schemas/PaymentProductType"
        shipping_information:
          allOf:
            - $ref: "#/components/schemas/ShippingInformationDto"
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        created_by:
          type: string
          description: The ID of the user who initiated the transaction. Only set when shopper_interaction = moto, mail_order or telephone_order
        shopper_interaction:
          type: string
          description: >-
            Determines the sales channel the shopper gives their card details
            through:

             * `ECOMMERCE` Online transactions where the cardholder is present.

             * `MAIL` order transactions where the shopper is in contact with the merchant via email.

             * `TELEPHONE` order transactions where the shopper is in contact with the merchant via telephone.
          enum:
            - ECOMMERCE
            - MAIL
            - TELEPHONE
          default: ECOMMERCE
          example: ECOMMERCE
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          example:
            - 52.370216
            - 4.895168
          items:
            type: number
        city:
          type: string
          description: The city resolved from the customer's ip address.
          example: West Roxbury
        country_code:
          title: Country Code
          type: string
          description: The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
          example: AU
        payment_request_token:
          type: string
          description: Returned when creating an m-commerce payment request. The token to use when opening the Swish app. Please find more details at [Swish documentation](https://developer.swish.nu/documentation/guides/trigger-the-swish-app).
    opOnlinePaymentInitiationRequest:
      title: OP Online Payment Initiation Request
      required:
        - amount
        - bank_id
        - cancel_url
        - currency_code
        - merchant_reference
        - payment_provider_contract
        - reject_url
        - return_url
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
          title: paymentProviderContractId
        bank_id:
          maxLength: 40
          type: string
          description: OP bank ID for the bank to be used
        bank_name:
          type: string
          description: Bank name for the selected Bank
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        customer:
          title: Customer ID
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
        dynamic_descriptor:
          maxLength: 50
          type: string
          description: A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on the invoice of the customer. Please refer to the integration guide for the format requirements.
        line_items:
          type: array
          description: The array of items being purchased.
          items:
            $ref: "#/components/schemas/LineItem"
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
          maxLength: 256
        currency_code:
          $ref: "#/components/schemas/CurrencyCodeEnum"
        language:
          $ref: "#/components/schemas/Language"
        message_to_customer:
          maxLength: 500
          type: string
          description: this message will be shown on OP's payment list
        return_url:
          type: string
          description: redirect url for successful payments
        cancel_url:
          type: string
          description: redirect url for cancelled payments
        reject_url:
          type: string
          description: redirect url for rejected payments
        payout_reference:
          maxLength: 20
          minLength: 4
          pattern: ^[0-9]{4,20}$
          type: string
          description: A settlement reference specified by the merchant to identify the transaction including checksum digit.
          example: "12345678912345680000"
    opOnlinePaymentInitiationResponse:
      title: OP Online Payment Payment Initiation Response
      type: object
      properties:
        id:
          title: Transaction ID
          type: string
          description: The ID of the transaction.
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
        payment_url:
          type: string
          description: The payment URL can be used to redirect to transfer the money.
          format: uri
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        created_at:
          type: string
          description: The time at which the transaction was created.
          format: date-time
        customer:
          type: string
          description: The ID of a customer
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        processor:
          type: string
          description: The name of the processor used for this transaction
          default: OP_ONLINE_PAYMENT
        payment_product:
          type: string
          description: The payment product corresponding to this transaction
          default: OP_ONLINE_PAYMENT
        payment_product_type:
          $ref: "#/components/schemas/PaymentProductType"
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: Message provided by the 3rd party service as additional information, when the transaction does not succeed.
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          example:
            - 52.370216
            - 4.895168
          items:
            type: number
        city:
          type: string
          description: The city resolved from the customer's ip address.
          example: West Roxbury
        country_code:
          title: Country Code
          type: string
          description: The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
          example: AU
        payout_reference:
          maxLength: 20
          minLength: 4
          pattern: ^[0-9]{4,20}$
          type: string
          description: A settlement reference specified by the merchant to identify the transaction including checksum digit.
          example: "12345678912345680000"
    opOnlinePaymentGetBanksResponse:
      title: OP Online Payment list of Banks Response
      type: array
      items:
        type: object
        properties:
          bank_id:
            type: string
          bank_name:
            type: string
    affirmPaymentInitiationRequest:
      title: Affirm Initiate Payment Request
      required:
        - payment_provider_contract
        - amount
        - redirect_url
        - cancel_url
        - currency_code
      type: object
      properties:
        payment_provider_contract:
          type: string
          description: The identifier of payment provider contract you want to process the transaction request with.
          format: uuid-flexible
          example: 30b8bec8-5042-4e67-939c-5453fbe41711
          title: paymentProviderContractId
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        tax_amount:
          description: >-
            Tax Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details.
          type: integer
        redirect_url:
          type: string
          description: Checkout Redirect URL which will be used by Affirm on Payment Completion.
          maxLength: 2048
        cancel_url:
          type: string
          description: Checkout Cancel URL which will be used by Affirm on Payment Completion.
          maxLength: 2048
        capture_now:
          type: boolean
          description: >-
            Whether auto-capture or not. Setting the to 'false' will only
            authorize the transaction.
          default: true
          example: false
        customer:
          title: Customer ID
          type: string
          description: The ID of a customer.
          format: uuid-flexible
          example: 0a57b387-2ba7-4f65-be2f-e176bb49d2ce
        customer_ip:
          description: The IP Address of the customer where the transaction was initiated.
          maxLength: 15
          example: 127.0.0.1
          oneOf:
            - type: string
              format: ipv4
            - type: string
              format: ipv6
        customer_details:
          $ref: "#/components/schemas/CustomerDetailsDto"
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        line_items:
          type: array
          description: The array of items being purchased.
          items:
            $ref: '#/components/schemas/affirmLineItem'
        user_agent:
          type: string
          description: >-
            The full user agent string of the device the customer used to submit
            the transaction.
          maxLength: 256
        currency_code:
          $ref: "#/components/schemas/CurrencyCodeEnum"
        locale:
          $ref: "#/components/schemas/Locale"
        mode:
          type: string
          description: >-
            Set to modal to enable the modal checkout flow (default uses redirect checkout flow). Possible values:
            authorization.
             * `MODAL:` Users go through the Affirm flow in a modal window while remaining on merchant site. Modal checkout with the help of affirm.js will enable client-side callbacks so that merchant can do post checkout confirmation procedures on merchant site.
             * `REDIRECT:` Users are redirected to Affirm site, where they authenticate and go through the checkout flow. Once they complete checkout, they're returned to the merchant site.
          enum:
            - MODAL
            - REDIRECT
          default: REDIRECT
    affirmLineItem:
      title: Affirm basket line items
      description: The description of item(s) that was included in a transaction or purchase.
      required:
          - name
          - suk
          - unit_price
          - quantity
          - image_url
          - item_url
          - total_tax_amount
          - total_amount
      type: object
      properties:
        image_url:
          type: string
          description: Image URL for the line item
        name:
          maxLength: 255
          type: string
          description: Descriptive name of the order line item
        quantity:
          type: integer
          description: Quantity of the order line item
        unit_price:
          type: integer
          description: Unit Price is charged without a decimal place  e.g. $1.5 = 150. Currencies can have different decimals/exponentials,  see Currencies Section for more details.
        unit_price_tax:
          type: integer
          description: Unit Price Tax is charged without a decimal place  e.g. $1.5 = 150. Currencies can have different decimals/exponentials,  see Currencies Section for more details.
        tax_rate:
          type: number
          description: Item Tax (VAT) Rate.
          format: float
          example: 15.1
        discount_amount:
          type: integer
          description: Discount inclusive of tax. This is charged without a decimal place  e.g. $1.5 = 150. Currencies can have different decimals/exponentials,  see Currencies Section for more details.
        total_tax_amount:
          type: integer
          description: Total tax amount is charged without a decimal place  e.g. $1.5 = 150. Currencies can have different decimals/exponentials,  see Currencies Section for more details.
        total_amount:
          type: integer
          description: Total Amount is charged without a decimal place  e.g. $1.5 = 150. Currencies can have different decimals/exponentials,  see Currencies Section for more details.
        sku:
          maxLength: 127
          type: string
          description: The stock keeping unit (SKU) for the item.
        description:
          maxLength: 127
          type: string
          description: The detailed item description.
        category:
          type: string
          description: "The item category type. <br />  The possible values are: <br />  * DIGITAL_GOODS - Goods that are stored, delivered, and used in their electronic format. This value is not currently supported for API callers that leverage the [PayPal for Commerce Platform](https://www.paypal.com/us/webapps/mpp/commerce-platform) product. <br />  * DIGITAL_GOODS - A tangible item that can be shipped with proof of delivery. <br />"
          enum:
            - DIGITAL_GOODS
            - PHYSICAL_GOODS
    affirmPaymentInitiationResponse:
      title: Affirm Initiate Payment Result
      type: object
      properties:
        id:
          title: Transaction ID
          type: string
          description: The ID of the transaction.
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
        checkout_id:
          title: Checkout Id
          description: >-
            A unique identifier representing the Payment Host checkout ID. This value is optional and available only in `MODAL` mode.
          type: string
          example: HTSZAGURU7PZ8ZAG
        public_api_key:
          description: >-
            The merchants public api key. This value is optional and available only in `MODAL` mode.
          type: string
        payment_url:
          description: >-
            The payment URL can be used to redirect to transfer the money.
          type: string
          format: uri
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        created_at:
          type: string
          format: date-time
          description: The time at which the transaction was created.
        customer:
          description: The ID of a customer
          type: string
        merchant_reference:
          type: string
          description: A reference specified by the merchant to identify the transaction.
          maxLength: 50
          example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        processor:
          description: The name of the processor used for this transaction
          type: string
          default : AFFIRM
        payment_product:
          description: The payment product corresponding to this transaction
          type: string
          default: AFFIRM
        payment_product_type:
          $ref: "#/components/schemas/PaymentProductType"
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: >-
            Message provided by the 3rd party service as additional information,
            when the transaction does not succeed.
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          items:
            type: number
          example:
            - 52.370216
            - 4.895168
        city:
          type: string
          description: The city resolved from the customer's ip address.
          example: West Roxbury
        country_code:
          title: Country Code
          type: string
          description: The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
          example: AU
    affirmPaymentCompletionRequest:
      title: Affirm Complete Payment Request
      type: object
      properties:
        merchant_reference:
          type: string
          title: merchantReference
          description: A reference specified by the merchant to identify the transaction
          maxLength: 50
        refusal_reason:
          $ref: "#/components/schemas/RefusalReason"
    affirmPaymentCompletionResponse:
      title: Affirm Complete Payment Response
      type: object
      properties:
        id:
          type: string
          title: Transaction ID
          format: uuid-flexible
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: The ID of the transaction.
        authorization_expiration:
          type: string
          description: The time when the auth transaction will expire (i.e. before which capture must be made). The value is formatted in RFC 3339.
        amount:
          type: integer
          description: >-
            Amount is charged without a decimal place e.g. $1.5 = 150.
            Currencies can have different decimals/exponentials, see Currencies
            Section for more details. For Account Verification transactions,
            provide 0 as value for this field.
          example: 150
        currency_code:
          $ref: "#/components/schemas/CurrencyCodeEnum"
        created_at:
          type: string
          format: date-time
          description: The time at which the transaction was created.
        created_by:
          description: >-
            The ID of the user who initiated the transaction. Only set when
            shopper_interaction = moto, mail_order or telephone_order
          type: string
        customer:
          description: The ID of a customer
          type: string
        merchant_reference:
          type: string
          title: merchantReference
          description: A reference specified by the merchant to identify the transaction
          maxLength: 50
        processor:
          type: string
          description: The name of the processor used for this transaction
          default: KLARNA
        payment_product:
          type: string
          description: The payment product corresponding to this transaction
          default: KLARNA
        payment_product_type:
          $ref: "#/components/schemas/PaymentProductType"
        status:
          type: string
          description: The outcome of the payment request.
          title: Ecommerce Transaction Status
          example: AUTHORIZED
          enum:
            - INITIATED
            - AUTHORIZED
            - AUTHORIZATION_VOIDED
            - CANCELLED
            - CUSTOMER_ACCEPTED
            - REFUNDED
            - FAILED
            - PENDING
            - DECLINED
            - SETTLEMENT_CANCELLED
            - SETTLEMENT_REQUESTED
            - SETTLEMENT_SUBMITTED
            - SETTLEMENT_COMPLETED
            - SETTLEMENT_PARTIAL
            - SETTLEMENT_DECLINED
            - VOIDED
            - UNKNOWN
        status_reason:
          type: string
          description: >-
            Message provided by the 3rd party service as additional information,
            when the transaction does not succeed.
        geo_location:
          type: array
          description: The latitude / longitude resolved from the customer's ip address.
          items:
            type: number
          example:
            - 52.370216
            - 4.895168
        country_code:
          title: Country Code
          type: string
          description: The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
          example: EU
    Fraud:
      title: Fraud Analysis Results
      type: object
      properties:
        score:
          type: number
          description: The value, float 0-1 (representing a percentage)
          format: float
          example: 0.21
        reasons:
          type: array
          description: The reason(s) for the fraud score
          items:
            uniqueItems: false
            type: string
    DetailedAmount:
      title: Detailed Amount
      description: >-
        A structure that represents a breakdown all of the different amounts that may appear on a single transaction.
      type: object
      properties:
        gratuity_amount:
          description: >-
            An optional additional amount representing the tip or gratuity associated with a payment.
            This should be included in the total 'amount' of the transaction.


            Amount is specified without a decimal place e.g. $1.5 = 150.


            <i>The required number of decimal places for a currency code is according to
            ISO 4217.</i>

          type: integer
          example: 150
        tax_amount:
          title: Tax Amount
          description: >-
            An optional value to specify the amount of any tax that was included 
            within the total amount for the transaction. This should be included 
            in the total 'amount' of the transaction.


            Amount is specified a decimal place e.g. $1.5 = 150.


            <i>The required number of decimal places for a currency code is according to
            ISO 4217.</i>

          type: integer
          example: 150
        surcharge_amount:
          title: Surchange Amount
          description: >-
            An optional additional amount representing the surcharge associated with a payment.
            This should be included in the total 'amount' of the transaction.


            Amount is specified without a decimal place e.g. $1.5 = 150.


            <i>The required number of decimal places for a currency code is according to
            ISO 4217.</i>

          type: integer
          example: 150
    ListDetailedAmount:
      title: Detailed Amount
      description: >-
        A structure that represents a breakdown all of the different amounts that may appear on a single transaction.
      type: object
      properties:
        gratuity_amount:
          title: Gratuity Amount
          description: >-
            An optional additional amount representing the tip or gratuity associated with a payment.
            This should be included in the total 'amount' of the transaction.
          $ref: "#/components/schemas/amountString"
        cashback_amount:
          title: Cashback Amount
          description: >-
            An optional additional amount representing the cashback associated with a payment.
          $ref: "#/components/schemas/amountString"
        donation_amount:
          title: Donation Amount
          description: >-
            An optional additional amount representing the donation associated with a payment.
            This should be included in the total 'amount' of the transaction.
          $ref: "#/components/schemas/amountString"
        tax_amount:
          title: Tax Amount
          description: >-
            An optional additional amount representing the tax associated with a payment.
            This should be included in the total 'amount' of the transaction.
          $ref: "#/components/schemas/amountString"
        surcharge_amount:
          title: Surcharge Amount
          description: >-
            An optional additional amount representing the surcharge associated with a payment.
            This should be included in the total 'amount' of the transaction.
          $ref: "#/components/schemas/amountString"
    TransactionState:
      title: Transaction State
      type: string
      description: This represents the available states that a transaction may have. At any given point it may only have a single state.
      enum:
        - APPROVED
        - AUTHENTICATING
        - AUTHORISED
        - AWAITING_INVOICE
        - CANCELLED
        - CONFIRMED
        - COMPLETED
        - CUSTOMER_ACCEPTED
        - DECLINED
        - DEFERRED
        - DISPUTED
        - EXCEPTION
        - EXPIRED
        - FAILED
        - INITIATED
        - ON_HOLD
        - PARTIALLY_REFUNDED
        - RECEIVED
        - RECONCILED
        - RECONCILIATION_FAILED
        - REFUNDED
        - REJECTED
        - REPEATING
        - REVERSED
        - REVERSE_ERROR
        - REVERSING
        - ROUTING
        - SENT
        - SETTLED
        - SETTLEMENT_FAILED
        - SETTLEMENT_REQUESTED
        - SUBMITTED
        - TIMED_OUT
        - UNMATCHED
    TransactionType:
      type: string
      description: >-
        A type indicator for the main operation or service that was performed as
        part of the transaction event.
      enum:
        - AUTHORISATION
        - BALANCE
        - CANCEL
        - CAPTURE
        - CARD_ACTIVATION
        - CARD_DEACTIVATION
        - CARD_VERIFICATION
        - CASH_ADVANCE
        - CASH_DEPOSIT
        - DECLINED
        - DELAYED_CHARGE
        - EXTEND
        - ISSUER_INSTALMENT_SELECTION
        - LOAD
        - NO_SHOW
        - NON_FINANCIAL
        - PREAUTH
        - PREAUTH_COMPLETION
        - PREAUTH_INCREMENT
        - RATE
        - REAUTHORISATION
        - REFUND
        - SALE
        - UNLOAD
        - VOID
    PromoFinancingDetails:
      title: Promo Financing
      type: object
      description: >-
        Additional details of the special financing offers to customers using private label cards, typically in combination with `promo_code` field.
      properties:
        promoFinancingType:
          description: >-
            Type of special financing information requested. Promotional information may be requested for duration of the promo only (`PROMO_APR`) or for during and after promo period (`PROMO_AND_AFTER_APR`).",
          type: string
          enum:
            - PROMO_APR
            - PROMO_AND_AFTER_APR
        promoPlan: 
          description: >- 
            The code or name of a promotional financing plan as set up between merchant and issuer.
          type: string
        promoPlanExpiry: 
          description: >- 
            Expiry date for the requested promo plan.
          type: string
          format: date
    PromoFinancingResults:
      title: Promo Financing Results
      type: object  
      description: >-
        Details of the special financing offer returned from the issuer.
      properties:
        promoFinancingType:
          description: >-
            Type of special financing information provided.
            * `PROMO_APR ` - APR information provided only for the duration of the promo period;
            * `PROMO_AND_AFTER_APR ` - APR information provided for the duration of and after the promo period;
            * `PROMO_AND_AFTER_APR ` - No promotional financing available;
            * `ERROR ` - error.
          type: string
          enum:
            - PROMO_APR
            - PROMO_AND_AFTER_APR
            - NO_PROMO
            - ERROR
        promoAnnualPercentageRateType: 
          description: >- 
            The type of APR applicable during promo period.
          type: string
          enum:
            - FIXED
            - VARIABLE
        promoAnnualPercentageRate: 
          description: >- 
            The interest rate expressed in Annual Percentage Rate (APR), applicable during the promo period.
          type: number
          format: float
        annualPercentageRateType: 
          description: >- 
            The type of APR applicable after promo period.
          type: string
          enum:
            - FIXED
            - VARIABLE
        annualPercentageRate: 
          description: >- 
            The interest rate expressed in Annual Percentage Rate (APR).
          type: number
          format: float
        promoDurationDescription:
          description: >- 
            Information or description of the promo period duration, e.g. 6 months
          type: string
        promoDescription:
          description: >- 
            Description of the promotional financing plan.
          type: string
security:
  - BearerAuth: []
  - BasicAuth: []
paths:
  /api/v2/transactions/card:
    post:
      operationId: saleTransaction
      summary: Initiate a payment
      description: >-
        Initiate a card payment or card verification request when amount is set
        to 0 (zero).

         <b>Transactions business models</b>

        | Business model | Transaction type | Shopper Interaction | Stored
        Credential Contract | Stored Credential Processing Model |

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

        | Online purchase with shopper present | One-off online purchase without
        storing card payment details for future use.| `ECOMMERCE` | | |

        | Online purchase with shopper present | Online purchase where shopper
        agrees to store card details for future use. This can be a zero-value
        transaction account verification.| `ECOMMERCE` |  | `CREDENTIAL_ON_FILE`
        |

        | Online purchase with shopper present | Online purchase where shopper
        uses previously stored card payment details.| `ECOMMERCE` | `ONE_CLICK`
        | `CREDENTIAL_ON_FILE` |

        | Subscriptions | Initial transaction to sign up for a subscription.|
        `ECOMMERCE` |  | `RECURRING` |

        | Subscriptions | Subsequent subscription charge. | `ECOMMERCE` |
        `MERCHANT_INITIATED` | `RECURRING` |

        | Non-fixed in time contracts (such as auto account top-ups) | Initial
        transaction to sign up for the terms and conditions of later subsequent
        charges. | `ECOMMERCE` |  | `UNSCHEDULED_CREDENTIAL_ON_FILE` |

        | Non-fixed in time contracts (such as auto account top-ups) |
        Subsequent charges as described in the initial terms and conditions
        during the sign-up transaction. | `ECOMMERCE` | `MERCHANT_INITIATED` |
        `UNSCHEDULED_CREDENTIAL_ON_FILE` |
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          schema:
            type: string
            description: >-
              A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
            format: uuid
            example: 63bbc548-d2de-4546-b106-880a5018461c
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/EncryptedCardPaymentRequest"
                - $ref: "#/components/schemas/TokenPaymentRequest"
      responses:
        "201":
          description: Ecommerce Payment Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EcomResponseCard"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Ecom Payments
      security:
        - BasicAuth: []
  "/api/v2/transactions/{id}/void":
    post:
      operationId: voidAuthorization
      summary: Void authorization
      description: >-
        Void/Cancel an authorization hold on a payment. Check the documentation in order to verify what payment method allows for this payment modification.
      parameters:
        - name: id
          required: true
          in: path
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: Original transaction id to cancel / void.
          schema:
            type: string
      responses:
        "201":
          description: Ecommerce Payment Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EcomResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Payment Modifications
      security:
        - BasicAuth: []
  "/api/v2/transaction/{id}":
    get:
      operationId: readTransaction
      summary: Read transaction
      description: Get a transaction
      parameters:
        - name: id
          required: true
          in: path
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: transaction id
          schema:
            type: string
      responses:
        "200":
          description: Transaction
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GatewayTransaction"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Transaction
      security:
        - BasicAuth: []
  "/api/v2/transactions/{id}/klarna_complete":
    post:
      tags:
        - Payment Modifications
      summary: Complete a Klarna payment
      description: A customer has completed a purchase and want to create the associated order in the system.
      operationId: klarnaPaymentTransaction
      parameters:
        - name: id
          in: path
          description: Original transaction id to complete transaction.
          required: true
          style: simple
          explode: false
          schema:
            title: Transaction ID
            type: string
            description: The ID of the transaction.
            format: uuid-flexible
            example: 76944d4b-89e6-48d2-ac04-675383c3eedf
        - name: x-vfi-api-idempotencyKey
          in: header
          required: false
          style: simple
          explode: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/klarnaPaymentCompletionRequest"
      responses:
        "200":
          description: The Klarna Complete Payment Response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/klarnaPaymentCompletionResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
  /api/v2/transactions:
    get:
      operationId: listTransactions
      summary: List transactions
      description: List of transactions
      parameters:
        - name: acquirer_merchant_id
          required: false
          in: query
          description: The Code identifying the card acceptor as issued by the Acquiring Institution. This may not be unique across institutions. Also referred to as the MID. ISO8583 - DE 42. This field is for the MID used between VF and a 3rd party acquirer or processor.
          schema:
            type: string
        - name: amount
          required: false
          in: query
          description: Amount of the transaction.
          schema:
            type: number
        - name: created_at
          required: false
          in: query
          description: The time at which the transaction was created.
          schema:
            title: <date-time>
            type: string
        - name: created_start
          in: query
          description: "The start time range for when the transaction was created, specified in UTC. Use this in conjunction with `created_end` to query for a time range. A maximum range of 1 month of transactions can be queried at a time. Note: If this is not specified it will default to the current date/time - 7 days."
          required: false
          style: form
          explode: true
          schema:
            title: <date-time>
            type: string
        - name: created_end
          in: query
          description: "The end time range for when a transaction was created, specified in UTC. Use this in conjunction with `created_start` to query for a time range. A maximum range of 1 month of transactions can be queried at a time. Note: If this is not specified it will default to the current date/time."
          required: false
          style: form
          explode: true
          schema:
            title: <date-time>
            type: string
        - name: country_code
          required: false
          in: query
          description: The country code resolved from the customer's ip address.
          schema:
            title: <iso3166-alpha2>
            type: string
        - name: currency_code
          required: false
          in: query
          description: Three-letter ISO 4217 alphabetical currency code. e.g. USD.
          schema:
            title: Values correspond to ISO 4217.
            type: string
        - name: customer
          required: false
          in: query
          description: The ID of a customer.
          schema:
            type: string
        - name: enity_id
          required: false
          in: query
          description: The identifier of merchant entity you want to process the transaciton is already processed.
          schema:
            type: string
        - name: invoice_number
          required: false
          in: query
          description:
            The invoice number used to track the order for POS transactions.
            For Ecommerce, use merchant_reference.
          schema:
            title: Invoice Number
            type: string
            maxLength: 127
        - name: merchant_reference
          in: query
          required: false
          style: form
          explode: true
          schema:
            type: string
            maxLength: 50
            description: A reference specified by the merchant to identify the transaction.
            example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        - name: payment_product_type
          required: false
          in: query
          description: >-
            Fees applied to the transaction, based on the payment product. e.g.
            For card transactions - interchange fees
          schema:
            enum:
              - Amex
              - Diners Club International
              - Discover
              - JCB
              - Maestro
              - Mastercard
              - Visa
            type: string
        - name: shopper_interaction
          required: false
          in: query
          description: Determines the point of sale of a customer.
          schema:
            enum:
              - ecommerce
              - pos
              - mail_order
              - telephone_order
              - unknown
            type: string
        - name: status
          required: false
          in: query
          schema:
            title: Please use `transaction_status` instead.
            enum:
              - INITIATED
              - AUTHORIZED
              - AUTHORIZATION_VOIDED
              - REFUNDED
              - FAILED
              - PENDING
              - DECLINED
              - SETTLEMENT_CANCELLED
              - SETTLEMENT_REQUESTED
              - SETTLEMENT_SUBMITTED
              - SETTLEMENT_COMPLETED
              - SETTLEMENT_PARTIAL
              - SETTLEMENT_DECLINED
              - VOIDED
              - UNKNOWN
            type: string
            deprecated: true
        - name: transaction_type
          in: query
          required: false
          style: form
          explode: true
          schema:
            $ref: "#/components/schemas/TransactionType"
        - name: transaction_status
          in: query
          required: false
          style: form
          explode: true
          schema:
            $ref: "#/components/schemas/TransactionState"
        - name: _sort
          required: false
          in: query
          description: >-
            Sorts the results by ascending order according to the provided
            field. If the field is prefixed with dash (e.g. -created_at), the
            order is descending.
          schema:
            enum:
              - created_at
              - "-created_at"
            type: string
        - name: _skip
          required: false
          in: query
          description: Skips a number of pages.
          schema:
            type: number
        - name: _limit
          required: false
          in: query
          schema:
            minimum: 1
            maximum: 10000
            default: 50
            type: number
        - name: reason_code
          required: false
          in: query
          description: >-
            A reason code assigned by the acquiring platform; '00' in case of
            success.
          schema:
            type: string
        - name: rrn
          required: false
          in: query
          description: >-
            Retrieval Reference Number, is a transaction identifying reference
            number that is designated by the card acceptor system.
          schema:
            type: string
        - name: pos_device_id
          required: false
          in: query
          description: Identifier of the POS device used for the transaction.
          schema:
            type: number
        - name: stan
          required: false
          in: query
          description: System Trace Audit Number.
          schema:
            type: number
        - name: id
          required: false
          in: query
          description: The ID of the transaction
          schema:
            type: string
        - name: x-vfi-api-idempotencykey
          required: false
          in: query
          description: Unique transaction identifier
          schema:
            type: string
      responses:
        "200":
          description: Transactions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/GatewayTransactions"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Transaction
      security:
        - BasicAuth: []
  /api/v2/transactions/count:
    get:
      operationId: countTransactions
      summary: Count transactions
      description: Count transactions
      parameters:
        - name: acquirer_merchant_id
          required: false
          in: query
          description: The Code identifying the card acceptor as issued by the Acquiring Institution. This may not be unique across institutions. Also referred to as the MID. ISO8583 - DE 42. This field is for the MID used between VF and a 3rd party acquirer or processor.
          schema:
            type: string
        - name: amount
          required: false
          in: query
          description: Amount of the transaction.
          schema:
            type: number
        - name: created_at
          required: false
          in: query
          description: The time at which the transaction was created.
          schema:
            title: <date-time>
            type: string
        - name: country_code
          required: false
          in: query
          description: The country code resolved from the customer's ip address.
          schema:
            title: <iso3166-alpha2>
            type: string
        - name: currency_code
          required: false
          in: query
          description: Three-letter ISO 4217 alphabetical currency code. e.g. USD.
          schema:
            title: Values correspond to ISO 4217.
            type: string
        - name: customer
          required: false
          in: query
          description: The ID of a customer.
          schema:
            type: string
        - name: enity_id
          required: false
          in: query
          description: The identifier of merchant entity you want to process the transaciton is already processed.
          schema:
            type: string
        - name: invoice_number
          required: false
          in: query
          description:
            The invoice number used to track the order for POS transactions.
            For Ecommerce, use merchant_reference.
          schema:
            title: Invoice Number
            type: string
            maxLength: 127
        - name: merchant_reference
          in: query
          required: false
          style: form
          explode: true
          schema:
            type: string
            maxLength: 50
            description: A reference specified by the merchant to identify the transaction.
            example: 7a1db7a8-6f24-4bc5-a51b-cef33fc05140
        - name: payment_product_type
          required: false
          in: query
          description: >-
            Fees applied to the transaction, based on the payment product. e.g.
            For card transactions - interchange fees
          schema:
            enum:
              - Amex
              - Diners Club International
              - Discover
              - JCB
              - Maestro
              - Mastercard
              - Visa
            type: string
        - name: shopper_interaction
          required: false
          in: query
          description: Determines the point of sale of a customer.
          schema:
            enum:
              - ecommerce
              - pos
              - mail_order
              - telephone_order
              - unknown
            type: string
        - name: status
          required: false
          in: query
          schema:
            title: <b>Deprecated</b>. Please use `transaction_status` instead.
            enum:
              - INITIATED
              - AUTHORIZED
              - AUTHORIZATION_VOIDED
              - REFUNDED
              - FAILED
              - PENDING
              - DECLINED
              - SETTLEMENT_CANCELLED
              - SETTLEMENT_REQUESTED
              - SETTLEMENT_SUBMITTED
              - SETTLEMENT_COMPLETED
              - SETTLEMENT_PARTIAL
              - SETTLEMENT_DECLINED
              - VOIDED
              - UNKNOWN
            type: string
            deprecated: true
        - name: transaction_type
          in: query
          required: false
          style: form
          explode: true
          schema:
            $ref: "#/components/schemas/TransactionType"
        - name: transaction_status
          in: query
          required: false
          style: form
          explode: true
          schema:
            $ref: "#/components/schemas/TransactionState"
        - name: reason_code
          required: false
          in: query
          description: >-
            A reason code assigned by the acquiring platform; '00' in case of
            success.
          schema:
            type: string
        - name: rrn
          required: false
          in: query
          description: >-
            Retrieval Reference Number, is a transaction identifying reference
            number that is designated by the card acceptor system.
          schema:
            type: string
        - name: pos_device_id
          required: false
          in: query
          description: Identifier of the POS device used for the transaction.
          schema:
            type: number
        - name: stan
          required: false
          in: query
          description: System Trace Audit Number.
          schema:
            type: number
        - name: id
          required: false
          in: query
          description: The ID of the transaction
          schema:
            type: string
      responses:
        "200":
          description: Count transactions
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CountTransactionResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Transaction
      security:
        - BasicAuth: []
  "/api/v2/transactions/{id}/adjust":
    post:
      operationId: Adjust Payment
      summary: Adjust the preauth transaction amount
      description: Allows for the modification of the amount of a previously initiated preauthorization before it is captured.
      parameters:
        - name: id
          required: true
          in: path
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: Original transaction id to adjust.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdjustDto"
      responses:
        "201":
          description: Ecommerce Payment Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EcomResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Payment Modifications
      security:
        - BasicAuth: []
  "/api/v2/transactions/{id}/capture":
    post:
      operationId: captureAuthorization
      summary: Capture authorization
      description: Capture an authorization hold on a payment. Check the documentation in order to verify what payment method allows for this payment modification.
      parameters:
        - name: id
          required: true
          in: path
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: Original transaction id to capture.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CaptureCardTransactionDto"
      responses:
        "201":
          description: Ecommerce Payment Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EcomResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Payment Modifications
      security:
        - BasicAuth: []
  "/api/v2/transactions/{id}/refund":
    post:
      operationId: refundPayment
      summary: Refund payment
      description: Refund a payment that has previously been captured.
      parameters:
        - name: id
          required: true
          in: path
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: Original transaction id to refund.
          schema:
            type: string
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          schema:
            type: string
            description: >-
              `Note:` This value is required to process a refund for an Affirm payment.
            format: uuid
            example: 63bbc548-d2de-4546-b106-880a5018461c
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/RefundCardTransactionDto"
      responses:
        "201":
          description: Ecommerce Payment Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EcomResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Payment Modifications
      security:
        - BasicAuth: []
  "/api/v2/transactions/refund":
    post:
      tags:
        - Payment Modifications
      description: >-
        Refund a cardholder with an amount not related to a previous
        transaction.
      summary: Unmatched refund
      operationId: unmatchedRefund
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/unmatchedRefundEncryptedCardRequest"
                - $ref: "#/components/schemas/unmatchedRefundTokenRequest"
      responses:
        "201":
          description: Ecommerce Payment Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EcomResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
  "/api/v2/transactions/{id}/void_capture":
    post:
      operationId: voidCapture
      summary: Void capture
      description: >-
        Cancel a payment that has previously been captured. Void capture can only be done on the full amount of the transaction. Check the documentation to verify what [payment method](https://docs.verifone.com/online-payments/payment-actions) allows for this payment modification.
      parameters:
        - name: id
          required: true
          in: path
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: Original transaction id to cancel / void the capture.
          schema:
            type: string
      responses:
        "201":
          description: Ecommerce Payment Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EcomResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Payment Modifications
      security:
        - BasicAuth: []
  /api/v2/transactions/reverse:
    post:
      operationId: reverseTransaction
      summary: Reverse Transaction
      description: Allows for technical reversal
      parameters:
        - name: x-vfi-api-idempotencykey
          required: true
          in: header
          description: string(uuid)
          schema:
            type: string
      responses:
        "201":
          description: Technical Reversal Result
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/EcomReverseTransactionResponse"
                  - $ref: "#/components/schemas/EcomResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Payment Modifications
      security:
        - BasicAuth: []
  "/api/v2/transactions/{id}/release":
    post:
      operationId: ReleasePreAuthorization
      summary: Release PreAuthorization
      description: >-
        Release the rest of preauthorisation which was not captured. This is a
        one time operation where all remaining funds are released. No further
        captures are allowed after that. Rest of amount to be released is
        automatically calculated internally.
      parameters:
        - name: id
          required: true
          in: path
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: Original preauthorized transaction id to release
          schema:
            type: string
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          description: |-
            string(uuid)

            Example: 63bbc548-d2de-4546-b106-880a5018461c
              A value you specify that uniquely identifies this transaction. If you're unsure whether a particular transaction
              succeeded, you can reattempt it with the same idempotency key without worrying about duplicating the
              transaction.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ReleasePreauthDto"
      responses:
        "201":
          description: Ecommerce Payment Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EcomResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Payment Modifications
      security:
        - BasicAuth: []
  "/api/v2/transactions/{id}/extend":
    post:
      operationId: extendAuthorization
      summary: Extend preauthorization
      description: >-
        Extend the authorization period and confirm the availability of the funds of a previously initiated preauthorization.

        If supported by the card brand (like Visa) this operation will be handled
        as a Reauthorization request.
      parameters:
        - name: id
          required: true
          in: path
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: Original preauthorized transaction id to release
          schema:
            type: string
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          description: |-
            string(uuid)

            Example: 63bbc548-d2de-4546-b106-880a5018461c
              A value you specify that uniquely identifies this transaction. If you're unsure whether a particular transaction
              succeeded, you can reattempt it with the same idempotency key without worrying about duplicating the
              transaction.
          schema:
            type: string
      responses:
        "201":
          description: Ecommerce Payment Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EcomResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Payment Modifications
      security:
        - BasicAuth: []
  "/api/v2/transactions/{id}/issuer_instalment_selection":
    post:
      operationId: issuerInstalmentSelection
      summary: Issuer Instalment Selection
      description: Confirm selection of instalment option where multiple issuer instalment options proposed.
      parameters:
        - name: id
          required: true
          in: path
          example: 76944d4b-89e6-48d2-ac04-675383c3eedf
          description: Original transaction id to apply instalment selection to.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/issuerInstalmentSelectionRequest"
      responses:
        "201":
          description: Ecommerce Payment Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EcomResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Payment Modifications
      security:
        - BasicAuth: []
  /api/v2/card:
    put:
      operationId: createUpdateToken
      summary: Create/Update Token Details
      description: |-
        Create/Update a token using the Verifone Tokenisation Service.

         If a token exists for the card already, it is updated with the information in the request. Otherwise, a new token is created for the given card.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PutDto"
      responses:
        "200":
          description: Token result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CardResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Token Management
      security:
        - BasicAuth: []
  "/api/v2/card/{id}":
    get:
      operationId: getToken
      summary: Get Token Details
      description: Get the details associated with a Verifone issued reuse token.
      parameters:
        - name: id
          required: true
          in: path
          description: >-
            The Verifone issued reuse token used to represent the previously
            stored cardholder data.
          example: VFrandom54965984
          schema:
            title: Verifone Reuse Token
            maxLength: 255
            minLength: 14
      responses:
        "200":
          description: Token Result.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TokenResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Token Management
      security:
        - BasicAuth: []
    patch:
      operationId: updateToken
      summary: Update Token Details
      description: |-
        Update the details associated with a Verifone issued reuse token.

         If the token needs to be linked to a new PAN, the card property must be present.

         It is possible to update only partial details against the same card on file like expiry date, cardholder name or CVV.
      parameters:
        - name: id
          required: true
          in: path
          description: >-
            The Verifone issued reuse token used to represent the previously
            stored cardholder data.
          example: VFrandom54965984
          schema:
            title: Verifone Reuse Token
            maxLength: 255
            minLength: 14
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PatchDto"
      responses:
        "200":
          description: Token result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PatchTokenResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Token Management
      security:
        - BasicAuth: []
    delete:
      operationId: deleteToken
      summary: Delete Token
      description: Delete a Verifone issued reuse token. This operation is not reversible.
      parameters:
        - name: id
          required: true
          in: path
          description: >-
            The Verifone issued reuse token used to represent the previously
            stored cardholder data.
          example: VFrandom54965984
          schema:
            title: Verifone Reuse Token
            maxLength: 255
            minLength: 14
      responses:
        "204":
          description: Success. Token was successfully deleted.
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Token Management
      security:
        - BasicAuth: []
  "/api/v2/card/{id}/suspend":
    patch:
      operationId: suspendToken
      summary: Suspend Token
      description: |-
        Suspend a Verifone issued reuse token. This operation is reversible.

         The token can be activated again by calling the 'Activate Token' endpoint.
      parameters:
        - name: id
          required: true
          in: path
          description: >-
            The Verifone issued reuse token used to represent the previously
            stored cardholder data.
          example: VFrandom54965984
          schema:
            title: Verifone Reuse Token
            maxLength: 255
            minLength: 14
      responses:
        "204":
          description: Success. Token was successfully suspended.
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Token Management
      security:
        - BasicAuth: []
  "/api/v2/card/{id}/activate":
    patch:
      operationId: activateToken
      summary: Activate Token
      description: Activate a Verifone issued reuse token.
      parameters:
        - name: id
          required: true
          in: path
          description: >-
            The Verifone issued reuse token used to represent the previously
            stored cardholder data.
          example: VFrandom54965984
          schema:
            title: Verifone Reuse Token
            maxLength: 255
            minLength: 14
      responses:
        "204":
          description: Success. Token was successfully activated.
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Token Management
      security:
        - BasicAuth: []
  /api/v2/key:
    post:
      operationId: keyPair
      summary: Generate Key Pair
      description: Generate a new public/private key pair
      parameters: []
      responses:
        "201":
          description: Key Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateKeyPairResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Secure Card Capture
      security:
        - BasicAuth: []
    get:
      operationId: listKeyPair
      summary: List Key Pair
      description: >-
        This will return the active public keys that can be shared with a
        merchant to encrypt card data prior to send.
      parameters: []
      responses:
        "200":
          description: Key Result
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ListKeyPairResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Secure Card Capture
      security:
        - BasicAuth: []
  "/api/v2/key/{keyAlias}/deactivate":
    patch:
      operationId: deactiveKeyPair
      summary: Deactivate Key Pair
      description: This sets the status of the key pair to inactive.
      parameters:
        - name: keyAlias
          required: true
          in: path
          schema:
            type: string
      responses:
        "204":
          description: Success. Key pair deactivated.
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Secure Card Capture
      security:
        - BasicAuth: []
  /api/v2/transactions/wallet:
    post:
      operationId: walletTransaction
      summary: Initiate a wallet payment using Google Pay or Apple Pay
      description: >-
        Initiate a card payment or card verification request when amount is set
        to 0 (zero).

         <b>Transactions business models</b>

        | Business model | Transaction type | Shopper Interaction | Stored
        Credential Contract | Token Preference or Reference | Stored Credential
        Request Type | Stored Credential Processing Model |

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

        | Online purchase with shopper present | One-off online purchase without
        storing card payment details for future use.| `ECOMMERCE` | | | | |

        | Online purchase with shopper present | Online purchase where shopper
        agrees to store card details for future use. This can be a zero-value
        transaction account verification.| `ECOMMERCE` |  | `REUSE` | `SIGNUP` |
        `NONE` |

        | Subscriptions | Initial transaction to sign up for a subscription.|
        `ECOMMERCE` |  | `REUSE` or `reuse_token` | `SIGNUP` | `RECURRING` |

        | Non-fixed in time contracts (such as auto account top-ups) | Initial
        transaction to sign up for the terms and conditions of later subsequent
        charges. | `ECOMMERCE` |  | `REUSE` | `SIGNUP` | `NONE` |

        <p><i>Note</i>: To initiate a transaction with reference to previously stored credentials ( `CHARGE` ) use ``/v2/transactions/card`` endpoint instead.</p>
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          schema:
            type: string
            description: >-
              A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
            format: uuid
            example: 63bbc548-d2de-4546-b106-880a5018461c
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateWalletDto"
      responses:
        "201":
          description: Wallet Result
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: "#/components/schemas/VerificationAdvice"
                  - $ref: "#/components/schemas/EcomResponseCard"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Ecom Payments
      security:
        - BasicAuth: []
  /api/v2/apple-pay/validation:
    post:
      operationId: validationUrl
      summary: Start payment session for Apple Pay wallet transactions
      description: Create a merchant payment session
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ApplePayMerchantValidationDto"
      responses:
        "201":
          description: The Apple Pay Validation Response.
          content:
            application/json:
              schema:
                type: object
                description: object (Apple Pay opaque session object)
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Ecom Payments
      security:
        - BasicAuth: []
  /api/v2/transactions/vipps:
    post:
      tags:
        - Ecom Payments
      summary: Initiate a Vipps payment
      description: Initiate a Vipps payment.
      operationId: vippsTransaction
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          schema:
            type: string
            description: >-
              A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
            format: uuid
            example: 63bbc548-d2de-4546-b106-880a5018461c
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/vippsPaymentInitiationRequest"
      responses:
        "201":
          description: The Vipps Payment Initiation Response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/vippsPaymentInitiationResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
  /api/v2/transactions/mobilepay:
    post:
      tags:
        - Ecom Payments
      summary: Initiate a MobilePay payment
      description: Initiate a MobilePay payment.
      operationId: mobilePayTransaction
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          schema:
            type: string
            description: >-
              A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
            format: uuid
            example: 63bbc548-d2de-4546-b106-880a5018461c
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/mobilePayPaymentInitiationRequest"
      responses:
        "201":
          description: The MobilePay Payment Initiation Response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/mobilePayPaymentInitiationResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
  /api/v2/transactions/klarna:
    post:
      tags:
        - Ecom Payments
      summary: Initiate a Klarna payment.
      description: Initiate a Klarna payment.
      operationId: klarnaInitTransaction
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          schema:
            type: string
            description: >-
              A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
            format: uuid
            example: 63bbc548-d2de-4546-b106-880a5018461c
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/klarnaPaymentInitiationRequest"
      responses:
        "201":
          description: Klarna Initiate Payment Result.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/klarnaPaymentInitiationResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
  /api/v2/transactions/swish:
    post:
      tags:
        - Ecom Payments
      summary: Initiate a Swish payment
      description: Initiate a Swish payment.
      operationId: swishTransaction
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          schema:
            type: string
            description: >-
              A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
            format: uuid
            example: 63bbc548-d2de-4546-b106-880a5018461c
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/swishPaymentInitiationRequest"
      responses:
        "201":
          description: The Swish Payment Initiation Response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/swishPaymentInitiationResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
  /api/v2/transactions/op-online-payment:
    post:
      tags:
        - Ecom Payments
      summary: Initiate a OP Online payment
      description: Initiate a OP Online payment.
      operationId: opOnlinePaymentTransaction
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          schema:
            type: string
            description: >-
              A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
            format: uuid
            example: 63bbc548-d2de-4546-b106-880a5018461c
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/opOnlinePaymentInitiationRequest"
      responses:
        "201":
          description: The OP Online Payment Initiation Response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/opOnlinePaymentInitiationResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
  /api/v2/get-op-banks:
    get:
      tags:
        - Ecom Payments
      summary: Get a list of Banks supported by OP Online Payment
      description: Get a list of Banks supported by OP Online Payment.
      operationId: getOpBanks
      responses:
        "201":
          description: The OP Online Payment list of Banks Response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/opOnlinePaymentGetBanksResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
  /api/v2/transactions/balance:
    post:
      operationId: BalanceEnquiry
      summary: Query the balance on a card
      description: This retrieves the current balance on a gift/prepaid card.
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          description: |-
            Example: 63bbc548-d2de-4546-b106-880a5018461c 

             A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
          schema:
            type: string
      requestBody:
        required: true
        description: >-
          The card Balance Payment Request, using either, the encrypted
          cardholder data or the reuse token to represent card data.
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/EncryptedCardBalancePaymentRequest"
                - $ref: "#/components/schemas/ReuseTokenCardBalancePaymentRequest"
      responses:
        "201":
          description: The Card Balance Enquiry Response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BalanceEnquiryResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Balance Enquiry
      security:
        - BasicAuth: []
  /api/v2/transactions/redemption:
    post:
      operationId: pointsRedemptionOrder
      summary: Redeem points related to a card
      description: >-
        Redeem points that is related to a given card. Redemptions on this endpoint will not be seen as a financial 
        operation, but an order request to update the points used. This operation is currently only supported for 
        Amex Pay with Points.
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          description: |-
            Example: 63bbc548-d2de-4546-b106-880a5018461c 

             A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
          schema:
            type: string
      requestBody:
        description:
          The points Redemption Request, using either, the encrypted cardholder data
          or the reuse token to represent card data.
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/encryptedCardRedemptionRequestBody"
                - $ref: "#/components/schemas/reuseTokenRedemptionRequestBody"
      responses:
        "201":
          description: Response for gift card transactions
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/pointsRedemptionResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Redemption Order
  /api/v2/transactions/stored-value-card/load:
    post:
      operationId: loadCard
      summary: Add funds to a card
      description: >-
        Load a card with given value. This is to be used for load, reload,
        top-up, deposit operations.
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          description: |-
            Example: 63bbc548-d2de-4546-b106-880a5018461c 

             A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
          schema:
            type: string
      requestBody:
        required: true
        description: >-
          The GiftCard Payment Request, using either the encrypted cardholder
          data or the reuse token to represent card data.
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/LoadEncryptedCard"
                - $ref: "#/components/schemas/LoadReuseToken"
      responses:
        "201":
          description: Response for gift card transactions
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StoredValueCardResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Load Card
  /api/v2/transactions/stored-value-card/activate:
    post:
      operationId: activateCard
      summary: Activate a gift card
      description: >-
        Activating the card allows the cardholder to access the funds stored on
        the card.
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          description: |-
            Example: 63bbc548-d2de-4546-b106-880a5018461c 

             A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/ActivateEncryptedCard"
                - $ref: "#/components/schemas/ActivateReuseToken"
      responses:
        "201":
          description: Response for gift card transactions
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StoredValueCardResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Activate Card
  /api/v2/transactions/affirm:
    post:
      tags:
        - Ecom Payments
      summary: Initiate a Affirm payment.
      description: With Affirm, you will never owe more than you agree to up front. Instead, you’ll always get a flexible, transparent, and convenient way to pay over time.
      operationId: affirmInitTransaction
      parameters:
        - name: x-vfi-api-idempotencykey
          required: true
          in: header
          schema:
            type: string
            description: >-
              A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
            format: uuid
            example: 63bbc548-d2de-4546-b106-880a5018461c
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/affirmPaymentInitiationRequest"
      responses:
        "201":
          description: The Affirm Initiation Response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/affirmPaymentInitiationResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
  /api/v2/transactions/affirm_complete:
    post:
      tags:
        - Payment Modifications
      summary: Complete a Affirm payment
      description: >-
        A customer has completed a purchase and want to create the associated
        order in the system.
      operationId: affirmCompleteTransaction
      parameters:
        - name: x-vfi-api-idempotencykey
          required: true
          in: header
          schema:
            type: string
            description: >-
              A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
            format: uuid
            example: 63bbc548-d2de-4546-b106-880a5018461c
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/affirmPaymentCompletionRequest"
      responses:
        "201":
          description: The Affirm Initiation Response.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/affirmPaymentCompletionResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
  /ecomm-service/api/v2/health:
    get:
      operationId: HealthController_healthCheck
      summary: Health check if the api is up and running
      parameters: []
      responses:
        "200":
          description: Returns 200 if server is up and running.
          content:
            application/json:
              schema:
                type: string
                example: "OK"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Health
  /api/v2/card/card-details:
    post:
      operationId: Binlookup
      summary: Bin lookup of Card Number
      description: >-
        The Card Details API endpoints will bin lookup and provides card details.
      parameters:
        - name: x-vfi-api-idempotencykey
          required: false
          in: header
          description: |-
            Example: 63bbc548-d2de-4546-b106-880a5018461c 

             A value you specify that uniquely identifies this transaction. This must be used to trigger a reversal if there is a timeout.
          schema:
            type: string
      requestBody:
        required: true
        description: >-
          The Card Details API endpoints will bin lookup and provides card details.
        content:
          application/json:
            schema:
              oneOf:
                - $ref: "#/components/schemas/cardDetailsPrefixRequest"
                - $ref: "#/components/schemas/cardDetailsEncryptedCardRequest"
      responses:
        "201":
          description: The details of the bin range or card. May contain more than one record if a co-branded card.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CardDetailsResponse"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BadRequestV2Docs"
        "401":
          description: Unauthorised
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnauthorizedV2Docs"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ForbiddenV2Docs"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NotFoundV2Docs"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InternalErrorV2Docs"
      tags:
        - Bin
x-tagGroups:
  - name: ECOMMERCE
    tags:
      - Ecom Payments
      - Payment Modifications
      - Transaction
      - Secure Card Capture
      - Wallet
  - name: Loyalty Program Operations
    tags:
      - Redemption Order
  - name: Balance Enquiry
    tags:
      - Balance Enquiry
  - name: Gift Card Operations
    tags:
      - Load Card
      - Activate Card
  - name: Bin
    tags:
      - Bin
  - name: Token Management
    tags:
      - Token Management
  - name: Health Check
    tags:
      - Health