System Online

UPI Payment
Verification API

Generate FamPay UPI QR codes and verify payments in real-time with simple direct URL endpoints. No complex headers needed.

4
Endpoints
15m
QR Expiry
2
Auth Layers
GET
Simple URLs

How It Works

Simple 4-step flow to integrate payment verification

1

Get API Key

Create a Master API Key from admin panel or via create-key endpoint.

2

Connect Gmail

Login with Gmail + App Password to get a Gmail Key for email verification.

3

Generate QR

Create a UPI QR code with FamPay UPI ID and amount. Get Order ID.

4

Verify Payment

Check payment status by Order ID. Auto-scans Gmail for confirmation.

API Endpoints

All endpoints accept both GET (URL parameters) and POST (JSON body) requests

GET/POST/create-key.phpCreate Master API Key

Creates a new Master API Key. Requires admin password. This key is needed for all other API calls.

Direct URL
https://kankan-in.myvipsite.fun/create-key.php?admin_password=YOUR_PASS&key_name=MyApp
ParameterTypeRequiredDescription
admin_passwordstringRequiredAdmin password
key_namestringRequiredName for the API key
Success Response
{
    "success": true,
    "message": "Master API Key created",
    "data": {
        "api_key": "Ab3xKm",
        "key_name": "MyApp",
        "status": "active"
    }
}
GET/POST/qr.phpGenerate UPI QR Code

Generates a FamPay UPI payment QR code with specified UPI ID and amount. QR expires in 15 minutes.

Direct URL
https://kankan-in.myvipsite.fun/qr.php?upi=kankan1@fam&amount=100&api_key=Ab3xKm
ParameterTypeRequiredDescription
api_keystringRequiredMaster API Key
upistringRequiredFamPay UPI ID (e.g. kankan1@fam)
amountnumberRequiredAmount in INR (1 to 100000)
Success Response
{
    "success": true,
    "data": {
        "order_id": "FAM20250105ABCD1234",
        "upi_id": "kankan1@fam",
        "amount": 100,
        "status": "pending",
        "qr_code": {
            "image_url": "https://api.qrserver.com/...",
            "base64": "data:image/png;base64,...",
            "upi_deeplink": "upi://pay?pa=kankan1@fam..."
        },
        "expires_in_minutes": 15,
        "expires_at": "2025-01-05 12:15:00",
        "verify_url": "https://kankan-in.myvipsite.fun/verify.php?order_id=FAM...&api_key=Ab3xKm&gmail_key=YOUR_KEY"
    }
}
GET/POST/login.phpGmail Login / Get Gmail Key

Login with Gmail and Google App Password via IMAP. Returns a Gmail Key needed for payment verification.

Direct URL
https://kankan-in.myvipsite.fun/login.php?gmail=your@gmail.com&app_password=abcdefghijklmnop&api_key=Ab3xKm
ParameterTypeRequiredDescription
api_keystringRequiredMaster API Key
gmailstringRequiredGmail address
app_passwordstringRequiredGoogle App Password (16 chars)
Success Response
{
    "success": true,
    "message": "Gmail login successful",
    "data": {
        "gmail_key": "Xt7pQw",
        "gmail": "your@gmail.com",
        "status": "active"
    }
}
GET/POST/verify.phpVerify Payment Status

Check if a UPI payment has been received. Scans Gmail for FamPay payment notification emails. Returns payment details including UTR, payer info, and amount.

Direct URL
https://kankan-in.myvipsite.fun/verify.php?order_id=FAM20250105ABCD&api_key=Ab3xKm&gmail_key=Xt7pQw
ParameterTypeRequiredDescription
api_keystringRequiredMaster API Key
gmail_keystringRequiredGmail Key from login
order_idstringRequiredOrder ID from QR generation
Payment Found
{
    "success": true,
    "message": "Payment verified successfully!",
    "data": {
        "order_id": "FAM20250105ABCD1234",
        "status": "SUCCESS",
        "payment_found": true,
        "amount": 100.00,
        "payment_details": {
            "utr": "ABC123456789",
            "payer_name": "John Doe",
            "payer_upi": "john@ybl",
            "payment_date": "2025-01-05 12:05:00",
            "verified_at": "2025-01-05 12:06:30"
        }
    }
}
Payment Pending
{
    "success": true,
    "data": {
        "order_id": "FAM20250105ABCD1234",
        "status": "PENDING",
        "payment_found": false,
        "time_remaining": "12:30",
        "time_remaining_seconds": 750,
        "retry_after_seconds": 30
    }
}
Order Expired
{
    "success": true,
    "data": {
        "order_id": "FAM20250105ABCD1234",
        "status": "EXPIRED",
        "payment_found": false,
        "expired_at": "2025-01-05 12:15:00"
    }
}

Error Codes

CodeStatusDescription
400Bad RequestMissing or invalid parameters
401UnauthorizedInvalid or inactive API key
403ForbiddenWrong admin password
404Not FoundOrder ID not found
500Server ErrorInternal server error
503UnavailableGmail IMAP connection failed

Important Notes

15 Min Expiry: QR codes expire after 15 minutes. Generate a new one if expired.

Retry Logic: Payment emails take 1-3 minutes. Retry verification every 30 seconds.

App Password: Use Google App Password (16 chars), not your regular Gmail password.

IMAP Access: Enable IMAP in Gmail Settings > Forwarding and POP/IMAP.

Notifications: FamPay payment alerts must arrive on the connected Gmail.

Simple URLs: All endpoints work with GET parameters. No headers required.