Verifone Ecom Payments API

The Ecom Payments API from Verifone — 10 operation(s) for ecom payments.

OpenAPI Specification

verifone-ecom-payments-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: 3D Secure 3DS Authentication Ecom Payments API
  version: 3.43.0
  description: Operations for listing and retrieving 3DS authentication records. Use these endpoints to query historical authentication results filtered by amount, currency, card, status, and more.
servers:
- url: https://emea.gsc.verifone.cloud/oidc/3ds-service
  description: EMEA Production
- url: https://us.gsc.verifone.cloud/oidc/3ds-service
  description: Americas Production
- url: https://nz.gsc.verifone.cloud/oidc/3ds-service
  description: New Zealand Production
- url: https://cst.test-gsc.vfims.com/oidc/3ds-service
  description: Global Sandbox
- url: https://uscst-gb.gsc.vficloud.net/oidc/3ds-service
  description: Americas Sandbox
security:
- BearerAuth: []
- BasicAuth: []
tags:
- name: Ecom Payments
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).\n\n <b>Transactions business models</b>\n\n| Business model | Transaction type | Shopper Interaction | Stored Credential Contract | Stored Credential Processing Model |\n| -------------- | ---------------- | ------------------- | ------------------ | -------------------------- |\n| Online purchase with shopper present | One-off online purchase without storing card payment details for future use.| `ECOMMERCE` | | |\n| 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` |\n| Online purchase with shopper present | Online purchase where shopper uses previously stored card payment details.| `ECOMMERCE` | `ONE_CLICK` | `CREDENTIAL_ON_FILE` |\n| Subscriptions | Initial transaction to sign up for a subscription.| `ECOMMERCE` |  | `RECURRING` |\n| Subscriptions | Subsequent subscription charge. | `ECOMMERCE` | `MERCHANT_INITIATED` | `RECURRING` |\n| 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` |\n| 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
      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
  /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).\n\n <b>Transactions business models</b>\n\n| Business model | Transaction type | Shopper Interaction | Stored Credential Contract | Token Preference or Reference | Stored Credential Request Type | Stored Credential Processing Model |\n| ------------------- | ---------------- | ------------------- | ------------------ | ------------------ | ---------------- | -------------------------- |\n| Online purchase with shopper present | One-off online purchase without storing card payment details for future use.| `ECOMMERCE` | | | | |\n| 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` |\n| Subscriptions | Initial transaction to sign up for a subscription.| `ECOMMERCE` |  | `REUSE` or `reuse_token` | `SIGNUP` | `RECURRING` |\n| 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` |\n<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
      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
  /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
  /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
      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
      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
      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
      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
      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/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
      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'
components:
  schemas:
    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).
    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
        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.
    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:\n    Y - Yes, Bank is participating in 3-D Secure protocol and will return the ACSUrl.\n    N - No, Bank is not participating in 3-D Secure protocol.\n    U - Unavailable, the DS or ACS is not available for authentication at the time of the request.\n    B - Bypass, merchant authentication rule is triggered to bypass authentication in this use case.\n    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:\n      Y - Successful Authentication.\n      U - Unable to Complete Authentication\n      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
    affirmPaymentInitiationResponse:
      title: Affirm Initiate Payment Result
      type: object
      properties:
        id:
          title: Transaction ID
          type: string
          description: The ID of the transaction.
          format: uuid-flexible
        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
        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.
        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
        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
          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
        city:
          type: string
          description: The city resolved from the customer's ip address.
        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>.
    TokenPreferenceDto:
      type: object
      properties:
        token_scope:
          type: string
          title: Token Scope
          description: The token scope under which this token was created.
          format: uuid
        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
    

# --- truncated at 32 KB (187 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/verifone/refs/heads/main/openapi/verifone-ecom-payments-api-openapi.yml