INEXOPAY
v2.0 — Enterprise Ready

INEXOPAY API Portal

Our powerful REST APIs allow you to integrate PAN card applications, NSDL banking services, and wallet management directly into your application. Support for Live and Test environments included.

12+
API Endpoints
99.99%
Uptime
Secure
IP Bound
Fast
Response

Environments

We provide two environments to help you build and scale your integration safely.

EnvironmentBase URLDescription
Test Mode MOCK / SIMULATED Use our Live API Tester in "Test Mode" to see example responses without hitting real servers.
Live Mode https://mail.inexopay.in Use your production API Key and real endpoints. Real balance will be deducted.

Authentication

All INEXOPAY APIs require authentication. Credentials must be passed as POST parameters in every request.

ParameterTypeRequiredDescription
api_keystringYesYour unique INEXOPAY API key.
usernamestringYesYour registered INEXOPAY username.
IP Protection: Your API Key is bound to your server IP. Ensure your IP is whitelisted in your panel before making requests.

Integration Code

Sample implementation in popular languages. Use these to jumpstart your integration.

<?php
$url = "https://mail.inexopay.in/api/nsdl-pan/v1/request_pan.php";
$postData = [
    'api_key'  => 'YOUR_API_KEY',
    'username' => 'YOUR_USERNAME',
    'orderid'  => 'ORD' . time(),
    'pan_mode' => 'EKYC',
    'pan_type' => 'new_pan',
    'number'   => '9876543210',
    'return_url' => 'https://yourdomain.com/callback'
];

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query($postData),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false
]);

$response = curl_exec($ch);
curl_close($ch);

// For PAN Apply (Returns HTML Form)
echo $response; 
?>

Response Status Codes

Standard responses returned by all INEXOPAY APIs.

HTTP CodeStatusMeaning / Reason
200SUCCESSRequest completed successfully.
400FAILEDBad Request — Missing or invalid parameters.
401FAILEDUnauthorized — Invalid API Key or Username.
402FAILEDPayment Required — Insufficient Balance in your wallet.
403FAILEDForbidden — IP not whitelisted or Plan inactive/expired.
409FAILEDConflict — Duplicate order_id detected.
500FAILEDInternal Server Error — Something went wrong on our side.

API Status Check

Check your INEXOPAY account status, plan details, balance, and IP verification.

POST Check API Status
https://mail.inexopay.in/api/check_status.php

Parameters

ParameterTypeRequiredDescription
api_keystringYesYour unique API Key
usernamestringYesRegistered username

Error Codes

CodeStatusMessage
200SUCCESSAPI Status Retrieved
401FAILEDAPI Key and Username are required
401FAILEDInvalid API Key or Username
403FAILEDIP Address Not Whitelisted
403FAILEDNo active subscription plan found
403FAILEDYour subscription plan has expired

Response Examples

{
  "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"
  }
}
🧪 Live API Tester

Server Status

Check INEXOPAY server health, uptime, CPU load, RAM/disk usage, and response speed.

GET Server Status
https://mail.inexopay.in/api/server-status.php
This endpoint does not require authentication. It returns public server health information.

Response Example

{
  "status": "success",
  "timestamp": "2026-04-07 18:41:00",
  "server_os": "Linux",
  "stats": {
    "uptime": "45 days, 12:34:56",
    "cpu_load": "1.25, 1.10, 0.95",
    "ram_usage": "45% (Used: 8.2 GB / Total: 18 GB)",
    "disk_usage": "62% (Used: 245 GB / Total: 395 GB)",
    "health": "Excellent",
    "response_speed": "45ms"
  },
  "status_label": "Online"
}

Balance Check

Check your current INEXOPAY wallet balance. Returns real-time balance with username verification.

POST Balance Check
https://mail.inexopay.in/api/balance.php

Parameters

ParameterTypeRequiredDescriptionExample
api_keystringYesYour reseller API keyxxxxxxxxxxxxxxxxx
usernamestringYesYour reseller usernametestuser123

Error Codes

CodeStatusMessage
200SUCCESSBalance fetched successfully
400FAILEDMissing or Invalid Parameters (api_key and username both required)
401FAILEDInvalid Api Key or Username
500FAILEDInternal Server Error

Response

{
  "status": "SUCCESS",
  "error_code": 200,
  "message": "Balance fetched successfully",
  "balance": 1250.50,
  "username": "jojo"
}
🧪 Live API Tester

1. Agent Onboarding

Register a new BC Agent for NSDL Bank. BC Agent ID will be auto-generated by the system (e.g., INEXO0001, INEXO0002).

POST BC Agent Onboarding
https://mail.inexopay.in/api/nsdl-bank/v1/onboarding.php

Parameters

ParameterTypeRequiredDescriptionExample
api_keystringYesYour reseller API keyxxxx-xxxx-xxxx
usernamestringYesYour reseller usernametestuser123
order_idstringYesUnique ID from your systemORD1001
shop_namestringYesShop / Agency nameMy Shop
namestringYesAgent full nameRahul Kumar
emailstringYesAgent email addressrahul@gmail.com
mobilestringYes10-digit mobile number9876543210
date_of_birthstringYesYYYY-MM-DD format2000-05-15
addressstringYesFull addressMathura, UP
state_namestringYesState nameUttar Pradesh
city_namestringYesCity nameMathura
pincodestringYesArea pincode281001
pancardstringYesPAN Card numberAWTPL9909L

Error Codes

CodeStatusMeaning
200trueSuccess
400falseBad Request (Missing Parameters)
401falseUnauthorized (Invalid API Key/Username)
409falseDuplicate order_id

Response

{
  "status": true,
  "message": "Agent onboarded successfully",
  "data": {
    "bcagentid": "INEXO0001",
    "agent_name": "Rahul Kumar",
    "shop_name": "My Shop",
    "mobile": "9876543210",
    "email": "rahul@gmail.com",
    "created_at": "2025-01-15 10:30:00"
  }
}
🧪 Live API Tester

2. New Account Open

Open a new savings or current account via NSDL Bank. Requires a registered BC Agent ID from onboarding.

POST Create Account
https://mail.inexopay.in/api/nsdl-bank/v1/account-open.php

Parameters

ParameterTypeRequiredDescriptionExample
api_keystringYesYour reseller API keyxxxx-xxxx-xxxx
usernamestringYesYour reseller usernametestuser123
order_idstringYesUnique ID from your systemORD2001
account_typestringYessaving or currentsaving
bcagentidstringYesBC Agent ID from onboardingINEXO0001
agent_pancardstringYesAgent PAN card numberAWTPL9929J
first_namestringYesCustomer first nameRahul
middle_namestringNoCustomer middle nameKumar
last_namestringYesCustomer last nameSharma
emailstringYesCustomer emailrahul@gmail.com
phonestringYesCustomer mobile number9876543210
pancardstringYesCustomer PAN cardAWTPL9929J
pincodestringYesCustomer pincode281001

Error Codes

CodeStatusMeaning
200trueSuccess
400falseBad Request (Missing Parameters)
401falseUnauthorized (Invalid API Key/Username)
409falseDuplicate order_id

Response

{
  "status": true,
  "message": "Account opened successfully",
  "data": {
    "account_number": "NSDL00123456789",
    "account_type": "saving",
    "customer_name": "Rahul Kumar Sharma",
    "ifsc_code": "NSDL0000001",
    "branch": "Digital Branch",
    "status": "active",
    "created_at": "2025-01-15 11:00:00"
  }
}
🧪 Live API Tester

3. Status Check

Check the current status of a transaction using your order_id.

POST Account Status
https://mail.inexopay.in/api/nsdl-bank/v1/account-status.php

Parameters

ParameterTypeRequiredDescriptionExample
api_keystringYesYour API keyxxxx-xxxx-xxxx
usernamestringYesYour usernametestuser123
order_idstringYesThe unique order_id you providedORD1001

Error Codes

CodeStatusMeaning
200trueSuccess
400falseBad Request (Missing Parameters)
401falseUnauthorized (Invalid API Key/Username)
409falseDuplicate order_id

Response

{
  "status": true,
  "message": "Account status fetched",
  "data": {
    "order_id": "ORD1001",
    "account_status": "active",
    "account_number": "NSDL00123456789",
    "account_type": "saving",
    "kyc_status": "verified",
    "last_updated": "2025-01-15 12:00:00"
  }
}
🧪 Live API Tester

4. Account Details

Fetch full details of an account application using the customer's PAN card.

POST Account Details
https://mail.inexopay.in/api/nsdl-bank/v1/account-details.php

Parameters

ParameterTypeRequiredDescriptionExample
api_keystringYesYour reseller API keyxxxx-xxxx-xxxx
usernamestringYesYour reseller usernametestuser123
pancardstringYesCustomer PAN card numberAWTPL9929J

Error Codes

CodeStatusMeaning
200trueSuccess
400falseBad Request (Missing Parameters)
401falseUnauthorized (Invalid API Key/Username)
409falseDuplicate order_id

Response

{
  "status": true,
  "message": "Account details fetched",
  "data": {
    "account_number": "NSDL00123456789",
    "account_type": "saving",
    "customer_name": "Rahul Kumar Sharma",
    "email": "rahul@gmail.com",
    "phone": "9876543210",
    "ifsc_code": "NSDL0000001",
    "branch": "Digital Branch",
    "balance": "15000.00",
    "pancard": "AWTPL9929J",
    "kyc_status": "verified",
    "account_status": "active",
    "opened_date": "2025-01-15",
    "last_transaction": "2025-01-20 14:30:00"
  }
}
🧪 Live API Tester

PAN Apply

Create a new PAN application (New PAN or Correction). Returns an Auto-Submit HTML Form that redirects the user directly to NSDL portal for eKYC/eSign process.

POST / GET PAN Apply
https://mail.inexopay.in/api/nsdl-pan/v1/request_pan.php

Parameters

ParameterTypeRequiredDescriptionExample
api_key / tokenstringYesUser API Key / Tokenxxxxxxxxxxxxxxxxx
usernamestringYesUsernametestuser123
numberstringYesMobile Number9876543210
orderidstringYesUnique Order IDORD12345
pan_modestringYesEKYC or ESIGNEKYC
pan_typestringYesnew_pan or correctionnew_pan
return_urlstringYesCallback URL for status updateshttps://yourdomain.com/callback

Error Codes

CodeStatusMessage
200SUCCESSAuto-Submit HTML Form returned
400FAILEDMissing or Invalid Parameters
401FAILEDInvalid API Key or Username
402FAILEDInsufficient Balance
403FAILEDIP Address Not Whitelisted / Account Inactive

Response Examples

<!DOCTYPE html>
<html>
<body onload="document.forms[0].submit()">
  <form action="https://assisted-service.egov.proteantech.in/..." method="post">
    <input type="hidden" name="req" value="...">
  </form>
</body>
</html>
Integration Tip: If you use file_get_contents or curl, simply echo the response from our API. The user's browser will automatically handle the redirection to NSDL.
🧪 Live API Tester

PAN Status Check

Check the current status of a PAN application using Order ID. This helps you keep your local database updated with Success/Failed/Pending status.

POST / GET PAN Status Check
https://mail.inexopay.in/api/nsdl-pan/v1/pan_status.php

Parameters

ParameterTypeRequiredDescriptionExample
api_key / tokenstringYesUser API Key / Tokenxxxxxxxxxxxxxxxxx
usernamestringYesUsernametestuser123
orderidstringYesUnique Order IDORD12345

Error Codes

CodeStatusMessage
200SUCCESSStatus will be PENDING / SUCCESS / FAILED
400FAILEDMissing or Invalid Parameters
401FAILEDInvalid API Key or Username
404FAILEDNo PAN application found with this Order ID

Response Examples

{
  "status_code": 200,
  "status": "SUCCESS",
  "message": "Transaction status fetched successfully",
  "order_id": "ORD12345",
  "reference": "NSDL12345678",
  "pan_mode": "NEW_PAN",
  "amount": 99.00,
  "balance": 1152.00,
  "date_time": "2026-04-12 10:00:00",
  "username": "testuser123"
}
🧪 Live API Tester

Incomplete PAN Resume

Resume an incomplete PAN application using Order ID or Voter ID. Returns an Auto-Submit HTML Form to redirect the user directly to the NSDL resume page.

POST / GET Resume Incomplete PAN
https://mail.inexopay.in/api/nsdl-pan/v1/incomplete.php

Parameters

ParameterTypeRequiredDescriptionExample
api_key / tokenstringYesUser API Key / Tokenxxxxxxxxxxxxxxxxx
usernamestringYesUsernametestuser123
orderidstringYesOrder ID or Voter IDORD123456

Response Examples

<!DOCTYPE html>
<html>
<body onload="document.forms[0].submit()">
  <form action="https://assisted-service.egov.proteantech.in/..." method="post">
    <input type="hidden" name="req" value="...">
  </form>
</body>
</html>
🧪 Live API Tester

INEXOPAY

© 2026 INEXOPAY. All rights reserved. Built with ❤️