Merchant API v1

To‘lovlarni loyihangizga
oson ulang.

To‘lov havolasini yarating, mijozni to‘lovga yo‘naltiring va natijani avtomatik qabul qiling. Integratsiya uchun kerakli qo‘llanma va tayyor kodlar — bir joyda.

BASE URLhttps://firepay.uz/api/v1
  1. 01

    Kassa oching

    Faol kassangizdan ID va API kalitini oling.

  2. 02

    Havola yarating

    Summani yuboring va pay_url manzilini oling.

  3. 03

    Natijani oling

    To‘lovni API yoki callback orqali tekshiring.

01 / BOSHLASH

Autentifikatsiya

Har bir /api/v1/* so'rovi kassa hisobingizning cashier_id va api_key qiymatlarini talab qiladi.

Autentifikatsiya ma'lumotlarini 3 xil usulda uzatishingiz mumkin:

  • 1. HTTP Header (Tavsiya etiladi): X-Cashier-Id va X-Api-Key
  • 2. JSON Body: {"cashier_id": "...", "api_key": "..."}
  • 3. POST / GET parametr: cashier_id va api_key
HTTP Headers
X-Cashier-Id: YOUR_CASHIER_ID
X-Api-Key: YOUR_API_KEY
Content-Type: application/json
02 / TO‘LOVLAR

To‘lov havolasini yaratish

POST /api/v1/payment-create

Yangi to'lov havolasini yaratadi. Qaytgan pay_url manziliga mijozni yo'naltirasiz. Quyida POST + JSON namunasi berilgan; GET va forma parametrlari ham qabul qilinadi.

Parametrlar

NomiMajburiyIzoh
amountHaTo'lov summasi (so'm, masalan: 50000)
order_idYo'qSizning tizimingizdagi buyurtma ID raqami
callback_urlYo'qTo'lov o'tganda xabar yuboriladigan Callback URL
return_urlYo'qMijoz to'lovdan so'ng qaytariladigan URL manzil

cURL so'rov namunasi (JSON)

cURL
curl -X POST https://firepay.uz/api/v1/payment-create \
  -H "Content-Type: application/json" \
  -H "X-Cashier-Id: YOUR_CASHIER_ID" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -d '{
    "amount": 50000,
    "order_id": "INV-1002",
    "callback_url": "https://myshop.uz/callback",
    "return_url": "https://myshop.uz/success"
  }'

Muvaffaqiyatli javob

JSON
{
  "success": true,
  "token": "6aa50c7c0ba-6ga50c7ca61eb0",
  "pay_url": "https://firepay.uz/pay/6aa50c7c0ba-6ga50c7ca61eb0",
  "order_id": "INV-1002"
}
03 / TO‘LOVLAR

To‘lov holatini tekshirish

GET /api/v1/payment-status

To'lov holatini token orqali tekshirish. GET yoki POST so‘rovidan foydalanishingiz mumkin.

Parametrlar

token: To'lov yaratilganda qaytgan unikal token.

cURL
curl -X GET "https://firepay.uz/api/v1/payment-status?token=6aa50c7c0ba-6ga50c7ca61eb0" \
  -H "X-Cashier-Id: YOUR_CASHIER_ID" \
  -H "X-Api-Key: YOUR_API_KEY"

Javob namunasi

JSON
{
  "success": true,
  "token": "6aa50c7c0ba-6ga50c7ca61eb0",
  "amount": 50000,
  "commission": 4500,
  "net_amount": 45500,
  "status": "paid",
  "order_id": "INV-1002",
  "callback_status": "sent",
  "created_at": "2026-09-23 20:10:00",
  "paid_at": "2026-09-23 20:12:30"
}
04 / KASSA

Kassa balansi

GET /api/v1/balance

Kassaning joriy hisob balansini bilish. GET yoki POST so‘rovidan foydalanishingiz mumkin.

cURL
curl -X GET https://firepay.uz/api/v1/balance \
  -H "X-Cashier-Id: YOUR_CASHIER_ID" \
  -H "X-Api-Key: YOUR_API_KEY"
JSON
{
  "success": true,
  "balance": 1450000
}
05 / KASSA

Kassa ma’lumotlari

GET/api/v1/cashier

Kassa nomi, holati, balansi va integratsiya manzillarini qaytaradi. Autentifikatsiya headerlaridan tashqari qo‘shimcha parametr talab qilinmaydi.

cURL
curl -X GET https://firepay.uz/api/v1/cashier \
  -H "X-Cashier-Id: YOUR_CASHIER_ID" \
  -H "X-Api-Key: YOUR_API_KEY"

Javob namunasi

JSON
{
  "success": true,
  "cashier_id": "YOUR_CASHIER_ID",
  "display_name": "Mening do‘konim",
  "status": "active",
  "balance": 1450000,
  "logo": null,
  "callback_url": "https://myshop.uz/callback",
  "return_url": "https://myshop.uz/success"
}
06 / INTEGRATSIYA

Callback orqali xabarnoma

Har bir xabarnomaning X-FirePay-Signature imzosini tekshiring. Quyida tayyor PHP namunasi bor.

Mijoz to'lovni muvaffaqiyatli amalga oshirishi bilan, FirePay serveringizdagi callback_url manziliga POST so'rovi yuboradi.

Callback JSON tanasi (Payload)

JSON
{
  "event": "payment.paid",
  "token": "6aa50c7c0ba-6ga50c7ca61eb0",
  "order_id": "INV-1002",
  "amount": 50000,
  "net_amount": 45500,
  "currency": "UZS",
  "status": "paid",
  "paid_at": "2026-09-23 20:12:30",
  "cashier_id": "YOUR_CASHIER_ID"
}

Imzoni tekshirish (PHP namunasi)

Xavfsizlik uchun so'rov headerida X-FirePay-Signature jo'natiladi. Uni o'zingizning api_key ingiz orqali tekshirasiz:

PHP
$rawInput = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_FIREPAY_SIGNATURE'] ?? '';
$apiKey = 'YOUR_API_KEY';

$expectedSignature = hash_hmac('sha256', $rawInput, $apiKey);

if (!hash_equals($expectedSignature, $signature)) {
    http_response_code(400);
    die('Invalid signature');
}

$data = json_decode($rawInput, true);
if ($data['status'] === 'paid') {
    http_response_code(200);
    echo json_encode(['status' => 'ok']);
}
07 / JAVOBLAR

Xatoliklarni tushunish

So‘rov bajarilmasa, HTTP status kodi va error maydonidagi izohni tekshiring.

400

Noto‘g‘ri so‘rovSumma, token yoki yuborilgan URL parametrlarini tekshiring.

401

Autentifikatsiya xatosiKassa ID, API kaliti va kassa faolligini tekshiring.

403

Ruxsat yo‘qTo‘lov ushbu kassaga tegishli emas.

404

To‘lov topilmadiYuborilgan to‘lov tokenini tekshiring.

JSON
{
  "success": false,
  "error": "Missing token parameter."
}
FirePay · Merchant API v1Yuqoriga qaytish ↑