> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eximpe.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List VBA Payments

> Get a paginated list of payments collected on a Virtual Bank Account



## OpenAPI

````yaml GET /pg/vba/{virtual_account_id}/payments/
openapi: 3.0.0
info:
  title: Eximpe Payment Gateway API
  description: >-
    API for payment processing and order management through Eximpe payment
    gateway. This specification includes v1, v2, and v3 API versions.
  license:
    name: Proprietary
  version: 2.0.0
servers:
  - url: https://api-pacb-uat.eximpe.com
    description: Payment Gateway Sandbox URL
security:
  - clientAuth: []
    clientSecretAuth: []
    apiVersionHeader: []
tags:
  - name: Card Tokens
  - name: Merchants
  - name: Orders
  - name: Payment Links
  - name: Payments
  - name: Refunds
  - name: Settlements
  - name: Subscriptions
paths:
  /pg/vba/{virtual_account_id}/payments/:
    get:
      tags:
        - Virtual Bank Accounts
      summary: List VBA Payments
      description: >-
        Get a paginated list of payments collected on a Virtual Bank Account for
        the authenticated merchant, sorted by `created_at` descending. Supports
        incremental sync via time-window filters (`created_at_*` /
        `updated_at_*`) and a cursor (`since_id` — payment_id of the last record
        already synced).
      operationId: v2_get_pg_vba_virtual_account_id_payments_
      parameters:
        - name: virtual_account_id
          in: path
          description: Virtual account ID of the VBA.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: Page number for pagination.
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: page_size
          in: query
          description: Number of items per page. Default is 250, maximum is 1000.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 250
        - name: created_at_start
          in: query
          description: >-
            Include payments with `created_at >= value`. ISO 8601 datetime, e.g.
            `2026-05-12T00:00:00Z`.
          required: false
          schema:
            type: string
            format: date-time
        - name: created_at_end
          in: query
          description: Include payments with `created_at <= value`. ISO 8601 datetime.
          required: false
          schema:
            type: string
            format: date-time
        - name: updated_at_start
          in: query
          description: Include payments with `last_updated_at >= value`. ISO 8601 datetime.
          required: false
          schema:
            type: string
            format: date-time
        - name: updated_at_end
          in: query
          description: Include payments with `last_updated_at <= value`. ISO 8601 datetime.
          required: false
          schema:
            type: string
            format: date-time
        - name: since_id
          in: query
          description: >-
            Cursor: `payment_id` of the last record already synced. Only
            payments created strictly after that one are returned. If `since_id`
            doesn't match a payment under this VBA, the API returns `400`.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: VBA payments retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: VBA payments retrieved successfully
                  data:
                    type: object
                    properties:
                      count:
                        type: integer
                        example: 42
                      page:
                        type: integer
                        example: 1
                      page_size:
                        type: integer
                        example: 10
                      next:
                        type: string
                        format: uri
                        nullable: true
                        example: >-
                          https://api.example.com/pg/vba/a1b2c3d4/payments/?page=2&page_size=10
                      previous:
                        type: string
                        format: uri
                        nullable: true
                        example: null
                      results:
                        type: array
                        items:
                          type: object
                          properties:
                            payment_id:
                              type: string
                              description: >-
                                EximPe payment identifier (UID). Stable, use as
                                primary key.
                              example: pmt_01HXYZABCDEF
                            order_id:
                              type: string
                              description: EximPe order UID this payment belongs to.
                              example: ord_01HXYZABCDEF
                            status:
                              type: string
                              enum:
                                - PENDING
                                - CAPTURED
                                - FAILED
                                - INVALID
                              description: >-
                                Effective payment status. `PENDING` — created,
                                awaiting completion. `CAPTURED` — money
                                received. `FAILED` — failed or expired past
                                `expiry_date`. `INVALID` — marked invalid by the
                                gateway.
                              example: CAPTURED
                            amount:
                              type: number
                              nullable: true
                              description: >-
                                Order amount in major units (INR). May be `null`
                                if the order is missing.
                              example: 12500
                            payment_utr:
                              type: string
                              description: >-
                                Bank UTR / transaction reference. Empty string
                                if not yet known.
                              example: SBIN0123456789
                            buyer_account_number:
                              type: string
                              nullable: true
                              description: >-
                                Remitter (buyer) bank account number captured
                                from the Cashfree VBA success webhook. `null`
                                when not provided by the bank.
                              example: '1234567890'
                            buyer_ifsc:
                              type: string
                              nullable: true
                              description: >-
                                Remitter (buyer) bank IFSC code captured from
                                the same webhook. `null` when not provided.
                              example: SBIN0001234
                            created_at:
                              type: string
                              format: date-time
                              description: >-
                                Payment creation timestamp (UTC). Format:
                                `YYYY-MM-DDTHH:MM:SS.ffffffZ`.
                              example: '2026-05-15T18:30:00.000000Z'
              example:
                success: true
                message: VBA payments retrieved successfully
                data:
                  count: 138
                  page: 1
                  page_size: 250
                  next: https://api.example.com/pg/vba/a1b2c3d4/payments/?page=2
                  previous: null
                  results:
                    - payment_id: pmt_01HXYZABCDEF
                      order_id: ord_01HXYZABCDEF
                      status: CAPTURED
                      amount: 12500
                      payment_utr: SBIN0123456789
                      buyer_account_number: '1234567890'
                      buyer_ifsc: SBIN0001234
                      created_at: '2026-05-15T18:30:00.000000Z'
        '400':
          description: >-
            Validation error. Examples: `created_at_start` / `created_at_end` /
            `updated_at_start` / `updated_at_end` not a valid ISO 8601 datetime,
            `since_id` does not match any payment for this VBA, invalid
            pagination, or `virtual_account_id` missing in path.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '401':
          description: Merchant account not identified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '403':
          description: VBA feature not enabled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '404':
          description: VBA not found for this merchant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
      security:
        - clientAuth: []
          clientSecretAuth: []
          merchantAuth: []
          apiVersionHeader: []
components:
  schemas:
    v1_ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          enum:
            - false
          description: >-
            Indicates if the request was successful. Always false for error
            responses.
        error:
          $ref: '#/components/schemas/v1_ErrorDetails'
    v1_ErrorDetails:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Error code (e.g., ERR_ORDER_002)
        message:
          type: string
          description: Error message
        details:
          type: object
          description: Detailed validation error information with field-specific errors
          additionalProperties:
            type: string
            description: Error message for the specific field
  securitySchemes:
    clientAuth:
      type: apiKey
      name: X-Client-ID
      in: header
      description: >-
        **Client Application ID** - Your unique application identifier used to
        authenticate API requests. You can find your Client ID in the Developer
        Settings section of the merchant dashboard.
      x-displayName: Client ID
      x-example: your-client-id
    clientSecretAuth:
      type: apiKey
      name: X-Client-Secret
      in: header
      description: >-
        **Client Secret Key** - Your secret key used alongside the Client ID for
        secure authentication. Keep this confidential and never expose it in
        client-side code. Available in the Developer Settings section of the
        merchant dashboard.
      x-displayName: Client Secret
      x-example: your-client-secret
    apiVersionHeader:
      type: apiKey
      name: X-API-Version
      in: header
      description: >-
        **API Version** - Specifies which version of the API to use (e.g.,
        '1.X.X', '2.X.X', or '3.X.X'). This header allows you to control which
        API version your integration uses. Default version information is
        available in the Developer Settings.
      x-displayName: API Version
      x-example: 3.0.0
    merchantAuth:
      type: apiKey
      name: X-Merchant-ID
      in: header
      description: >-
        **Merchant Identifier** - The unique ID for the merchant account. This
        is required for PSP (Payment Service Provider) merchants who manage
        multiple merchant accounts. You can find merchant IDs in the Merchant
        Management section of the dashboard.
      x-displayName: Merchant ID
      x-example: your-merchant-id

````