> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-881012b3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Resolve UPI Number

> Resolve a UPI number to its VPA, customer name, and merchant information.

<div style={{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0.35rem 0.9rem",border:"1px solid rgba(128,128,128,0.28)",borderRadius:"0.5rem",padding:"0.45rem 0.75rem",margin:"0 0 1.25rem",fontSize:"0.875rem"}}>
  <span style={{fontWeight:600}}>Available in</span>
  <span>🇮🇳 India</span>
</div>

Use this endpoint to resolve a UPI number into VPA, name, IFSC, and business information.

<RequestExample>
  ```bash Curl theme={null}
  -X POST 'https://api.rzp.<bank>.com/v1/upi/tpap/upi_number/resolve' \
  -u [YOUR_KEY_ID]:[YOUR_SECRET] \
  -H "Content-Type: application/json" \
  -H "x-device-fingerprint: <device_fingerprint>" \
  -H "x-device-fingerprint-timestamp: 1496918882000" \
  -H "x-customer-reference: cust_ref" \
  -d '{
    "upi_number": "9898989898",
    "device": {
      "geocode": "12.34,77.13",
      "ip": "198.1.1.1"
    }
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "entity": "upi_number",
    "number": "9898989898",
    "upi_transaction_id": "TXNxmms",
    "vpa": "gaurav.kumar@rzpa",
    "fundsource": {
      "customer_name": "kunal1",
      "ifsc": "SBI00001",
      "upi_iin": ""
    },
    "is_merchant_vpa": true,
    "is_merchant_verified": true,
    "mcc": "6765",
    "merchant": {
      "identifier": {
        "subcode": "string",
        "mid": "string",
        "sid": "string",
        "tid": "string",
        "merchant_type": "string",
        "merchant_genre": "string",
        "onboarding_type": "string"
      },
      "name": {
        "brand": "Brand Name",
        "legal": "Legal Name",
        "franchise": "Franchise Name"
      },
      "ownership": {
        "type": "Private"
      }
    },
    "feature_tags": [
      "mandate",
      "credit"
    ]
  }
  ```

  ```json Failure theme={null}
  {
    "error": {
      "code": "BAD_REQUEST_ERROR",
      "description": "Device Ip is mandatory",
      "source": "internal",
      "reason": "Device Ip is required",
      "field": "ip"
    }
  }
  ```
</ResponseExample>

## Request Parameters

<ParamField body="upi_number" type="string" required>
  The UPI number to check for availability (mobile or numeric id).
</ParamField>

<ParamField body="device" type="object" required>
  The device details.
</ParamField>

<ParamField body="geocode" type="string">
  The location coordinates of the device.
</ParamField>

<ParamField body="ip" type="string">
  The IP address of the device.
</ParamField>

## Response Parameters

<ResponseField name="entity" type="string">
  Collection of entity. Here it is `upi_number`.
</ResponseField>

<ResponseField name="number" type="string">
  The UPI number.
</ResponseField>

<ResponseField name="upi_transaction_id" type="string">
  Unique transaction id created by the originator.
</ResponseField>

<ResponseField name="vpa" type="string">
  VPA linked to the UPI number.
</ResponseField>

<ResponseField name="fundsource" type="string">
  The fundsource details.
</ResponseField>

<ResponseField name="customer_name" type="string">
  Name of the customer.
</ResponseField>

<ResponseField name="ifsc" type="string">
  IFSC code of the account linked to the VPA.
</ResponseField>

<ResponseField name="upi_iin" type="string">
  The UPI Issuer Identification Numbers (IIN) of the payment source provider issued by NPCI.
</ResponseField>

<ResponseField name="is_merchant_vpa" type="boolean">
  Indicates if the VPA is a business VPA.

  * `true`: VPA is a business VPA.
  * `false`: VPA is not a business VPA.
</ResponseField>

<ResponseField name="is_merchant_verified" type="boolean">
  Indicates if the merchant is verified.

  * `true`: Merchant is verified.
  * `false`: Merchant is not verified.
</ResponseField>

<ResponseField name="mcc" type="string">
  Merchant Category Code.
</ResponseField>

<ResponseField name="merchant" type="object">
  Merchant details.
</ResponseField>

<ResponseField name="identifier" type="string">
  Unique merchant identifiers.
</ResponseField>

<ResponseField name="mid" type="string">
  Merchant id.
</ResponseField>

<ResponseField name="sid" type="string">
  Sub-merchant id.
</ResponseField>

<ResponseField name="tid" type="string">
  Terminal id.
</ResponseField>

<ResponseField name="merchant_type" type="string">
  Type of merchant.
</ResponseField>

<ResponseField name="merchant_genre" type="string">
  Business vertical or segment.
</ResponseField>

<ResponseField name="onboarding_type" type="string">
  How the merchant was onboarded.
</ResponseField>

<ResponseField name="name" type="object">
  Merchant's business and legal names.
</ResponseField>

<ResponseField name="brand" type="string">
  Merchant's brand name.
</ResponseField>

<ResponseField name="legal" type="string">
  Merchant's legal registered name.
</ResponseField>

<ResponseField name="franchise" type="string">
  Franchise name if applicable.
</ResponseField>

<ResponseField name="ownership" type="object">
  Merchant ownership details.
</ResponseField>

<ResponseField name="type" type="string">
  Type of ownership.
</ResponseField>

<ResponseField name="feature" type="array">
  List of special features tagged with this VPA.
</ResponseField>
