Appearance
Find (International)
Get the current status of an international transaction.
Endpoint: POST /transaction/find
Request
bash
curl -X POST https://API-ENDPOINT/transaction/find \
-H "Content-Type: application/json" \
-d '{
"auth": {
"id": 123,
"key": 1706360400002,
"hash": "c3d4e5f6a1b2..."
},
"transaction_id": "69d-7c9-5f1-098-494"
}'php
<?php
$url = 'https://API-ENDPOINT/transaction/find';
$key = time() * 1000;
$data = [
'auth' => [
'id' => 123,
'key' => $key,
'hash' => md5(123 . $token . $key)
],
'transaction_id' => '69d-7c9-5f1-098-494'
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
print_r($result);javascript
const key = Date.now();
const hash = md5(`123${token}${key}`);
const response = await fetch('https://API-ENDPOINT/transaction/find', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
auth: { id: 123, key, hash },
transaction_id: '69d-7c9-5f1-098-494'
})
});
const data = await response.json();
console.log(data);python
import requests
import hashlib
import time
url = 'https://API-ENDPOINT/transaction/find'
key = int(time.time() * 1000)
hash_value = hashlib.md5(f"123{token}{key}".encode()).hexdigest()
response = requests.post(url, json={
'auth': {
'id': 123,
'key': key,
'hash': hash_value
},
'transaction_id': '69d-7c9-5f1-098-494'
})
print(response.json())Response
json
{
"transaction": {
"id": "69d-7c9-5f1-098-494",
"state": 1,
"error": "",
"time": "2026-04-09 19:58:45",
"service": {
"id": "international-bridge",
"name": "International Bridge"
},
"account": "911234567890",
"amount": "100",
"amount_currency": "INR",
"price": "4.56",
"price_currency": "AED",
"country_id": "IND",
"country_name": "India",
"provider_id": "284",
"provider_name": "MTNL"
},
"info": [],
"receipt": {
"header": "International Recharge",
"subheader": "MTNL",
"info": "Country: India\nProvider: MTNL\nAccount: +911234567890\nAmount excluding local taxes: INR 100.00",
"instruction": "If you have any concern about the transaction please do inform us within 5 days.",
"promo": "",
"footer": "CUSTOMER SERVICE\nE-MAIL: [email protected]\n\nRECEIPT NUMBER: 69d-7c9-5f1-098-494\n\nThank you for using Paynet"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
transaction.state | integer | See Transaction States |
transaction.error | string | Error message (empty on success) |
transaction.account | string | Recipient phone number |
transaction.amount | string | Amount credited in local currency |
transaction.amount_currency | string | Local currency code (e.g., INR) |
transaction.price | string | Amount deducted from your wallet |
transaction.price_currency | string | Your wallet currency (e.g., AED) |
transaction.country_id | string | Country ISO code |
transaction.country_name | string | Country name |
transaction.provider_id | string | Operator ID |
transaction.provider_name | string | Operator name |
receipt | object | Receipt data for printing/display |
info | array/object | Empty array or PIN data (see below) |
PIN-Based Products
For PIN-based products, the info field contains the PIN code instead of an empty array:
json
{
"info": {
"number": "1234-5678-9012",
"serial": "SN-001234"
}
}| Field | Type | Description |
|---|---|---|
info.number | string | PIN code (optional) |
info.serial | string | Serial number of the PIN (optional) |
Polling Strategy
International transactions may take longer to complete. Use longer polling intervals (start at 30s, increase to 60s). See Transaction States for final vs non-final states.