INEXOPAY

INEXOPAY API Documentation

Complete integration guide for balance checking, NSDL bank services, PAN applications, and Aadhaar verification.

Introduction

Welcome to the INEXOPAY API documentation. Our APIs provide seamless integration for banking services, PAN applications, and Aadhaar verification.

Quick Start

  1. Get your api_key and username from the dashboard
  2. Use the API Tester below each endpoint to test live requests
  3. All APIs use Body Authentication (api_key, username in request body)

Authentication

All API requests require authentication. Pass api_key and username in the request body.

Body Authentication (All APIs)

Pass your API credentials in the request body for all API endpoints.

ParameterTypeRequiredDescription
api_keystringYesYour API key from dashboard
usernamestringYesYour registered username

Error Codes

Common error codes returned by the API.

CodeStatusDescription
200SuccessRequest processed successfully
400Bad RequestMissing or invalid request parameters
401UnauthorizedInvalid API key or username
402Payment RequiredInsufficient balance
403ForbiddenIP not whitelisted, account not approved, or subscription expired
405Method Not AllowedWrong HTTP method (e.g., GET instead of POST)
500Server ErrorInternal server error

Account & Status APIs

API Status Check

Check API Status & Balance

POST Body Auth Check your API status, balance, and plan details
http://panel.inexopay.in/api/check_status.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesRegistered username
{
  "status_code": 200,
  "status": "SUCCESS",
  "message": "API Status Retrieved",
  "data": {
    "owner_name": "Your Name",
    "api_balance": 1250.50,
    "api_status": "ACTIVE",
    "plan_name": "Premium Plan",
    "bind_ip": "103.XX.XX.XX",
    "your_ip": "103.XX.XX.XX",
    "ip_status": "MATCHED"
  }
}

Server Status

Check Server Health

GET No Auth Required Get server health, uptime, CPU, RAM, and disk info
http://panel.inexopay.in/api/server_status.php
{
  "status": "success",
  "timestamp": "2025-01-15 10:30:00",
  "server_os": "Linux",
  "stats": {
    "uptime": "up 45 days",
    "cpu_load": "1.25",
    "ram_usage": "8.2 GB / 18 GB (45%)",
    "disk_usage": "245 GB / 395 GB (62%)",
    "health": "Excellent",
    "response_speed": "45ms"
  },
  "status_label": "Online"
}

Balance Check

Check Your Account Balance

POST Body Auth Get your current service balance
http://panel.inexopay.in/api/balance.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesRegistered username
{
  "status": "SUCCESS",
  "error_code": 200,
  "message": "Balance fetched successfully",
  "balance": 1250.50,
  "username": "jojo"
}

NSDL Bank APIs

Note: All NSDL Bank APIs use Body Authentication. Pass api_key and username in the request body along with other parameters. bcagentid is auto-generated from your brand name (no need to pass it).

Agent Onboarding

Onboard New NSDL Bank Agent

POST Body Auth Register a new NSDL payment bank agent. bcagentid is auto-generated.
http://panel.inexopay.in/api/nsdl-bank/v1/onboarding.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesYour username
orderidstringYesYour unique order ID
shop_namestringYesAgent's shop name
namestringYesAgent's full name
emailstringYesAgent's email address
mobilestringYesAgent's mobile number
date_of_birthstringYesDate of birth (YYYY-MM-DD)
addressstringYesFull address
state_namestringYesState name
city_namestringYesCity name
pincodestringYesArea pincode
pancardstringYesAgent's PAN number
ℹ️ Auto-Generated: bcagentid is automatically generated from your brand (e.g., INEXO0001, INEXO0002) and sent to the provider API. You don't need to pass it.
{
  "status_code": 200,
  "status": true,
  "message": "Agent verified successfully..!! Now you can create your agent account.",
  "bcagentid": "INEXO0001",
  "agent_id": "NSDLP7",
  "api_txn_id": "NSDLP7",
  "provider_response": {
    "status": true,
    "message": "Agent verified successfully..!! Now you can create your agent account."
  }
}

// Failure Response (bcagentid not shown)
{
  "status_code": 400,
  "status": false,
  "message": "Agent not verified :: THE GIVEN MOBILENUMBER IS ALREADY REGISTER",
  "provider_response": {
    "status": false,
    "message": "Agent not verified :: THE GIVEN MOBILENUMBER IS ALREADY REGISTER"
  }
}

Account Opening

Open New NSDL Bank Account

POST Body Auth Initiate a new saving/current account opening. bcagentid is required from your onboarding.
http://panel.inexopay.in/api/nsdl-bank/v1/account-open.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesYour username
orderidstringYesYour unique order ID
account_typestringYessaving (or 1) / current (or 2)
bcagentidstringYesYour BC Agent ID (from onboarding)
agent_pancardstringNo*Agent's PAN (optional, auto-fetched from profile)
first_namestringYesCustomer first name
last_namestringYesCustomer last name
emailstringYesCustomer email
phonestringYesCustomer mobile number
pancardstringYesCustomer PAN number
pincodestringYesCustomer area pincode
return_urlstringYesURL to redirect after completion
middle_namestringNoCustomer middle name
{
  "status_code": 200,
  "status": true,
  "message": "Account Opened Successfully",
  "order_id": "INEXO477-1705305000",
  "bcagentid": "INEXO477",
  "txn_id": "NSDLDCC4FFF9",
  "customer_id": "CUST12345",
  "account_url": "https://...",
  "account_type": "Saving",
  "provider_response": { ... }
}

Account Status Check

Check Account Status by PAN

POST Body Auth Check NSDL bank account status using PAN number
http://panel.inexopay.in/api/nsdl-bank/v1/account-status.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesYour username
orderidstringYesYour unique order ID
pancardstringYesPAN number to check status
{
  "status": true,
  "message": "Account status fetched",
  "data": { ... }
}

Account Details

Get Account Details by Txn ID

POST Body Auth Get full account details using transaction ID
http://panel.inexopay.in/api/nsdl-bank/v1/account-details.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesYour username
orderidstringYesYour unique order ID
txn_idstringYesTransaction ID from account-open response
{
  "status": true,
  "message": "Record found",
  "data": { ... }
}

Account List

Get All Accounts

POST Body Auth Get list of all accounts with optional type filter
http://panel.inexopay.in/api/nsdl-bank/v1/account-list.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesYour username
orderidstringYesYour unique order ID
account_typestringNoFilter: saving (or 1) / current (or 2)
{
  "status": true,
  "message": "Success",
  "data": [
    {
      "id": 34,
      "account_type": 2,
      "txn_id": "NSDLDCC4FFF9",
      "first_name": "Binod",
      "last_name": "Kumar",
      "email": "binodk881@gmail.com",
      "phone": "7091918888",
      "pancard": "EXRPK8854F",
      "pincode": "852105",
      "status": 1
    }
  ]
}

NSDL PAN APIs

Note: All NSDL PAN APIs use Body Authentication. Pass api_key and username in the request body along with other parameters.

Request PAN

Submit PAN Application

POST Body Auth Initiate a new PAN or correction application. Returns INEXOPAY branded redirect URL.
http://panel.inexopay.in/api/nsdl-pan/v1/request_pan.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesYour username
numberstringYesApplicant mobile number
orderidstringYesYour unique order ID
pan_modestringYesKYC mode: EKYC or ESIGN
pan_typestringYesnew_pan or correction
{
  "status_code": 200,
  "status": "SUCCESS",
  "message": "Pan Redirection url created",
  "txid": "50089349",
  "opid": "Order is under process",
  "url": "https://yourapp.com/pan-redirect?txid=50089349&mode=K",
  "number": "9876543210",
  "amount": "107",
  "orderid": "ORD12345"
}

// Error Response:
{
  "status_code": 400,
  "status": "FAILED",
  "message": "Error description"
}

PAN Status Check

Check PAN Application Status

POST Body Auth Check the status of a PAN application by order ID
http://panel.inexopay.in/api/nsdl-pan/v1/pan_status.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesYour username
orderidstringYesOrder ID from PAN request
{
  "status_code": 200,
  "status": "SUCCESS",
  "message": "Transaction status fetched",
  "order_id": "ORD12345",
  "reference": "NSDL12345678",
  "number": "9876543210",
  "amount": 99.00,
  "date_time": "2025-01-15 10:30:00"
}

Incomplete Applications

Resume Incomplete PAN Application

POST Body Auth Resume an incomplete PAN application. Returns INEXOPAY branded redirect URL.
http://panel.inexopay.in/api/nsdl-pan/v1/incomplete.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesYour username
orderidstringYesOrder ID of incomplete application
{
  "txid": "50089422",
  "status": "Success",
  "opid": "Order is under process",
  "message": "Pan Redirection url created",
  "url": "https://yourapp.com/pan-redirect?txid=50089422"
}

// Error Response:
{
  "status": "Failure",
  "message": "URL Expired, please try again with a new request"
}

Aadhaar Verification APIs

Note: All Aadhaar Verification APIs use Body Authentication. Pass api_key and username in the request body along with other parameters.

Send Aadhaar OTP

Send OTP to Aadhaar-Linked Mobile

POST Body Auth Send OTP to the mobile number linked with the Aadhaar
http://panel.inexopay.in/api/verification/v1/send-otp.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesYour username
orderidstringYesYour unique order ID
aadhaar_numberstringYes12-digit Aadhaar number
{
  "status_code": 200,
  "status": "success",
  "message": "Successfully generated One Time Password (OTP).",
  "data": {
    "request_id": "ADHRVFR19052420260531_1e2d274",
    "aadhaar": "441003356445",
    "status": "pending"
  },
  "meta": {
    "request_id": "7c15b0c5-6f72-4487-a61a-9cfc8be80d78",
    "time": "2025-01-15T10:30:00+00:00"
  }
}

Verify Aadhaar OTP

Verify OTP & Get Aadhaar Details

POST Body Auth Submit OTP to verify Aadhaar and get details
http://panel.inexopay.in/api/verification/v1/verify-otp.php
ParameterTypeRequiredDescription
api_keystringYesYour API key
usernamestringYesYour username
orderidstringYesYour unique order ID
request_idstringYesRequest ID from send-otp response
otpstringYes6-digit OTP received on mobile
aadhaar_numberstringYesSame Aadhaar number used in send-otp
{
  "status_code": 200,
  "status": "success",
  "message": "Aadhaar verification successful",
  "data": {
    "request_id": "ADHRVFR19052420260531_1e2d274",
    "status": "verified",
    "aadhaar_details": {
      "full_name": "Shivam",
      "dob": "01-01-2001",
      "gender": "Male",
      "address": "Nagla Sarai, Dabar, Agra, Uttar Pradesh, 283110"
    }
  },
  "meta": {
    "request_id": "86573ba4-c189-42c9-a61a-9cfc8be80d78",
    "time": "2025-01-15T10:30:00+00:00"
  }
}

Webhook & Callback

Receive real‑time status updates for all your transactions via webhook or per‑transaction callback.

How it works

  • Set a global webhook URL in your profile (applied to all transactions)
  • Or specify a per‑transaction return_url in the API request (priority over global)
  • When a transaction status changes (success/failure/refund), we’ll send a POST request to your URL
  • Failed webhooks are automatically retried up to 10 times with exponential backoff

Callback Payload

Webhook POST Payload

POST To your webhook/callback URL
Headers:
  • Content-Type: application/x-www-form-urlencoded
  • X-Callback-Source: INEXOPAY-API
orderid=ORD12345
&order_id=ORD12345
&status=success
&remark=Transaction+Successful
&datetime=2026-06-03+15:30:00
&callback_type=global_webhook
FieldTypeDescription
orderidstringYour unique order ID
order_idstringSame as orderid (for compatibility)
statusstringTransaction status: success/failed/refund/pending
remarkstringHuman-readable status message
datetimestringTimestamp of the status update (Y-m-d H:i:s)
callback_typestringglobal_webhook or per_transaction

API Tester

Test any API endpoint live. Enter your credentials and parameters, then hit "Send Request".

Live API Tester