Versapay File Imports API

As a supplier you can upload customer, invoice, and payment data in CSV file formats.

Operations 9

POST /api/imports Import a CSV File
GET /api/imports View In-Progress & Completed Batches
GET /api/imports/processing View In-Progress Batches #
GET /api/imports/completed View Completed Batches #
GET /api/imports/{id} View Batch Details #
GET /api/imports/{id}/echo View Tokenized Results of File Imported Payment Methods #
GET /api/imports/{id}/errors View Batch Errors #
GET /api/exports/invoice_recon/{batch_file_id} Export/View Invoice Reconciliation Results
GET /api/exports/payment_recon/{batch_file_id} Export/View Payment Reconciliation Results

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/versapay-file-imports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

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

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

OpenAPI Specification

versapay-file-imports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.3.35
  title: Versapay API Reference File Imports API
  contact:
    name: Versapay Support
    url: https://www.versapay.com/support
    email: support@versapay.com
  x-logo:
    url: https://developers.versapay.com/images/logo.png
  termsOfService: https://www.versapay.com/terms-of-use
  license:
    name: Copyright 2022 Versapay. All Rights Reserved.
  description: 'As a supplier you can upload customer, invoice, and payment data in CSV file formats.

    '
servers:
- url: https://secure.versapay.com
  description: Production
- url: https://uat.versapay.com
  description: UAT
tags:
- name: File Imports
  description: 'As a supplier you can upload customer, invoice, and payment data in CSV file formats.

    '
paths:
  /api/imports:
    post:
      summary: Import a CSV File
      description: 'When uploading a CSV-formatted file it’s helpful to use your language/framework tooling to simplify the [multipart/form-data](https://www.ietf.org/rfc/rfc2388.txt) file upload.

        ### Size Limit

        The file cannot exceed 25MB.

        ### Layouts

        Please contact support@versapay.com or reach out to your implementation specialist for standard inbound CSV file layouts.

        '
      tags:
      - File Imports
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  type: string
                  description: The file to upload.
                filename:
                  type: string
                  description: Name of original file.
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileImport'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      x-codeSamples:
      - lang: cURL
        source: 'curl \

          -u "Nvax...:UN0I..." \

          -F "filename=data.csv" \

          -F "file=@/home/user/Desktop/data.csv" \

          https://secure.versapay.com/api/imports/

          '
      - lang: Ruby
        source: 'file = { :file => File.new(''/home/user/Desktop/data.csv'') }

          auth = { :basic_auth => { :username => ''Nvax...'', :password => ''UN0I...'' } }

          HTTMultiParty.post(''https://secure.versapay.com/api/imports/'', auth.merge( :query => file ))

          '
    get:
      summary: View In-Progress & Completed Batches
      description: View recent in-progress and completed import batches.
      tags:
      - File Imports
      parameters:
      - name: page
        in: query
        description: 50 items are displayed per page.
        schema:
          type: integer
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileImport'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /api/imports/processing:
    get:
      summary: View In-Progress Batches
      description: View only recent in-progress import batches.
      operationId: viewInProgressBatches
      tags:
      - File Imports
      parameters:
      - name: page
        in: query
        description: 50 items are displayed per page.
        schema:
          type: integer
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileImport'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /api/imports/completed:
    get:
      summary: View Completed Batches
      description: View only recent completed import batches.
      operationId: viewCompletedBatches
      tags:
      - File Imports
      parameters:
      - name: page
        in: query
        description: 50 items are displayed per page.
        schema:
          type: integer
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileImport'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /api/imports/{id}:
    get:
      summary: View Batch Details
      operationId: viewBatchDetail
      tags:
      - File Imports
      parameters:
      - name: id
        in: path
        required: true
        description: The import batch identifier.
        schema:
          type: string
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileImport'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /api/imports/{id}/echo:
    get:
      summary: View Tokenized Results of File Imported Payment Methods
      description: 'Tokenized results of file imported payment methods are available up to 24hrs following a fund import. This results file echo''s the original input lines - absent the original header line, with sensitive field masking - appending the imported items `wallet token`, `fund token`, and `vault token` - i.e. essential references that can be used for subsequent payment/order transactions API usage.

        '
      operationId: viewEchoResults
      tags:
      - File Imports
      parameters:
      - name: id
        in: path
        required: true
        description: The import batch identifier.
        schema:
          type: string
      responses:
        '200':
          description: Successful Operation
          content:
            text/csv:
              schema:
                type: string
              example: '1. Example of credit card import source text/csv:

                customer_identifier,name,first_name,last_name,number,expiry,postal_code,create_debit_agreement,auto_debit_reference

                10001,John Doe,John,Doe,4111111111111111,0318,H0H 0H0,Y,POLICY_10001

                10001,John Doe,John,Doe,5473500000000014,0318,H0H 0H0,Y,10001,John Doe,John,Doe,372700699251018,0318,H0H 0H0,N,

                10004,Mary Smith,Mary,Smith,4111111111111111,0318,H0H 0H0,Y,POLICY_10004

                10004,Mary Smith,Mary,Smith,5473500000000014,0318,H0H 0H0,Y,10004,Mary Smith,Mary,Smith,372700699251018,0318,H0H 0H0,N,


                2. Example of credit card import results text/csv:

                10001,John Doe,John,Doe,************1111,****,H0H 0H0,Y,POLICY_10001,1L8DN37Y6TL8,CC8KCKWWL8UT,ccuq905fyzruz9

                10001,John Doe,John,Doe,************0014,****,H0H 0H0,Y,,1L8DN37Y6TL8,CC3R9L5BDHI3,ccghc1fsa52tko

                10004,Mary Smith,Mary,Smith,************1111,****,H0H 0H0,Y,POLICY_10004,4JL6FH2L7LKN,CC851RBU5WGJ,ccg8c12dymulm1

                10004,Mary Smith,Mary,Smith,************0014,****,H0H 0H0,Y,,4JL6FH2L7LKN,CC2YDCF82NQK,ccom320nfnozj8'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /api/imports/{id}/errors:
    get:
      summary: View Batch Errors
      description: 'View the error results for a given batch import. This endpoint returns by default a `json` type response. But you can specify the extension in which you want to see the response, the accepted extensions are `json` and `csv`

        '
      operationId: viewBatchError
      tags:
      - File Imports
      parameters:
      - name: id
        in: path
        required: true
        description: The import batch identifier.
        schema:
          type: string
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/InvoiceResponse'
              examples:
                message:
                  value:
                    message:
                    - line_number: 2
                      error: division id not specified
                      id: null
                      amount_cents: 73570
                      number: A00359X
                      due_date: '2022-08-01'
                      created_at: null
                      updated_at: null
                      sender_id: 4
                      customer_id: null
                      batch_id: 485
                      read_at: null
                      currency: cad
                      company_name: null
                      notes_header: null
                      notes_text: null
                      invoice_style: Product
                      date: '2022-07-01'
                      address_id: null
                      telephone: null
                      fax: null
                      currencies: null
                      external_id: null
                      sent_at: null
                      balance_adjustment: null
                      owing_cents: 73570
                      shipping_name: null
                      shipping_address_id: null
                      purchase_order_number: null
                      auto_debit: true
                      payment_date: null
                      bad_debt_cents: null
                      draft: false
                      published_at: null
                      division_id: null
                      identifier: cadbalance|A00359X
                      auto_debit_reference: null
                      display_number: null
                      deleted: false
                      deleted_at: null
                      insert_token: 8ece9938-dd53-41be-979e-7ed962c9c082
                      update_token: 8ece9938-dd53-41be-979e-7ed962c9c082
                      subtotal_cents: 73570
                      subtotal_tax1: null
                      subtotal_tax2: null
                      address_1: null
                      address_2: null
                      city: null
                      province: null
                      postal_code: null
                      balance_mode: true
                      disputed: false
                      recurring_invoice_id: null
                      offer: false
                      scheduled_payment_id: null
                      paid_by_auto_debit: null
                      converted_amount_cents: 73570
                      converted_owing_cents: 73570
                      customer_name: null
                      net_days: null
                      email_delivered_at: null
                      email_opened_at: null
                      delivery_status: new
                      email_not_delivered_reason: null
                      ref1: null
                      ref2: null
                      ref3: null
                      match_at: null
                      plan_identifier: null
                      plan_start_date: null
                      plan_end_date: null
                      plan_payment_cents: null
                      plan_suspended: null
                      annualized_amount_cents: null
                      annualized_effective_date: null
                      annualized_expiry_date: null
                      plan_invalid: false
                      annualization_history: {}
                      last_payment_failed: false
                      autopay_on_hold: false
                      email_sent_at: null
                      printed: false
                      paper_delivery_state: null
                      paper_state_change_at: null
                      printer_queued_at: null
                      printer_received_at: null
                      printer_printed_at: null
                      printer_mailed_at: null
                      printer_failed_at: null
                      printer_failed_message: null
                      balance_updated_at: null
                      last_payment_at: null
                      checkout_payment: false
                      approval_status: none
                      first_pending_at: null
                      summary_invoice_parent: false
                      summary_invoice_number: null
                      summary_discrepancy_currency: false
                      summary_discrepancy_amount: false
                      summary_orphan: false
                      discount_expiry_date: null
                      discount_rate: null
                      discount_amount_cents: null
                      converted_discount_amount_cents: null
                      ref4: null
                      line_item_tax_warning: false
                      discount_cancelled_at: null
                      card_number: null
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /api/exports/invoice_recon/{batch_file_id}:
    get:
      summary: Export/View Invoice Reconciliation Results
      description: 'View the most recent, or for a given batch import, invoice reconciliation results.

        '
      tags:
      - File Imports
      parameters:
      - name: batch_file_id
        in: path
        required: true
        description: Optional, the `id` of the batch file import queued via /api/imports. When not specified the most recent invoice recon results are returned if any.
        schema:
          type: integer
      - name: watermark
        in: query
        description: The value to base a subsequent extract of the next 100 items.
        schema:
          $ref: '#/components/schemas/Watermark'
      - name: list
        in: query
        description: See Watermark & Limit for more information on response structure.
        schema:
          type: boolean
          example: true
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  reconciliation_invoices:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/InvoiceReconResponse'
              examples:
                reconciliation_invoices:
                  value:
                    reconciliation_invoices:
                      '213635737':
                        number: '0012'
                        division_code: null
                        customer_number: ''
                        customer_name: ''
                        invoice_date: null
                        payment_identifier: null
                        payment_date: null
                        orphaned_payment_amount: ''
                        balance_in_arc: ''
                        balance_in_source_system: $11,200.00
                        discrepancy_message: Invoice Not Present in ARC
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /api/exports/payment_recon/{batch_file_id}:
    get:
      summary: Export/View Payment Reconciliation Results
      description: 'View the most recent, or for a given batch import, payment reconciliation results.

        '
      tags:
      - File Imports
      parameters:
      - name: batch_file_id
        in: path
        required: true
        description: Optional, the `id` of the batch file import queued via /api/imports. When not specified the most recent invoice recon results are returned if any.
        schema:
          type: integer
      - name: watermark
        in: query
        description: The value to base a subsequent extract of the next 100 items.
        schema:
          $ref: '#/components/schemas/Watermark'
      - name: list
        in: query
        description: See Watermark & Limit for more information on response structure.
        schema:
          type: boolean
          example: true
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  reconciliation_invoices:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/PaymentReconResponse'
              examples:
                reconciliation_invoices:
                  value:
                    reconciliation_payments:
                      '213635737':
                        payment_reconciliation_identifier: 7TSX9SFRY
                        unapplied_amount: $3,000.00
                        unapplied_amount_in_source_system: $90.00
                        customer_identifier: CUST123
                        discrepancy_message: 'These fields do not match: Payment date, Payment amount, Applied amount, Unapplied amount'
                        payment_amount: $3,000.00
                        payment_amount_in_source_system: $4,805.87
                        applied_amount: $0.00
                        applied_amount_in_source_system: $900.00
                        payment_date: '2021-08-31'
                        payment_date_in_source_system: '2023-08-07'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
components:
  schemas:
    InvoiceReconResponse:
      type: object
      properties:
        number:
          type: string
          description: The invoice number.
          example: 12
        division_code:
          type: string
          description: The division code associated with the invoice.
          example: HOM
        customer_number:
          type: string
          description: The customer identifier associated with the invoice.
          example: 1024
        customer_name:
          type: string
          description: The customer name associated with the invoice.
          example: Starblux Ltd
        invoice_date:
          type: string
          description: The invoice date.
          example: '2021-12-31'
        payment_identifier:
          type: string
          description: The identifier of any detected parked/orphan payment associated with the invoice.
        payment_date:
          type: string
          description: The date of any detected parked/orphan payment associated with the invoice.
        orphaned_payment_amount:
          type: string
          description: The amount of any detected parked/orphan payment associated with the invoice.
          example: $11,200.00
        balance_in_arc:
          type: string
          description: The invoice balance.
          example: $11,200.00
        balance_in_source_system:
          type: string
          description: The invoice balance in source/provided.
          example: $11,200.00
        discrepancy_message:
          type: string
          description: Message explaining the discrepancy.
          example: Invoice Not Present in ARC
    InvoiceResponse:
      type: object
      properties:
        number:
          type: string
          description: Invoice number, unique within a supplier.
        display_number:
          type: string
          description: Invoice number as displayed to customers.
        currency:
          type: string
          description: Currency code, based on ISO-4217, in lowercase. E.g. `cad`, `usd`, `aud`
        amount_cents:
          type: integer
          description: The invoice amount in cents.
        subtotal_tax1:
          type: string
          description: Tax amount, in dollars.
        subtotal_tax2:
          type: string
          description: Additional field to carry tax amount, in dollars. For example, when invoice shows state (provincial) and federal taxes.
        customer_identifier:
          type: string
          description: Unique identifier for customer.
        date:
          type: string
          format: date
          description: Invoice date, YYYY-MM-DD, based on ISO-8601.
        order_date:
          type: string
          format: date
          description: Order date, YYYY-MM-DD.
        due_date:
          type: string
          format: date
          description: Invoice due date, YYYY-MM-DD.
        purchase_order_number:
          type: string
          description: Purchase order number.
        notes_text:
          type: string
          description: Optional text field up to 64K.
        shipping_name:
          type: string
          description: 'Shipping address: recipient name'
        shipping_address:
          type: object
          description: Shipping address
          properties:
            address_1:
              type: string
              description: Shipping address, line 1
            address_2:
              type: string
              description: Shipping address, line 2
            city:
              type: string
              description: 'Shipping address: city'
            state:
              type: string
              description: 'Shipping address: state or province. Based on the second part (after hyphen) of codes in ISO 3166-2 standard. E.g. "ON" for Ontario, "CA" for California'
            country:
              type: string
              description: Shipping country code. E.g. "US" for USA.
            country_name:
              type: string
              description: Shipping country name.
            zip:
              type: string
              description: 'Shipping address: zip or postal code'
            line_1:
              type: string
              description: 'Single line combining shipping `address_1` and `address_2`.

                '
            line_2:
              type: string
              description: 'Single line combining shipping `city`, `state` and `zip`.

                '
        line_item_attributes:
          type: array
          description: Details of each line-item for the invoice.
          items:
            $ref: '#/components/schemas/LineItemResponse'
        auto_debit:
          type: boolean
          description: '`true` (invoice is to be auto-paid if customer has pre-authorized payment) or `false` (invoice is to be paid manually by customer)

            '
        division:
          type: string
          description: Division code, applicable when supplier supports divisions.
        auto_pay_reference:
          type: string
          description: Reference number associated to the invoice, used in AutoPay agreements.
        owing_cents:
          type: integer
          description: Balance remaining on this invoice or credit memo.
        status:
          type: string
          description: 'The status of the invoice. Can be one of `DRAFT`, `CURRENT`, `OVERDUE`, `PARTIAL`, `PAID`, `CREDIT` or `CLOSED`.

            '
          enum:
          - DRAFT
          - CURRENT
          - OVERDUE
          - PARTIAL
          - PAID
          - CREDIT
          - CLOSED
        delivery_status:
          type: string
          description: 'The delivery status of the invoice. Statuses in the API map to those in the UI as follows:<br>


            The email delivery statuses in the API reflect the following statuses from UI:


            |API Status|Status in the UI|

            |:--|:--|

            |`new`|"Not Tracked"|

            |`not_sent`|"Available"|

            |`sent`|"Email Sent"|

            |`delivery_unknown`|"Delivery Unknown"|

            |`not_delivered`|"Not Delivered"|

            |`delivered`|"Email Delivered"|

            |`opened`|"Email Opened"|

            |`clicked`|"Viewed"|

            '
          enum:
          - new
          - not_sent
          - sent
          - delivery_unknown
          - not_delivered
          - opened
          - clicked
        ref1:
          type: string
          description: A reference that is meaningful to the customer, e.g. Policy number, contract number, etc.
        ref2:
          type: string
          description: As above.
        ref3:
          type: string
          description: As above.
        adjustments_attributes:
          type: array
          description: Adjustments such as Fuel Surcharge or Discount on the invoice.
          items:
            type: object
            properties:
              label:
                type: string
                description: Label for adjustment amount.
              amount_cents:
                type: integer
                description: Adjustment amount in cents.
              id:
                type: integer
                description: Internal id of the adjustment.
              invoice_id:
                type: integer
                description: Internal id of the invoice.
              recurring_invoice_id:
                type: integer
                description: Internal id of the recurring invoice. Applicable when supplier is configured to create recurring invoices.
        plan_identifier:
          type: string
          description: Payment plan template identifier. Applicable when supplier is configured for payment plans.
        plan_start_date:
          type: string
          format: date
          description: Payment plan start date. Applicable when supplier is configured for payment plans.
        plan_end_date:
          type: string
          format: date
          description: Payment plan end date. Applicable when supplier is configured for payment plans.
        plan_payment_cents:
          type: integer
          description: Payment plan recurring payment amount in cents. Applicable when supplier is configured for payment plan.
        annualized_amount_cents:
          type: integer
          description: The annual invoice amount in cents. Applicable if the supplier is configured for payment plans.
        annualized_effective_date:
          type: string
          format: date
          description: The date that the annualized_amount takes effect. Applicable if the supplier is configured for payment plans.
        annualized_expiry_date:
          type: string
          format: date
          description: The end date of the period for which the annualized_amount is in effect. Applicable if the supplier is configured for payment plans.
        external_id:
          type: string
          description: Optional external identifier for the invoice to be included in payment exports.
        extended_attributes:
          type: object
          description: Additional non-standard attribute stored with the invoice record for presentment rendering.
          properties:
            key:
              type: string
              description: Key-value pair of the extended attribute on the invoice.
        summary_invoice_parent:
          type: string
          description: Flag that indicates if the invoice is a summary invoice. Default is 0 (invoice is not a summary invoice).
        summary_invoice_number:
          type: string
          description: If the invoice in the row is a child of a summary invoice, that summary invoice's identifier appears here.
        service_rep_email:
          type: string
          description: One or more supplier user email addresses (semi-colon delimited) that will be used for notification routing eg when in dispute each specified rep is notified only.
        pay_url:
          type: string
          description: The URL to the anonymous click-to-pay page.  This value is provided only for open invoices in an owing position.
        pay_urls:
          type: object
          description: Context sensitive URLs to click-to-pay page, keyed by recipient email addresses. These values are only provided for open invoices in an owing position.
          properties:
            key:
              type: string
              description: Key-value pair of the context sensitive click-to-pay URLs.
        deleted:
          type: boolean
          description: Indicates if the invoice has been deleted, this is optional and only present based on request parameter.
      example:
        number: sh763-h3454-dh3432
        display_number: INV1234
        customer_identifier: CUS001
        amount_cents: 40000
        owing_cents: 30000
        subtotal_tax1: $0.00
        subtotal_tax2: $0.00
        currency: usd
        date: '2017-11-01'
        due_date: '2017-12-15'
        order_date: null
        purchase_order_number: PO-3847
        notes_text: Thank you for your business
        shipping_name: Acme Inc.
        shipping_address:
          address_1: 1 Main Street
          address_2: Suite 600
          city: New York
          state: NY
          zip: '90210'
          country: US
          country_name: United States
          line_1: 1 Main Street, Suite 600
          line_2: New York, NY 90210
        line_item_attributes:
        - number: '001'
          description: Modems
          amount_cents: 40000
          balance_cents: 40000
          quantity: 40
          unit_cost_cents: 1000
          id: 6935660
          identifier: acme|sh763-h3454-dh3432|001
          invoice_id: 4344538
          order_key: null
          purchase_order_number: null
          recurring_invoice_id: null
          extended_attributes:
            item_number: A3947C9878
        auto_debit: true
        division: '770'
        auto_pay_reference: null
        ref1: null
        ref2: null
        ref3: null
        adjustments_attributes:
        - label: Surcharge
          amount_cents: 2000
          id: 2212
          invoice_id: 4344538
          recurring_invoice_id: null
        plan_identifier: null
        plan_start_date: null
        plan_end_date: null
        plan_payment_cents: null
        annualized_amount_cents: null
        annualized_effective_date: null
        annualized_expiry_date: null
        external_id: null
        status: CURRENT
        delivery_status: not_sent
        extended_attributes:
          lease_type: LS
          currency_mode: D
        summary_invoice_parent: 0
        summary_invoice_number: null
        service_rep_email: john.doe@supplier.com;jane.doe@supplier.com
        pay_url: https://secure.versapay.com/pay/a25f5d86-552a-4868-907e-e3a5932cff36
        pay_urls:
          CUS001@example.com: https://secure.versapay.com/pay/198e7073-53d0-435a-baff-87ce390581c5G
        payments:
        - payment_reference: 959YTHNMESPV
          invoice_number: 1
          date: '2022-10-26'
          amount: 870
          plan_fee: 0
          payment_amount: 870
          payment_transaction_amount: 870
          payment_transaction_token: 9559NENM23SK
          payment_method: (0013)
          payment_from_bank_account: true
          payment_from_credit_card: false
          payment_institution_name: null
          payment_credit_card_brand: null
          short_pay_indicator: Y
          payment_note: null
          auto_debit_indicator: N
          invoice_balance: 5030
          payment_timestamp: '2022-10-26T12:40:36-04:00'
          invoice_division: CTL
          invoice_division_number: null
          invoice_division_name: Central
          pay_to_bank_account: 100007
          pay_to_bank_account_name: (0007)
          settlement_token: BA7G777DNABC
          customer_identifier: C10
          customer_name: Customer 10 Williamson
          status: PAID
          payment_source: ARC
          payment_code: null
          payment_description: null
          gateway_authorization_code: TM37E6
          purchase_order_number: null
          ref1: null
          ref2: null
          ref3: null
          short_pay_reason_identifier: null
          short_pay_reason: null
          dispute_reason_identifier: null
          dispute_reason: null
          invoice_amount_paid: 870
          invoice_amount: 5900
          invoice_identifier: global|1
          invoice_date: '2022-10-26'
          invoice_external_id: null
          invoice_currency: usd
          invoice_purchase_order_number: new_line_item_short_pay_invoice_1
          invoice_ref1: null
          invoice_ref2: null
          invoice_ref3: null
          cumulative_customer_amount: 870
          checkout_token: 6JQSRWISTPA4
          status_reason: null
          payment_transaction_fee: 0
          settlement_date: null
          customer_address: null
          payor_name: null
          payor_phone: null
          payor_email: multi@example.com
          cardholder_name: null
          fund_token: BA1WYKRYHLLS
          card_expiry_year: null
          card_expiry_month: null
          order_identifier: null
          order_number: null
          order_do

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/versapay/refs/heads/main/openapi/versapay-file-imports-api-openapi.yml