Integrate our payment solutions into your applications with our simple and powerful API endpoints.
All API calls require authentication using your API key. Include it in the authorization parameter for each request.
To authenticate your API requests, you'll need to include your API key in the authorization
parameter. You can obtain your API key from your HanuPayout dashboard.
Retrieve the current balance in your HanuPayout account.
Parameter | Type | Required | Description |
---|---|---|---|
authorization | string | Required | Your API key for authentication |
curl "xyz.com/v2/balance.php?authorization=YOUR_API_KEY"
<?php
$url = "xyz.com/v2/balance.php?authorization=YOUR_API_KEY";
$response = file_get_contents($url);
$data = json_decode($response, true);
if (isset($data['status']) && $data['status'] === 'success') {
echo "Balance: " . $data['balance'];
} else {
echo "Error: " . $data['message'];
}
?>
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class CheckBalance {
public static void main(String[] args) {
try {
URL url = new URL("xyz.com/v2/balance.php?authorization=YOUR_API_KEY");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
using (HttpClient client = new HttpClient()) {
string url = "xyz.com/v2/balance.php?authorization=YOUR_API_KEY";
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode) {
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
} else {
Console.WriteLine($"Error: {response.StatusCode}");
}
}
}
}
#include
#include
size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) {
size_t realsize = size * nmemb;
printf("%.*s\n", (int)realsize, ptr);
return realsize;
}
int main(void) {
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "xyz.com/v2/balance.php?authorization=YOUR_API_KEY");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
return 0;
}
import requests
import json
url = "xyz.com/v2/balance.php"
params = {
"authorization": "YOUR_API_KEY"
}
response = requests.get(url, params=params)
data = response.json()
if data.get("status") == "success":
print(f"Balance: {data['balance']}")
else:
print(f"Error: {data.get('message')}")
require 'net/http'
require 'json'
uri = URI("xyz.com/v2/balance.php")
uri.query = URI.encode_www_form({
authorization: "YOUR_API_KEY"
})
response = Net::HTTP.get_response(uri)
data = JSON.parse(response.body)
if data["status"] == "success"
puts "Balance: #{data['balance']}"
else
puts "Error: #{data['message']}"
end
fetch("xyz.com/v2/balance.php?authorization=YOUR_API_KEY")
.then(response => response.json())
.then(data => {
if (data.status === "success") {
console.log(`Balance: ${data.balance}`);
} else {
console.error(`Error: ${data.message}`);
}
})
.catch(error => console.error("Error:", error));
const https = require('https');
const options = {
hostname: 'xyz.com',
path: '/v2/balance.php?authorization=YOUR_API_KEY',
method: 'GET'
};
const req = https.request(options, res => {
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
const response = JSON.parse(data);
if (response.status === 'success') {
console.log(`Balance: ${response.balance}`);
} else {
console.error(`Error: ${response.message}`);
}
});
});
req.on('error', error => {
console.error('Error:', error);
});
req.end();
{
"status": "success",
"message": "Balance retrieved successfully",
"balance": "₹145,000.00",
"available_balance": "₹142,500.00",
"currency": "INR",
"timestamp": "2025-07-16T12:35:58+05:30"
}
Send money to a UPI ID instantly.
Parameter | Type | Required | Description |
---|---|---|---|
authorization | string | Required | Your API key for authentication |
vpa | string | Required | UPI ID of the recipient (e.g., name@upi) |
amount | number | Required | Amount to transfer in INR |
referid | string | Required | Your unique reference ID for this transaction |
curl "xyz.com/v2/upi.php?authorization=YOUR_API_KEY&vpa=recipient@upi&amount=1000&referid=TX123456"
<?php
$apiKey = "YOUR_API_KEY";
$upiId = "recipient@upi";
$amount = 1000;
$referenceId = "TX" . time();
$url = "xyz.com/v2/upi.php?authorization={$apiKey}&vpa={$upiId}&amount={$amount}&referid={$referenceId}";
$response = file_get_contents($url);
$data = json_decode($response, true);
if (isset($data['status']) && $data['status'] === 'success') {
echo "Payment successful! Transaction ID: " . $data['transaction_id'];
} else {
echo "Error: " . $data['message'];
}
?>
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class UPIPayout {
public static void main(String[] args) {
try {
String apiKey = "YOUR_API_KEY";
String upiId = "recipient@upi";
double amount = 1000;
String referenceId = "TX" + System.currentTimeMillis();
String urlString = String.format("xyz.com/v2/upi.php?authorization=%s&vpa=%s&amount=%s&referid=%s",
URLEncoder.encode(apiKey, StandardCharsets.UTF_8.toString()),
URLEncoder.encode(upiId, StandardCharsets.UTF_8.toString()),
amount,
URLEncoder.encode(referenceId, StandardCharsets.UTF_8.toString()));
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web;
class Program {
static async Task Main() {
string apiKey = "YOUR_API_KEY";
string upiId = "recipient@upi";
double amount = 1000;
string referenceId = "TX" + DateTimeOffset.Now.ToUnixTimeSeconds();
var query = HttpUtility.ParseQueryString(string.Empty);
query["authorization"] = apiKey;
query["vpa"] = upiId;
query["amount"] = amount.ToString();
query["referid"] = referenceId;
string url = $"xyz.com/v2/upi.php?{query}";
using (HttpClient client = new HttpClient()) {
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode) {
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
} else {
Console.WriteLine($"Error: {response.StatusCode}");
}
}
}
}
#include
#include
#include
size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) {
size_t realsize = size * nmemb;
printf("%.*s\n", (int)realsize, ptr);
return realsize;
}
int main(void) {
CURL *curl;
CURLcode res;
char url[256];
time_t t = time(NULL);
snprintf(url, sizeof(url), "xyz.com/v2/upi.php?authorization=YOUR_API_KEY&vpa=recipient@upi&amount=1000&referid=TX%ld", t);
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
return 0;
}
import requests
import json
import time
api_key = "YOUR_API_KEY"
upi_id = "recipient@upi"
amount = 1000
reference_id = f"TX{int(time.time())}"
url = "xyz.com/v2/upi.php"
params = {
"authorization": api_key,
"vpa": upi_id,
"amount": amount,
"referid": reference_id
}
response = requests.get(url, params=params)
data = response.json()
if data.get("status") == "success":
print(f"Payment successful! Transaction ID: {data.get('transaction_id')}")
else:
print(f"Error: {data.get('message')}")
require 'net/http'
require 'json'
require 'time'
api_key = "YOUR_API_KEY"
upi_id = "recipient@upi"
amount = 1000
reference_id = "TX#{Time.now.to_i}"
uri = URI("xyz.com/v2/upi.php")
uri.query = URI.encode_www_form({
authorization: api_key,
vpa: upi_id,
amount: amount,
referid: reference_id
})
response = Net::HTTP.get_response(uri)
data = JSON.parse(response.body)
if data["status"] == "success"
puts "Payment successful! Transaction ID: #{data['transaction_id']}"
else
puts "Error: #{data['message']}"
end
const apiKey = "YOUR_API_KEY";
const upiId = "recipient@upi";
const amount = 1000;
const referenceId = `TX${Date.now()}`;
const url = `xyz.com/v2/upi.php?authorization=${apiKey}&vpa=${upiId}&amount=${amount}&referid=${referenceId}`;
fetch(url)
.then(response => response.json())
.then(data => {
if (data.status === "success") {
console.log(`Payment successful! Transaction ID: ${data.transaction_id}`);
} else {
console.error(`Error: ${data.message}`);
}
})
.catch(error => console.error("Error:", error));
const https = require('https');
const querystring = require('querystring');
const apiKey = "YOUR_API_KEY";
const upiId = "recipient@upi";
const amount = 1000;
const referenceId = `TX${Date.now()}`;
const params = querystring.stringify({
authorization: apiKey,
vpa: upiId,
amount: amount,
referid: referenceId
});
const options = {
hostname: 'xyz.com',
path: `/v2/upi.php?${params}`,
method: 'GET'
};
const req = https.request(options, res => {
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
const response = JSON.parse(data);
if (response.status === 'success') {
console.log(`Payment successful! Transaction ID: ${response.transaction_id}`);
} else {
console.error(`Error: ${response.message}`);
}
});
});
req.on('error', error => {
console.error('Error:', error);
});
req.end();
{
"status": "success",
"message": "UPI payment initiated successfully",
"transaction_id": "UPI78945612",
"reference_id": "TX123456",
"amount": "₹1,000.00",
"vpa": "recipient@upi",
"timestamp": "2025-07-16T12:36:30+05:30"
}
Transfer money directly to a bank account.
Parameter | Type | Required | Description |
---|---|---|---|
authorization | string | Required | Your API key for authentication |
account | string | Required | Bank account number of the recipient |
ifsccode | string | Required | IFSC code of the recipient's bank |
amount | number | Required | Amount to transfer in INR |
referid | string | Required | Your unique reference ID for this transaction |
curl "xyz.com/v2/bank.php?authorization=YOUR_API_KEY&account=1234567890&ifsccode=ABCD0001234&amount=5000&referid=TX789012"
<?php
$apiKey = "YOUR_API_KEY";
$accountNumber = "1234567890";
$ifscCode = "ABCD0001234";
$amount = 5000;
$referenceId = "TX" . time();
$url = "xyz.com/v2/bank.php?authorization={$apiKey}&account={$accountNumber}&ifsccode={$ifscCode}&amount={$amount}&referid={$referenceId}";
$response = file_get_contents($url);
$data = json_decode($response, true);
if (isset($data['status']) && $data['status'] === 'success') {
echo "Bank transfer initiated! Transaction ID: " . $data['transaction_id'];
} else {
echo "Error: " . $data['message'];
}
?>
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class BankPayout {
public static void main(String[] args) {
try {
String apiKey = "YOUR_API_KEY";
String accountNumber = "1234567890";
String ifscCode = "ABCD0001234";
double amount = 5000;
String referenceId = "TX" + System.currentTimeMillis();
String urlString = String.format("xyz.com/v2/bank.php?authorization=%s&account=%s&ifsccode=%s&amount=%s&referid=%s",
URLEncoder.encode(apiKey, StandardCharsets.UTF_8.toString()),
URLEncoder.encode(accountNumber, StandardCharsets.UTF_8.toString()),
URLEncoder.encode(ifscCode, StandardCharsets.UTF_8.toString()),
amount,
URLEncoder.encode(referenceId, StandardCharsets.UTF_8.toString()));
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web;
class Program {
static async Task Main() {
string apiKey = "YOUR_API_KEY";
string accountNumber = "1234567890";
string ifscCode = "ABCD0001234";
double amount = 5000;
string referenceId = "TX" + DateTimeOffset.Now.ToUnixTimeSeconds();
var query = HttpUtility.ParseQueryString(string.Empty);
query["authorization"] = apiKey;
query["account"] = accountNumber;
query["ifsccode"] = ifscCode;
query["amount"] = amount.ToString();
query["referid"] = referenceId;
string url = $"xyz.com/v2/bank.php?{query}";
using (HttpClient client = new HttpClient()) {
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode) {
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
} else {
Console.WriteLine($"Error: {response.StatusCode}");
}
}
}
}
#include
#include
#include
size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) {
size_t realsize = size * nmemb;
printf("%.*s\n", (int)realsize, ptr);
return realsize;
}
int main(void) {
CURL *curl;
CURLcode res;
char url[512];
time_t t = time(NULL);
snprintf(url, sizeof(url), "xyz.com/v2/bank.php?authorization=YOUR_API_KEY&account=1234567890&ifsccode=ABCD0001234&amount=5000&referid=TX%ld", t);
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
return 0;
}
import requests
import json
import time
api_key = "YOUR_API_KEY"
account_number = "1234567890"
ifsc_code = "ABCD0001234"
amount = 5000
reference_id = f"TX{int(time.time())}"
url = "xyz.com/v2/bank.php"
params = {
"authorization": api_key,
"account": account_number,
"ifsccode": ifsc_code,
"amount": amount,
"referid": reference_id
}
response = requests.get(url, params=params)
data = response.json()
if data.get("status") == "success":
print(f"Bank transfer initiated! Transaction ID: {data.get('transaction_id')}")
else:
print(f"Error: {data.get('message')}")
require 'net/http'
require 'json'
require 'time'
api_key = "YOUR_API_KEY"
account_number = "1234567890"
ifsc_code = "ABCD0001234"
amount = 5000
reference_id = "TX#{Time.now.to_i}"
uri = URI("xyz.com/v2/bank.php")
uri.query = URI.encode_www_form({
authorization: api_key,
account: account_number,
ifsccode: ifsc_code,
amount: amount,
referid: reference_id
})
response = Net::HTTP.get_response(uri)
data = JSON.parse(response.body)
if data["status"] == "success"
puts "Bank transfer initiated! Transaction ID: #{data['transaction_id']}"
else
puts "Error: #{data['message']}"
end
const apiKey = "YOUR_API_KEY";
const accountNumber = "1234567890";
const ifscCode = "ABCD0001234";
const amount = 5000;
const referenceId = `TX${Date.now()}`;
const url = `xyz.com/v2/bank.php?authorization=${apiKey}&account=${accountNumber}&ifsccode=${ifscCode}&amount=${amount}&referid=${referenceId}`;
fetch(url)
.then(response => response.json())
.then(data => {
if (data.status === "success") {
console.log(`Bank transfer initiated! Transaction ID: ${data.transaction_id}`);
} else {
console.error(`Error: ${data.message}`);
}
})
.catch(error => console.error("Error:", error));
const https = require('https');
const querystring = require('querystring');
const apiKey = "YOUR_API_KEY";
const accountNumber = "1234567890";
const ifscCode = "ABCD0001234";
const amount = 5000;
const referenceId = `TX${Date.now()}`;
const params = querystring.stringify({
authorization: apiKey,
account: accountNumber,
ifsccode: ifscCode,
amount: amount,
referid: referenceId
});
const options = {
hostname: 'xyz.com',
path: `/v2/bank.php?${params}`,
method: 'GET'
};
const req = https.request(options, res => {
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
const response = JSON.parse(data);
if (response.status === 'success') {
console.log(`Bank transfer initiated! Transaction ID: ${response.transaction_id}`);
} else {
console.error(`Error: ${response.message}`);
}
});
});
req.on('error', error => {
console.error('Error:', error);
});
req.end();
{
"status": "success",
"message": "Bank transfer initiated successfully",
"transaction_id": "BANK98765432",
"reference_id": "TX789012",
"amount": "₹5,000.00",
"account_number": "XXXX7890",
"ifsc_code": "ABCD0001234",
"bank_name": "State Bank of India",
"estimated_completion": "2-4 hours",
"timestamp": "2025-07-16T12:40:15+05:30"
}
Check the status of a previously initiated transaction.
Parameter | Type | Required | Description |
---|---|---|---|
authorization | string | Required | Your API key for authentication |
txnid | string | Required | Transaction ID received from a previous payout request |
curl "xyz.com/v2/status.php?authorization=YOUR_API_KEY&txnid=UPI12345678"
<?php
$apiKey = "YOUR_API_KEY";
$transactionId = "UPI12345678"; // Transaction ID from previous payout request
$url = "xyz.com/v2/status.php?authorization={$apiKey}&txnid={$transactionId}";
$response = file_get_contents($url);
$data = json_decode($response, true);
if (isset($data['status'])) {
echo "Transaction status: " . $data['status'];
echo "\nMessage: " . $data['message'];
} else {
echo "Error: Unable to retrieve transaction status";
}
?>
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class CheckStatus {
public static void main(String[] args) {
try {
String apiKey = "YOUR_API_KEY";
String transactionId = "UPI12345678"; // Transaction ID from previous payout request
String urlString = String.format("xyz.com/v2/status.php?authorization=%s&txnid=%s",
URLEncoder.encode(apiKey, StandardCharsets.UTF_8.toString()),
URLEncoder.encode(transactionId, StandardCharsets.UTF_8.toString()));
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web;
class Program {
static async Task Main() {
string apiKey = "YOUR_API_KEY";
string transactionId = "UPI12345678"; // Transaction ID from previous payout request
var query = HttpUtility.ParseQueryString(string.Empty);
query["authorization"] = apiKey;
query["txnid"] = transactionId;
string url = $"xyz.com/v2/status.php?{query}";
using (HttpClient client = new HttpClient()) {
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode) {
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
} else {
Console.WriteLine($"Error: {response.StatusCode}");
}
}
}
}
#include
#include
size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) {
size_t realsize = size * nmemb;
printf("%.*s\n", (int)realsize, ptr);
return realsize;
}
int main(void) {
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "xyz.com/v2/status.php?authorization=YOUR_API_KEY&txnid=UPI12345678");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
return 0;
}
import requests
import json
api_key = "YOUR_API_KEY"
transaction_id = "UPI12345678" # Transaction ID from previous payout request
url = "xyz.com/v2/status.php"
params = {
"authorization": api_key,
"txnid": transaction_id
}
response = requests.get(url, params=params)
data = response.json()
if "status" in data:
print(f"Transaction status: {data['status']}")
print(f"Message: {data['message']}")
if data["status"] == "success":
print(f"UTR: {data.get('utr', 'N/A')}")
print(f"Completed at: {data.get('completed_at', 'N/A')}")
else:
print("Error: Unable to retrieve transaction status")
require 'net/http'
require 'json'
api_key = "YOUR_API_KEY"
transaction_id = "UPI12345678" # Transaction ID from previous payout request
uri = URI("xyz.com/v2/status.php")
uri.query = URI.encode_www_form({
authorization: api_key,
txnid: transaction_id
})
response = Net::HTTP.get_response(uri)
data = JSON.parse(response.body)
if data["status"]
puts "Transaction status: #{data['status']}"
puts "Message: #{data['message']}"
if data["status"] == "success"
puts "UTR: #{data['utr'] || 'N/A'}"
puts "Completed at: #{data['completed_at'] || 'N/A'}"
end
else
puts "Error: Unable to retrieve transaction status"
end
const apiKey = "YOUR_API_KEY";
const transactionId = "UPI12345678"; // Transaction ID from previous payout request
const url = `xyz.com/v2/status.php?authorization=${apiKey}&txnid=${transactionId}`;
fetch(url)
.then(response => response.json())
.then(data => {
if (data.status) {
console.log(`Transaction status: ${data.status}`);
console.log(`Message: ${data.message}`);
if (data.status === "success") {
console.log(`UTR: ${data.utr || 'N/A'}`);
console.log(`Completed at: ${data.completed_at || 'N/A'}`);
}
} else {
console.error("Error: Unable to retrieve transaction status");
}
})
.catch(error => console.error("Error:", error));
const https = require('https');
const querystring = require('querystring');
const apiKey = "YOUR_API_KEY";
const transactionId = "UPI12345678"; // Transaction ID from previous payout request
const params = querystring.stringify({
authorization: apiKey,
txnid: transactionId
});
const options = {
hostname: 'xyz.com',
path: `/v2/status.php?${params}`,
method: 'GET'
};
const req = https.request(options, res => {
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
try {
const response = JSON.parse(data);
if (response.status) {
console.log(`Transaction status: ${response.status}`);
console.log(`Message: ${response.message}`);
if (response.status === 'success') {
console.log(`UTR: ${response.utr || 'N/A'}`);
console.log(`Completed at: ${response.completed_at || 'N/A'}`);
}
} else {
console.error("Error: Unable to retrieve transaction status");
}
} catch (e) {
console.error('Error parsing response:', e);
}
});
});
req.on('error', error => {
console.error('Error:', error);
});
req.end();
{
"status": "success",
"message": "Transaction completed successfully",
"transaction_id": "UPI12345678",
"reference_id": "TX123456",
"amount": "₹1,000.00",
"recipient": "9876543210@ybl",
"utr": "123456789012",
"initiated_at": "2025-07-16T10:30:45+05:30",
"completed_at": "2025-07-16T10:31:22+05:30",
"processing_time": "37 seconds"
}
Status | Description |
---|---|
success | Transaction has been completed successfully |
pending | Transaction is being processed |
failed | Transaction failed due to an error |
rejected | Transaction was rejected by the recipient's bank |
hold | Transaction is on hold pending review |
Verify bank account details and get account holder name.
Parameter | Type | Required | Description |
---|---|---|---|
authorization | string | Required | Your API key for authentication |
account | string | Required | Bank account number to verify |
ifsc | string | Required | IFSC code of the bank |
curl "xyz.com/v2/bankverification.php?authorization=YOUR_API_KEY&account=1234567890&ifsc=SBIN0001234"
<?php
$apiKey = "YOUR_API_KEY";
$account = "1234567890";
$ifsc = "SBIN0001234";
$url = "xyz.com/v2/bankverification.php?authorization={$apiKey}&account={$account}&ifsc={$ifsc}";
$response = file_get_contents($url);
$data = json_decode($response, true);
if (isset($data['status']) && $data['status'] === 'success') {
echo "Verification successful!";
echo "Account Holder: " . $data['verification']['name_at_bank'];
echo "Bank: " . $data['verification']['bank_name'];
} else {
echo "Error: " . $data['message'];
}
?>
import requests
url = "xyz.com/v2/bankverification.php"
params = {
"authorization": "YOUR_API_KEY",
"account": "1234567890",
"ifsc": "SBIN0001234"
}
response = requests.get(url, params=params)
data = response.json()
if data.get("status") == "success":
verification = data["verification"]
print(f"Verification successful!")
print(f"Account Holder: {verification['name_at_bank']}")
print(f"Bank: {verification['bank_name']}")
print(f"Charge: ₹{verification['charge']}")
else:
print(f"Error: {data.get('message')}")
const apiKey = "YOUR_API_KEY";
const account = "1234567890";
const ifsc = "SBIN0001234";
const url = `xyz.com/v2/bankverification.php?authorization=${apiKey}&account=${account}&ifsc=${ifsc}`;
fetch(url)
.then(response => response.json())
.then(data => {
if (data.status === "success") {
console.log("Verification successful!");
console.log(`Account Holder: ${data.verification.name_at_bank}`);
console.log(`Bank: ${data.verification.bank_name}`);
console.log(`Charge: ₹${data.verification.charge}`);
} else {
console.error(`Error: ${data.message}`);
}
})
.catch(error => console.error("Error:", error));
const https = require('https');
const querystring = require('querystring');
const params = querystring.stringify({
authorization: "YOUR_API_KEY",
account: "1234567890",
ifsc: "SBIN0001234"
});
const options = {
hostname: 'xyz.com',
path: `/v2/bankverification.php?${params}`,
method: 'GET'
};
const req = https.request(options, res => {
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
try {
const response = JSON.parse(data);
if (response.status === 'success') {
console.log('Verification successful!');
console.log(`Account Holder: ${response.verification.name_at_bank}`);
console.log(`Bank: ${response.verification.bank_name}`);
console.log(`Charge: ₹${response.verification.charge}`);
} else {
console.error(`Error: ${response.message}`);
}
} catch (e) {
console.error('Error parsing response:', e);
}
});
});
req.on('error', error => {
console.error('Error:', error);
});
req.end();
{
"status": "success",
"verification": {
"order_id": "20250116123456789",
"account": "1234567890",
"ifsc": "SBIN0001234",
"verification_status": "Success",
"name_at_bank": "JOHN DOE",
"bank_name": "STATE BANK OF INDIA",
"utr": "123456789012",
"city": "MUMBAI",
"branch": "MAIN BRANCH",
"micr": "400002002",
"message": "Verification completed",
"charge": 7
}
}
{
"status": "error",
"message": "Invalid account number or IFSC code"
}
Bank Verification Charge: ₹7 per verification
The charge will be automatically deducted from your account balance before processing the verification.
Verify UPI ID and get account holder name.
Parameter | Type | Required | Description |
---|---|---|---|
authorization | string | Required | Your API key for authentication |
upi | string | Required | UPI ID to verify (e.g., name@upi) |
curl "xyz.com/v2/upiverification.php?authorization=YOUR_API_KEY&upi=john@paytm"
<?php
$apiKey = "YOUR_API_KEY";
$upi = "john@paytm";
$url = "xyz.com/v2/upiverification.php?authorization={$apiKey}&upi={$upi}";
$response = file_get_contents($url);
$data = json_decode($response, true);
if (isset($data['status']) && $data['status'] === 'success') {
echo "Verification successful!";
echo "Account Holder: " . $data['verification']['name_at_bank'];
echo "Account Exists: " . ($data['verification']['account_exists'] ? 'Yes' : 'No');
} else {
echo "Error: " . $data['message'];
}
?>
import requests
url = "xyz.com/v2/upiverification.php"
params = {
"authorization": "YOUR_API_KEY",
"upi": "john@paytm"
}
response = requests.get(url, params=params)
data = response.json()
if data.get("status") == "success":
verification = data["verification"]
print(f"Verification successful!")
print(f"UPI ID: {verification['upi']}")
print(f"Account Holder: {verification['name_at_bank']}")
print(f"Account Exists: {'Yes' if verification['account_exists'] else 'No'}")
print(f"Charge: ₹{verification['charge']}")
else:
print(f"Error: {data.get('message')}")
const apiKey = "YOUR_API_KEY";
const upi = "john@paytm";
const url = `xyz.com/v2/upiverification.php?authorization=${apiKey}&upi=${upi}`;
fetch(url)
.then(response => response.json())
.then(data => {
if (data.status === "success") {
console.log("Verification successful!");
console.log(`UPI ID: ${data.verification.upi}`);
console.log(`Account Holder: ${data.verification.name_at_bank}`);
console.log(`Account Exists: ${data.verification.account_exists ? 'Yes' : 'No'}`);
console.log(`Charge: ₹${data.verification.charge}`);
} else {
console.error(`Error: ${data.message}`);
}
})
.catch(error => console.error("Error:", error));
const https = require('https');
const querystring = require('querystring');
const params = querystring.stringify({
authorization: "YOUR_API_KEY",
upi: "john@paytm"
});
const options = {
hostname: 'xyz.com',
path: `/v2/upiverification.php?${params}`,
method: 'GET'
};
const req = https.request(options, res => {
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
try {
const response = JSON.parse(data);
if (response.status === 'success') {
console.log('Verification successful!');
console.log(`UPI ID: ${response.verification.upi}`);
console.log(`Account Holder: ${response.verification.name_at_bank}`);
console.log(`Account Exists: ${response.verification.account_exists ? 'Yes' : 'No'}`);
console.log(`Charge: ₹${response.verification.charge}`);
} else {
console.error(`Error: ${response.message}`);
}
} catch (e) {
console.error('Error parsing response:', e);
}
});
});
req.on('error', error => {
console.error('Error:', error);
});
req.end();
{
"status": "success",
"verification": {
"order_id": "20250116123456789",
"upi": "john@paytm",
"verification_status": "Success",
"name_at_bank": "JOHN DOE",
"account_exists": true,
"message": "Verification completed",
"charge": 5
}
}
{
"status": "error",
"message": "Invalid UPI ID format"
}
UPI Verification Charge: ₹5 per verification
The charge will be automatically deducted from your account balance before processing the verification.