Skip to content

Services

Get a list of all available services for your account.

Endpoint: POST /services

Request

bash
curl -X POST https://api.paynet.one/services \
  -H "Content-Type: application/json" \
  -d '{
    "auth": {
      "id": 123,
      "key": 1706360400000,
      "hash": "a1b2c3d4e5f6..."
    }
  }'
php
<?php
$url = 'https://api.paynet.one/services';
$data = [
    'auth' => [
        'id' => 123,
        'key' => time() * 1000,
        'hash' => md5(123 . $token . time() * 1000)
    ]
];

$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 response = await fetch('https://api.paynet.one/services', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    auth: {
      id: 123,
      key: Date.now(),
      hash: md5(`123${token}${Date.now()}`)
    }
  })
});

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

url = 'https://api.paynet.one/services'
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
    }
})

print(response.json())

Response

json
{
  "services": [
    {
      "id": "et-mc",
      "active": true,
      "name": "Etisalat Wasel Prepaid",
      "biller_name": "Etisalat",
      "category_name": "Mobile Prepaid",
      "subcategory_name": "Airtime",
      "amount_min": 5,
      "amount_max": 525,
      "amount_step": 5,
      "commission": {
        "value": 0,
        "type": 0
      },
      "is_pin_based": false,
      "is_account_required": true
    },
    {
      "id": "itunes_aed_100",
      "active": true,
      "name": "Apple Gift Card - AED 100",
      "biller_name": "Apple UAE",
      "category_name": "Gift Cards",
      "subcategory_name": "Apple",
      "amount_min": 100,
      "amount_max": 100,
      "amount_step": 0,
      "commission": {
        "value": 0,
        "type": 0
      },
      "is_pin_based": true,
      "is_account_required": false
    }
  ]
}

Response Fields

FieldTypeDescription
idstringUnique service identifier (use in transaction requests)
activebooleanWhether service is currently available
namestringService display name
biller_namestringService provider name
category_namestringService category
subcategory_namestringService subcategory
amount_minnumberMinimum transaction amount
amount_maxnumberMaximum transaction amount
amount_stepnumberStep/increment allowed for amounts (e.g., 5 means amounts must be a multiple of 5)
commission.valuenumberCommission percentage or fixed amount
commission.typeintegerCommission type: 0 = percentage, 1 = fixed
is_pin_basedbooleanfalse = Direct Recharge, true = e-Voucher/Gift Card
is_account_requiredbooleantrue = account field is required in the Check method

Understanding Service Types

The is_pin_based field determines the transaction flow:

is_pin_basedTypeDescriptionExample
falseDirect RechargeAmount goes directly to customer's accountEtisalat, du prepaid
truee-Vouchers & Gift CardsReturns a PIN/voucher codeMobile Recharge e-Voucher, Salik, Steam, Google Play Gift Card

TIP

Cache the services list and refresh periodically (e.g., every hour) to reduce API calls.

Paynet API Documentation