Skip to main content
POST
/
api
/
v1
/
upi-by-mobile
UPI by Mobile
curl --request POST \
  --url https://api.example.com/api/v1/upi-by-mobile \
  --header 'Content-Type: application/json' \
  --data '
{
  "mobile": "<string>",
  "async": true
}
'

UPI by Mobile

Retrieve and validate all UPI IDs (VPAs) linked to a mobile number without OTP verification.

Overview

This endpoint helps businesses:
  • Verify if a UPI handle is active
  • Check if the handle is linked to the correct user
  • Retrieve all VPAs associated with a mobile number
  • Prevent fraud by validating payment addresses

Request

mobile
string
required
Mobile number in Indian international format (+91XXXXXXXXXX)
async
boolean
default:"true"
If true (default), request is queued and result delivered via webhook. If false, wait for result synchronously (up to 30 seconds).

Headers

HeaderValueRequired
X-API-KeyYour API keyYes
Content-Typeapplication/jsonYes

Example Request (Async Mode - Default)

curl -X POST "https://api.txncheck.in/api/v1/upi-by-mobile" \
  -H "X-API-Key: fb_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "mobile": "+919876543210"
  }'

Example Request (Sync Mode)

curl -X POST "https://api.txncheck.in/api/v1/upi-by-mobile" \
  -H "X-API-Key: fb_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "mobile": "+919876543210",
    "async": false
  }'

Response

202 Accepted

Request accepted and queued for processing. Results will be delivered via webhook.
{
  "statusCode": 202,
  "message": "Request accepted and queued for processing",
  "requestId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "QUEUED"
}

Result Data (via webhook or polling)

When the request completes, you’ll receive a webhook or can poll the status endpoint:
{
  "requestId": "550e8400-e29b-41d4-a716-446655440000",
  "method": "upi-by-mobile",
  "status": "COMPLETED",
  "result": {
    "name": "JOHN DOE",
    "upi": [
      "johndoe@upi",
      "9876543210@paytm",
      "9876543210@ybl"
    ],
    "status": "1"
  },
  "webhookStatus": "SENT",
  "createdAt": "2025-01-11T10:30:00.000Z",
  "completedAt": "2025-01-11T10:30:05.000Z"
}

Result Fields

FieldTypeDescription
namestringName associated with the mobile number
upistring[]Array of UPI VPAs linked to the mobile number
statusstring"1" if data found, "0" if not found

Error Responses

400 Bad Request

Invalid mobile number format.
{
  "statusCode": 400,
  "message": ["Mobile must be in format +91XXXXXXXXXX (Indian number)"],
  "error": "Bad Request"
}

401 Unauthorized

Invalid or missing API key.
{
  "statusCode": 401,
  "message": "Invalid API key",
  "error": "Unauthorized"
}

402 Payment Required

Insufficient account balance.
{
  "statusCode": 402,
  "message": "Insufficient wallet balance",
  "error": "Payment Required"
}

403 Forbidden

Method not enabled for your account.
{
  "statusCode": 403,
  "message": "Access to method 'upi-by-mobile' is not allowed",
  "error": "Forbidden"
}

408 Request Timeout (Sync Mode Only)

Request processing timed out. Only occurs with async: false.
{
  "statusCode": 408,
  "message": "Request processing timed out after 30 seconds. Use async mode or check status later with request ID: 550e8400-e29b-41d4-a716-446655440000",
  "error": "Request Timeout"
}

429 Too Many Requests

Rate limit exceeded.
{
  "statusCode": 429,
  "message": "Too Many Requests",
  "error": "Too Many Requests"
}

Use Cases

Verify customer identity by checking their UPI addresses during account creation.
Confirm that a provided UPI address belongs to the expected customer before processing payments.
Cross-reference UPI addresses with customer information to detect potential fraud.