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

# Simulate VBA Transfer

> Simulate a payment into a Virtual Bank Account in the sandbox environment. The UTR must be unique across simulations.



## OpenAPI

````yaml POST /pg/vba/simulate-transfer/
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/simulate-transfer/:
    post:
      tags:
        - Virtual Bank Accounts
      summary: Simulate VBA Transfer
      description: >-
        Simulate a payment to a Virtual Bank Account in the sandbox environment.
        The `utr` value must be unique across simulations.
      operationId: v2_post_pg_vba_simulate_transfer_
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - virtual_account_id
                - vba_simulation
              properties:
                virtual_account_id:
                  type: string
                  description: Virtual account ID of the VBA to simulate a transfer into.
                  example: '94374816'
                vba_simulation:
                  type: object
                  required:
                    - amount
                    - utr
                    - remitter_name
                    - remitter_account
                    - remitter_ifsc
                    - vba_ifsc
                  properties:
                    amount:
                      type: number
                      description: Amount to credit to the VBA.
                      example: 1500
                    utr:
                      type: string
                      description: >-
                        Unique UTR (Unique Transaction Reference) for the
                        simulated transfer. Must be unique across simulations.
                      example: TESTUTRA136UG
                    remitter_name:
                      type: string
                      description: Name of the remitter (sender).
                      example: John
                    phone:
                      type: string
                      description: Phone number of the remitter.
                      example: '9876543210'
                    remitter_account:
                      type: string
                      description: Bank account number of the remitter.
                      example: '123456789012'
                    remitter_ifsc:
                      type: string
                      description: IFSC code of the remitter's bank.
                      example: YESB0CMSNOC
                    vba_ifsc:
                      type: string
                      description: IFSC code of the destination VBA.
                      example: UTIB0CCH274
            example:
              virtual_account_id: '94374816'
              vba_simulation:
                amount: 1500
                utr: TESTUTRA136UG
                remitter_name: John
                phone: '9876543210'
                remitter_account: '123456789012'
                remitter_ifsc: YESB0CMSNOC
                vba_ifsc: UTIB0CCH274
      responses:
        '200':
          description: VBA transfer simulation successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: VBA transfer simulation successful
                  data:
                    type: object
                    properties:
                      simulation_id:
                        type: string
                        example: sim_109690183D6zXpEmefYBXNIkzaDBovgM7jW
                      entity:
                        type: string
                        example: VBA_TRANSFER
                      entity_id:
                        type: string
                        example: '9461257494374816'
                      entity_simulation:
                        type: object
                        properties:
                          payment_status:
                            type: string
                            example: Payment processed successfully
                          payment_error_code:
                            type: string
                            example: ''
              example:
                success: true
                message: VBA transfer simulation successful
                data:
                  simulation_id: sim_109690183D6zXpEmefYBXNIkzaDBovgM7jW
                  entity: VBA_TRANSFER
                  entity_id: '9461257494374816'
                  entity_simulation:
                    payment_status: Payment processed successfully
                    payment_error_code: ''
        '400':
          description: >-
            Invalid request — missing required fields, duplicate UTR, or virtual
            account not found
          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 or endpoint not available in production
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '500':
          description: Unexpected error while simulating the transfer
          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

````