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

# Verify VPA

> The Virtual Payment Address or VPA is a unique ID given to an individual using the Unified Payment Interface (UPI) service to send or receive money. In the case of UPI collect VPA is the mandatory param and merchants are always advised to check if the VPA is valid or not.
Validating the VPA will help in reducing the failure rate due to incorrect vpa. 



## OpenAPI

````yaml https://openapi.commercengine.io/ce-pos.json get /pos/payments/verify-vpa
openapi: 3.1.0
info:
  title: CE POS APIs
  description: >-
    The consolidated Point of Sale surface. Every operation is served under the
    storefront base URL; operations tagged POSAdmin are proxied to the admin
    service by the POS backend.
  version: '1.0'
servers:
  - url: https://staging.api.commercengine.io/api/v1/{store_id}/storefront
    description: Staging Server
    variables:
      store_id:
        description: Store ID
        default: store_id
    x-speakeasy-server-id: staging
  - url: https://prod.api.commercengine.io/api/v1/{store_id}/storefront
    description: Prod Server
    variables:
      store_id:
        description: Store ID
        default: store_id
    x-speakeasy-server-id: prod
security:
  - Authorization: []
tags:
  - name: POS
    description: Operations backed by the storefront service
  - name: POSAdmin
    description: Operations proxied to the admin service
paths:
  /pos/payments/verify-vpa:
    get:
      tags:
        - POS
      summary: Verify VPA
      description: >-
        The Virtual Payment Address or VPA is a unique ID given to an individual
        using the Unified Payment Interface (UPI) service to send or receive
        money. In the case of UPI collect VPA is the mandatory param and
        merchants are always advised to check if the VPA is valid or not.

        Validating the VPA will help in reducing the failure rate due to
        incorrect vpa. 
      operationId: pos-verify-vpa
      parameters:
        - name: vpa
          in: query
          description: >-
            The Virtual Payment Address or VPA is a unique ID given to an
            individual using the Unified Payment Interface (UPI) service.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  success:
                    type: boolean
                  content:
                    properties:
                      vpa:
                        type: string
                      status:
                        type: string
                        enum:
                          - valid
                          - invalid
                          - unknown
                      customer_name:
                        type: string
                      mandate_details:
                        description: Mandate details if available.
                        type: object
                        properties:
                          is_handle_supported:
                            description: >-
                              Indicates whether the specific VPA handle is
                              supported by the merchant's account.
                            type: boolean
                    required:
                      - vpa
                      - status
                      - customer_name
                      - mandate_details
                    type: object
          links:
            CreateOrderWithUpiCollect:
              operationId: create-order
              description: >-
                Create an order using UPI Collect. Use the validated `vpa` as
                `upi_vpa` in a `JuspayUpiCollect` payment method payload.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - Authorization: []
components:
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            type: object
            required:
              - message
              - success
              - code
            properties:
              message:
                type: string
                x-speakeasy-error-message: true
              success:
                type: boolean
              code:
                type: string
              errors:
                type: object
    Unauthorized:
      description: Not authorized for given operation on the Resource
      content:
        application/json:
          schema:
            type: object
            required:
              - message
              - success
              - code
            properties:
              message:
                type: string
                examples:
                  - Not authorized for given operation on the Resource.
                x-speakeasy-error-message: true
              success:
                type: boolean
                default: false
              code:
                type: string
                examples:
                  - unauthorized
    NotFound:
      description: Requested resource not found
      content:
        application/json:
          schema:
            type: object
            required:
              - message
              - success
              - code
            properties:
              message:
                type: string
                x-speakeasy-error-message: true
              success:
                type: boolean
              code:
                type: string
  securitySchemes:
    Authorization:
      type: http
      description: Access token
      scheme: bearer

````