Skip to content

Check (International)

Validate the phone number and lock the selected amount.

Endpoint: POST /transaction/check

Request

Use product: "international-bridge" for all international top-ups. Pass the amount_id from the Provider response and the recipient phone number.

bash
curl -X POST https://API-ENDPOINT/transaction/check \
  -H "Content-Type: application/json" \
  -d '{
    "auth": {
      "id": 123,
      "key": 1706360400000,
      "hash": "a1b2c3d4e5f6..."
    },
    "product": "international-bridge",
    "fields": {
      "amount_id": "389c9b72d2677970916fac310a36e5a4",
      "account": "911234567890"
    }
  }'
php
<?php
$url = 'https://API-ENDPOINT/transaction/check';
$key = time() * 1000;

$data = [
    'auth' => [
        'id' => 123,
        'key' => $key,
        'hash' => md5(123 . $token . $key)
    ],
    'product' => 'international-bridge',
    'fields' => [
        'amount_id' => '389c9b72d2677970916fac310a36e5a4',
        'account' => '911234567890'
    ]
];

$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/check', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    auth: { id: 123, key, hash },
    product: 'international-bridge',
    fields: {
      amount_id: '389c9b72d2677970916fac310a36e5a4',
      account: '911234567890'
    }
  })
});

const data = await response.json();
console.log(data);
python
import requests
import hashlib
import time

url = 'https://API-ENDPOINT/transaction/check'
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
    },
    'product': 'international-bridge',
    'fields': {
        'amount_id': '389c9b72d2677970916fac310a36e5a4',
        'account': '911234567890'
    }
})

print(response.json())

Request Fields

FieldTypeRequiredDescription
productstringYesAlways "international-bridge"
fields.amount_idstringYesAmount ID from Provider response
fields.accountstringYesRecipient phone number (with country code, no +)
simulationintegerNoSet to 1 for test mode

Response

json
{
  "transaction": {
    "id": "69d-7c9-5f1-098-494",
    "state": -1,
    "time": "2026-04-09 19:44:31",
    "service": {
      "id": "international-bridge",
      "name": "International Bridge"
    },
    "account": "911234567890",
    "country_id": "IND",
    "country_name": "India",
    "provider_id": 284,
    "provider_name": "MTNL",
    "amount_id": "389c9b72d2677970916fac310a36e5a4",
    "amount": "100",
    "amount_currency": "INR",
    "price": "4.56",
    "price_currency": "AED"
  }
}

Response Fields

FieldTypeDescription
transaction.idstringPaynet transaction ID (use in Confirm)
transaction.stateintegerSee Transaction States
transaction.accountstringRecipient phone number
transaction.amountstringValue in local currency
transaction.amount_currencystringLocal currency code
transaction.pricestringAmount to be deducted from your wallet
transaction.price_currencystringYour wallet currency
transaction.country_idstringDetected country ISO code
transaction.country_namestringDetected country name
transaction.provider_idintegerDetected operator ID
transaction.provider_namestringDetected operator name
transaction.amount_idstringSelected amount ID

Next Step

Proceed to Confirm with the transaction.id from this response.

Paynet API Documentation