> ## 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.

# Get VBA Payment by UTR

> Fetch a single payment for a VBA by UTR



## OpenAPI

````yaml GET /pg/vba/{virtual_account_id}/payment-by-utr/
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}/payment-by-utr/:
    get:
      tags:
        - Virtual Bank Accounts
      summary: Get VBA Payment by UTR
      description: Fetch a single payment for a VBA by UTR.
      operationId: v2_get_pg_vba_virtual_account_id_payment_by_utr_
      parameters:
        - name: virtual_account_id
          in: path
          description: Virtual account ID of the VBA.
          required: true
          schema:
            type: string
        - name: utr
          in: query
          description: UTR of the payment.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: VBA payment retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: VBA payment retrieved successfully
                  data:
                    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 payment retrieved successfully
                data:
                  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: utr missing or virtual_account_id missing
          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 or payment not found for given UTR
            and VBA
          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

````