This API uses the POST method with form-data parameters to initiate a payment request.
Parameter | Type | Description |
---|---|---|
order_id | String | Unique identifier for the order. |
name | String | Name of the customer making the payment. |
mobile | String | Mobile number of the customer. |
String | Email address of the customer. | |
user_token | String | Unique identifier for the order. |
api_password | String | API password for authentication. |
api_merchant_id | String | Merchant ID provided by IndPay. |
redirect_url | String | URL to redirect the user after payment completion. |
You can initiate a payment using curl as shown below:
curl --location 'https://merchant.indpay.in.net/payin_api.php' \
--form 'order_id="XXXXXX"' \
--form 'amount="1"' \
--form 'name="XXXXX"' \
--form 'mobile="XXXXX"' \
--form 'email="XXXXX"' \
--form 'user_token="XXXXX"' \
--form 'api_password="XXXXX"' \
--form 'api_merchant_id="XXXXX"' \
--form 'redirect_url="XXXXX"'
The API responds with a JSON object that provides information about the transaction status. Here’s a breakdown of the response fields:
Field | Type | Description |
---|---|---|
message | String | Message indicating the result of the transaction. |
status | String | Status of the transaction (e.g., "SUCCESS"). |
orderId | String | Unique identifier of the order. |
Payment_url | String | URL where the user can complete the payment. |
<php
$url = 'https://merchant.indpay.in.net/payin_api.php';
$data = [
'order_id' => 'XXXXXX',
'amount' => '1',
'name' => 'XXXXX',
'mobile' => 'XXXXX',
'email' => 'XXXXX',
'user_token' => 'XXXXX',
'api_password' => 'XXXXX',
'api_merchant_id' => 'XXXXX',
'redirect_url' => 'XXXXX'
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
const formData = new FormData();
formData.append('order_id', 'XXXXXX');
formData.append('amount', '1');
formData.append('name', 'XXXXX');
formData.append('mobile', 'XXXXX');
formData.append('email', 'XXXXX');
formData.append('user_token', 'XXXXX');
formData.append('api_password', 'XXXXX');
formData.append('api_merchant_id', 'XXXXX');
formData.append('redirect_url', 'XXXXX');
fetch('https://merchant.indpay.in.net/payin_api.php', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => console.log('Success:', data))
.catch(error => console.error('Error:', error));
import React from 'react';
import axios from 'axios';
const initiatePayment = () => {
const formData = new FormData();
formData.append('order_id', 'XXXXXX');
formData.append('amount', '1');
formData.append('name', 'XXXXX');
formData.append('mobile', 'XXXXX');
formData.append('email', 'XXXXX');
formData.append('user_token', 'XXXXX');
formData.append('api_password', 'XXXXX');
formData.append('api_merchant_id', 'XXXXX');
formData.append('redirect_url', 'XXXXX');
axios.post('https://merchant.indpay.in.net/payin_api.php', formData)
.then(response => {
console.log('Success:', response.data);
})
.catch(error => {
console.error('Error:', error);
});
};
const PaymentButton = () => (
<button onClick={initiatePayment}>Initiate Payment</button>
);
export default PaymentButton;
This API uses the POST method with form-data parameters to initiate a payment request.
Parameter | Type | Description |
---|---|---|
user_token | String | The user authentication token (example: "b00XXXXXXXXXXXXXXXXXXXXXXe"). |
api_password | String | The API password (example: "d57XXXXXXXXXXXXXXXXXXXXXXx1f"). |
api_merchant_id | String | Merchant ID provided by IndPay. |
order_id | String | The ID of the order. |
You can initiate a payment using curl as shown below:
curl --location 'https://merchant.indpay.in.net/payin_status.php' \
--form 'user_token="b00XXXXXXXXXXXXXXXXXXXXXXe"' \
--form 'api_password="d57XXXXXXXXXXXXXXXXXXXXXXx1f"' \
--form 'api_merchant_id=""' \
--form 'order_id=""'
The API responds with a JSON object that provides information about the transaction status. Here’s a breakdown of the response fields:
Field | Type | Description |
---|---|---|
message | String | This field provides a short description of the transaction status. |
amount | String | This field shows the transaction amount. |
status | String | Status of the transaction (e.g., "SUCCESS"). |
utr | String | UTR stands for Unique Transaction Reference. This number serves as a unique identifier for the transaction, which can be used for tracking purposes. |
orderId | String | This is the ID associated with the specific order. |
{ "message": "Transaction Successfully", "amount": "1", "status": "SUCCESS", "utr": "429183084237", "orderId": "730458" }
<?php
$url = 'https://merchant.indpay.in.net/payin_status.php';
$data = [
'user_token' => 'b00XXXXXXXXXXXXXXXXXXXXXXe',
'api_password' => 'd57XXXXXXXXXXXXXXXXXXXXXXx1f',
'api_merchant_id' => '',
'order_id' => ''
];
$options = [
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $data,
CURLOPT_RETURNTRANSFER => true
];
$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
print_r($result);
?>
{ "message": "Transaction Successfully", "amount": "1", "status": "SUCCESS", "utr": "429183084237", "orderId": "730458" }
const getPayoutStatus = async () => {
const formData = new FormData();
formData.append('user_token', 'b00XXXXXXXXXXXXXXXXXXXXXXe');
formData.append('api_password', 'd57XXXXXXXXXXXXXXXXXXXXXXx1f');
formData.append('api_merchant_id', '');
formData.append('order_id', '');
try {
const response = await fetch('https://merchant.indpay.in.net/payin_status.php', {
method: 'POST',
body: formData
});
if (!response.ok) {
throw new Error('Network response was not ok ' + response.statusText);
}
const data = await response.json();
console.log('Response:', data);
} catch (error) {
console.error('Error:', error);
}
};
// Call the function to make the API request
getPayoutStatus();
{ "message": "Transaction Successfully", "amount": "1", "status": "SUCCESS", "utr": "429183084237", "orderId": "730458" }
import React, { useState } from 'react';
function PayoutStatus() {
const [response, setResponse] = useState(null);
const getPayoutStatus = () => {
const formData = new FormData();
formData.append('user_token', 'b00XXXXXXXXXXXXXXXXXXXXXXe');
formData.append('api_password', 'd57XXXXXXXXXXXXXXXXXXXXXXx1f');
formData.append('api_merchant_id', '');
formData.append('order_id', '');
fetch('https://merchant.indpay.in.net/payin_status.php', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => setResponse(data))
.catch(error => console.error('Error:', error));
};
return (
<button onClick={getPayoutStatus}>Get Payout Status</button>
{response && (
<div>
<p>Message: {response.message}</p>
<p>Amount: {response.amount}</p>
<p>Status: {response.status}</p>
<p>UTR: {response.utr}</p>
<p>Order ID: {response.orderId}</p>
</div>
)}
);
}
export default PayoutStatus;
{ "message": "Transaction Successfully", "amount": "1", "status": "SUCCESS", "utr": "429183084237", "orderId": "730458" }
This API uses the POST method with form-data parameters to initiate a payment request.
Parameter | Type | Description |
---|---|---|
order_id | String | Unique identifier for the order. |
transaction_pin | String | Sended in registered email!. |
wallet_id | String | The wallet ID associated with the payout. |
amount | String | The amount to be paid out. Example: "100". |
account_no | String | The beneficiary's bank account number. |
user_token | String | Unique identifier for the order. |
api_password | String | API password for authentication. |
ifsc_code | String | The IFSC code of the beneficiary's bank. |
bene_name | String | The account holder’s name (beneficiary name). |
mobile_no | String | The mobile number associated with the beneficiary. |
email_id | String | The email ID of the beneficiary. |
bank_name | String | The name of the beneficiary's bank. |
transferType | String | The Transfer type of bank like IMPS. |
You can initiate a payment using curl as shown below:
curl --request POST \
--url https://merchant.indpay.in.net/payout_root_2.php \
--header 'Content-Type: application/json' \
--data '{
"order_id": "XXXXXXXXXXXXX",
"api_password": "XXXXXXXXXX",
"user_token": "XXXXXXXXXXXXX",
"wallet_id": "XXXXXXXXXXXXX",
"amount": "100",
"account_no": "2851XXXXXXXX",
"ifsc_code": "IOBXXXXX",
"bene_name": "RAJXXXXX",
"mobile_no": "73011XXXXX",
"email_id": "XXXXXXXXXXXX",
"transaction_pin": "xxxx"
"bank_name": "XXXXXXXXX"
"transferType": "xxxxxxxxxx"
}'
{ "status": "Process", "message": "Transaction Initiated!", "txn_id": "TRARXXXXXXX", "bank_name": "INDXXXXXXX", "ifsc_code": "IOXXXXXXX", "account_no": "28XXXXXXXXXX", "name": "RAJXXXXXX", "amount": "100", "order_id": "XXXXXX", "mobile_no": "73011XXXXXX", "email": "XXXXXXXXXXXX", "created_date": "XXXXXXXXXX" }
The API responds with a JSON object that provides information about the transaction status. Here’s a breakdown of the response fields:
Field | Type | Description |
---|---|---|
status | String | Status of the transaction (e.g., "SUCCESS"). |
message | String | Message indicating the result of the transaction. |
txn_id | String | The transaction ID assigned to this payout. |
bank_name | String | The bank name associated with the transaction. |
ifsc_code | String | The IFSC code of the bank. |
account_no | String | The beneficiary's bank account number. |
name | String | The name of the beneficiary. |
amount | String | The transaction amount. |
orderId | String | Unique identifier of the order. |
mobile_no | String | The beneficiary's mobile number |
String | The beneficiary's email ID | |
created_date | String | The date and time the transaction was created. |
{ "status": "Process", "message": "Transaction Initiated!", "txn_id": "TRARXXXXXXX", "bank_name": "INDXXXXXXX", "ifsc_code": "IOXXXXXXX", "account_no": "28XXXXXXXXXX", "name": "RAJXXXXXX", "amount": "100", "order_id": "XXXXXX", "mobile_no": "73011XXXXXX", "email": "XXXXXXXXXXXX", "created_date": "XXXXXXXXXX" }
<?php
$url = 'https://merchant.indpay.in.net/payout_root_2.php';
$data = [
'order_id' => 'XXXXXXXXXXXXXX',
'api_password' => 'XXXXXXXXXXXXXX',
'user_token' => 'XXXXXXXXXXXXXX',
'wallet_id' => 'XXXXXXXXXXXXXX',
'amount' => '100',
'account_no' => '2851XXXXXXXX',
'ifsc_code' => 'IOBXXXXXX',
'bene_name' => 'RAJXXXXX',
'mobile_no' => '73011XXXXXX',
'email_id' => 'XXXXXXXXXXXXXX',
'bank_name' => 'XXXXXXXXXX'
];
// Initialize cURL session
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Execute and get the response
$response = curl_exec($ch);
curl_close($ch);
if ($response) {
$result = json_decode($response, true);
print_r($result);
} else {
echo "Failed to connect to API.";
}
?>
{ "status": "Process", "message": "Transaction Initiated!", "txn_id": "TRARXXXXXXX", "bank_name": "INDXXXXXXX", "ifsc_code": "IOXXXXXXX", "account_no": "28XXXXXXXXXX", "name": "RAJXXXXXX", "amount": "100", "order_id": "XXXXXX", "mobile_no": "73011XXXXXX", "email": "XXXXXXXXXXXX", "created_date": "XXXXXXXXXX" }
const payoutRequest = async () => {
const formData = new FormData();
formData.append('order_id', 'XXXXXXXXXXXXXX');
formData.append('api_password', 'XXXXXXXXXXXXXX');
formData.append('user_token', 'XXXXXXXXXXXXXX');
formData.append('wallet_id', 'XXXXXXXXXXXXXX');
formData.append('amount', '100');
formData.append('account_no', '2851XXXXXXXX');
formData.append('ifsc_code', 'IOBXXXXXX');
formData.append('bene_name', 'RAJXXXXX');
formData.append('mobile_no', '73011XXXXXX');
formData.append('email_id', 'XXXXXXXXXXXXXX');
formData.append('bank_name', 'XXXXXXXXXX');
try {
const response = await fetch('https://merchant.indpay.in.net/payout_root_2.php', {
method: 'POST',
body: formData
});
if (!response.ok) {
throw new Error(`Error: ${response.statusText}`);
}
const data = await response.json();
console.log('Response:', data);
} catch (error) {
console.error('Error:', error);
}
};
// Call the function
payoutRequest();
{ "status": "Process", "message": "Transaction Initiated!", "txn_id": "TRARXXXXXXX", "bank_name": "INDXXXXXXX", "ifsc_code": "IOXXXXXXX", "account_no": "28XXXXXXXXXX", "name": "RAJXXXXXX", "amount": "100", "order_id": "XXXXXX", "mobile_no": "73011XXXXXX", "email": "XXXXXXXXXXXX", "created_date": "XXXXXXXXXX" }
import React, { useEffect, useState } from 'react';
const PayoutRequest = () => {
const [response, setResponse] = useState(null);
const [error, setError] = useState(null);
useEffect(() => {
const makePayoutRequest = async () => {
const formData = new FormData();
formData.append('order_id', 'XXXXXXXXXXXXXX');
formData.append('api_password', 'XXXXXXXXXXXXXX');
formData.append('user_token', 'XXXXXXXXXXXXXX');
formData.append('wallet_id', 'XXXXXXXXXXXXXX');
formData.append('amount', '100');
formData.append('account_no', '2851XXXXXXXX');
formData.append('ifsc_code', 'IOBXXXXXX');
formData.append('bene_name', 'RAJXXXXX');
formData.append('mobile_no', '73011XXXXXX');
formData.append('email_id', 'XXXXXXXXXXXXXX');
formData.append('bank_name', 'XXXXXXXXXX');
try {
const response = await fetch('https://merchant.indpay.in.net/payout_root_2.php', {
method: 'POST',
body: formData
});
if (!response.ok) {
throw new Error(`Error: ${response.statusText}`);
}
const data = await response.json();
setResponse(data);
} catch (error) {
setError(error.message);
}
};
makePayoutRequest();
}, []);
return (
<div>
<h2>Payout API Response</h2>
{error && <p style={{ color: 'red' }}>Error: {error}</p>}
{response ? (
<pre>{JSON.stringify(response, null, 2)}</pre>
) : (
<p>Loading...</p>
)}
</div>
);
};
export default PayoutRequest;
{ "status": "Process", "message": "Transaction Initiated!", "txn_id": "TRARXXXXXXX", "bank_name": "INDXXXXXXX", "ifsc_code": "IOXXXXXXX", "account_no": "28XXXXXXXXXX", "name": "RAJXXXXXX", "amount": "100", "order_id": "XXXXXX", "mobile_no": "73011XXXXXX", "email": "XXXXXXXXXXXX", "created_date": "XXXXXXXXXX" }
The Payout Status API allows you to check the status of a payout transaction. You can use this endpoint to get the current status and details of a specific payout by providing the necessary credentials and identifying information.
This API uses the POST method with form-data parameters to initiate a payment request.
Parameter | Type | Description |
---|---|---|
order_id | String | Unique identifier for the order. |
user_token | String | Unique identifier for the order. |
api_password | String | API password for authentication. |
wallet_id | String | The wallet ID associated with the payout. |
You can initiate a payment using curl as shown below:
curl --request POST \
--url https://merchant.indpay.in.net/payoutStatus.php \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'order_id=XXXXXXXXXXXXXXX&user_token=XXXXXXXXXXXXXXXXX&api_password=XXXXXXXXXXXXXXXXX&wallet_id=XXXXXXXXXXXXXXX'
{ "status":"Process/Success/Fail", "message":"XXXXXXXX", "order_id":"2XXXXXXXX", "amount":"100", "txn_id":XXXXXXX, "bank_name":"INDXXXXXXXX", "ifsc_code":"IOXXXXXXX", "account_no":"28XXXXXXXX562", "name":"RAJXXXXXXXX", "created_date":"XXXXXXXXXXX" }
The API responds with a JSON object that provides information about the transaction status. Here’s a breakdown of the response fields:
Field | Type | Description |
---|---|---|
status | String | Status of the transaction (e.g., "SUCCESS"). |
message | String | Message indicating the result of the transaction. |
txn_id | String | The transaction ID assigned to this payout. |
bank_name | String | The bank name associated with the transaction. |
ifsc_code | String | The IFSC code of the bank. |
account_no | String | The beneficiary's bank account number. |
name | String | The name of the beneficiary. |
amount | String | The transaction amount. |
orderId | String | Unique identifier of the order. |
created_date | String | The date and time the transaction was created. |
{ "status": "Success", "message": "Transaction Completed", "order_id": "2XXXXXXXXX", "amount": "100", "txn_id": "XXXXXXXXX", "bank_name": "INDXXXXXXXX", "ifsc_code": "IOXXXXXXX", "account_no": "28XXXXXXXXX562", "name": "RAJXXXXXXX", "created_date": "XXXXXXXXXXXX" }
const payoutStatusRequest = async () => {
const formData = new FormData();
formData.append('order_id', 'XXXXXXXXXXXXXX');
formData.append('user_token', 'XXXXXXXXXXXXXX');
formData.append('api_password', 'XXXXXXXXXXXXXX');
formData.append('wallet_id', 'XXXXXXXXXXXXXX');
try {
const response = await fetch('https://merchant.indpay.in.net/payoutStatus.php', {
method: 'POST',
body: formData
});
if (!response.ok) {
throw new Error(`Error: ${response.statusText}`);
}
const data = await response.json();
console.log('Response:', data);
} catch (error) {
console.error('Error:', error);
}
};
// Call the function
payoutStatusRequest();
{ "status":"Process/Success/Fail", "message":"XXXXXXXX", "order_id":"2XXXXXXXX", "amount":"100", "txn_id":XXXXXXX, "bank_name":"INDXXXXXXXX", "ifsc_code":"IOXXXXXXX", "account_no":"28XXXXXXXX562", "name":"RAJXXXXXXXX", "created_date":"XXXXXXXXXXX" }
<?php
$url = 'https://merchant.indpay.in.net/payoutStatus.php';
$data = [
'order_id' => 'XXXXXXXXXXXXXX',
'user_token' => 'XXXXXXXXXXXXXX',
'api_password' => 'XXXXXXXXXXXXXX',
'wallet_id' => 'XXXXXXXXXXXXXX'
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
if ($response) {
$result = json_decode($response, true);
print_r($result);
} else {
echo "Failed to connect to API.";
}
?>
{ "status":"Process/Success/Fail", "message":"XXXXXXXX", "order_id":"2XXXXXXXX", "amount":"100", "txn_id":XXXXXXX, "bank_name":"INDXXXXXXXX", "ifsc_code":"IOXXXXXXX", "account_no":"28XXXXXXXX562", "name":"RAJXXXXXXXX", "created_date":"XXXXXXXXXXX" }
import React, { useEffect, useState } from 'react';
const PayoutStatus = () => {
const [response, setResponse] = useState(null);
const [error, setError] = useState(null);
useEffect(() => {
const fetchPayoutStatus = async () => {
const formData = new FormData();
formData.append('order_id', 'XXXXXXXXXXXXXX');
formData.append('user_token', 'XXXXXXXXXXXXXX');
formData.append('api_password', 'XXXXXXXXXXXXXX');
formData.append('wallet_id', 'XXXXXXXXXXXXXX');
try {
const response = await fetch('https://merchant.indpay.in.net/payoutStatus.php', {
method: 'POST',
body: formData
});
if (!response.ok) {
throw new Error(`Error: ${response.statusText}`);
}
const data = await response.json();
setResponse(data);
} catch (error) {
setError(error.message);
}
};
fetchPayoutStatus();
}, []);
return (
<div>
<h2>Payout Status API Response</h2>
{error && <p style={{ color: 'red' }}>Error: {error}</p>}
{response ? (
<pre>{JSON.stringify(response, null, 2)}</pre>
) : (
<p>Loading...</p>
)}
</div>
);
};
export default PayoutStatus;
{ "status":"Process/Success/Fail", "message":"XXXXXXXX", "order_id":"2XXXXXXXX", "amount":"100", "txn_id":XXXXXXX, "bank_name":"INDXXXXXXXX", "ifsc_code":"IOXXXXXXX", "account_no":"28XXXXXXXX562", "name":"RAJXXXXXXXX", "created_date":"XXXXXXXXXXX" }