Merchant API
Umumiy ko‘rinish: Billing tizimi bilan integratsiya qilish uchun JSON-RPC API
Maqsad: Ushbu hujjat markazlashgan to‘lov platformasiga ulanuvchi hamkorlar va merchantlar tomonidan amalga oshirilishi lozim bo‘lgan JSON-RPC API talablarini tavsiflaydi.
Har bir merchent billing tizimi orqali quyidagi amallarni bajarish uchun metodlarni yaratishi kerak: to‘lovni boshlash, tekshirish, bekor qilish va boshqa operatsiyalar.
Tizimlar o‘rtasidagi aloqa JSON-RPC 2.0 protokoli orqali amalga oshiriladi, ma’lumotlar HTTP POST so‘rovlari orqali uzatiladi.
O‘zaro ishlash arxitekturasi
Billing tizimi merchent tomonidagi metodlarni chaqiradi.
Merchent to‘lovni qayta ishlaydi va natijani qaytaradi.
Ma’lumotlar sign parametri orqali tekshiriladi, u umumiy SECRET_KEY asosida shakllanadi.
Ulanish faqat HTTPS protokoli orqali amalga oshiriladi.
Merchent API talablari
JSON-RPC 2.0 protokolini qo‘llab-quvvatlash.
Himoyalangan kanal (HTTPS) orqali ishlaydigan HTTP endpoint.
Barcha talab qilingan metodlarni majburiy implementatsiya qilish.
Ma’lumotlar yaxlitligini tekshirish uchun raqamli imzo (sign) qo‘llab-quvvatlanishi.
API umumiy tuzilmasi
So‘rov namunasi:
{
"jsonrpc": "2.0",
"method": "methodName",
"params": {
"param1": "paramValue"
....
},
"id": 1
}Muvaffaqiyatli javob namunasi:
{
"jsonrpc": "2.0",
"result": {
...
},
"id": 1
}Muvaffaqiyatsiz javob namunasi:
{
"jsonrpc": "2.0",
"error": {
"code": -32000,
"message": "Yetarli mablag‘ yo‘q",
"data": {
...
}
},
"id": 1
}Merchant amalga oshiradigan metodlar
Metod | Qachon chaqiriladi |
|---|---|
To‘lovdan oldin — buyurtma bor va summa to‘g‘riligini tekshirish | |
Summa mijoz kartasida holdlanadi | |
Pul yechildi — buyurtmani berish mumkin | |
To‘lov amalga oshmadi yoki bekor qilindi | |
Tranzaksiyaning joriy holatini so‘rash |
Umumiy qoidalar
Summalar tiyinda uzatiladi: 1 UZS = 100 tiyin.
Barcha javoblar HTTP 200 bilan qaytadi — xatolik javob kodi emas,
errormaydonida uzatiladi.billingIdentifier— merchant tomonidagi buyurtma raqami; to‘lovni solishtirish uchun ishlatiladi.SECRET_KEY faqat serverda saqlanadi: uni bilgan odam begona to‘lovni imzolashi mumkin.