Paylov Payment Gateway Merchant API Integration Guide
Ushbu hujjat Paylov Payment System bilan integratsiya qilish bo‘yicha bosqichma-bosqich ko‘rsatmalarni taqdim etadi. Jumladan, payment link yaratish, redirect jarayonini boshqarish va server-to-server payment status notification’larni qayta ishlash tartibi keltirilgan.
STEP 1: Register Callback URL
Tranzaksiyalarni boshlashdan oldin, merchant Paylov tranzaksiya yangilanishlarini yuboradigan callback URL manzilini taqdim etishi kerak.
Required Details:
| Field | Description |
|---|---|
| Callback URL | To‘lov bildirishnomalarini qabul qiladigan server endpoint’ingiz |
| Login | Merchant’ning API login ma’lumoti |
| Password | Merchant’ning API paroli |
Paylov uses Basic Authentication when posting to your callback URL.
Callback URL namunasi:
https://your-server-domain.com/payment/callback/STEP 2: Generate a Payment Link
Merchantlar mijozlar ochib, Paylov’ning hosted payment interface’iga o‘tishi uchun encoded parameterlar bilan payment link yaratadi.
Endpoint:
https://my.paylov.uz/checkout/create/{base64_encoded_params}Example (base64-encoded):
https://my.paylov.uz/checkout/create/bWVyY2hhbnRfaWQ9MmVmNGE4OTYtOGRhMi00OGE0LTlhZjMtMjYwN2U2OTIxMGVjJmFtb3VudD01MDAmY3VycmVuY3lfaWQ9ODYwJnJldHVybl91cmw9aHR0cHMlM0ElMkYlMkZnb29nbGUuY29tJmFtb3VudF9pbl90aXlpbj1UcnVlJmFjY291bnQub3JkZXJfaWQ9MTIzMw==Parameters (Base64-encoded query):
| Parameter | Description |
|---|---|
| merchant_id | Merchant’ning noyob identifikatori (UUID) |
| amount | To‘lanadigan summa |
| currency_id | Valyuta kodi (860 = UZS, 840 = USD) |
| return_url | To‘lov tugagandan keyin redirect qilinadigan URL |
| amount_in_tiyin | Agar summa tiyin ko‘rinishida bo‘lsa True |
| account.order_id | Ixtiyoriy ichki buyurtma referensi |
STEP 3: Transaction Flow
1. Customer Redirection
Payment link ochilgandan so‘ng, mijoz Paylov payment interface sahifasiga yo‘naltiriladi.
To‘lov muvaffaqiyatli yoki muvaffaqiyatsiz yakunlangandan keyin:
- Mijoz
return_urlmanziliga yo‘naltiriladi. - Sizning backend’ingiz tekshirish va qayta ishlash uchun callback notification qabul qiladi.
Server-to-Server Callbacks
Paylov tekshirish va tasdiqlash uchun callback URL’ingizga ikki xil request yuboradi:
transaction.check – Validate Transaction
Paylov ushbu metod orqali haqiqiy to‘lovni bajarishdan oldin tranzaksiya ma’lumotlarini tekshiradi.
Request Parameters
| Name | Name | Description |
|---|---|---|
| account | dict | Merchant tomonidan berilgan field’lar (masalan, order_id) |
| amount | int | To‘liq valyutadagi summa (masalan, 500 UZS) |
| amount_tiyin | int | Tiyindagi summa (masalan, 50000) |
| curreny | int | Valyuta kodi (860 = UZS, 840 = USD) |
Example Request
{
"jsonrpc": "2.0",
"id": 1234567,
"method": "transaction.check",
"params": {
"account": {
"order_id": 12
},
"amount": 500,
"amount_tiyin": 50000,
"currency": 860
}
}Example Response
{
"jsonrpc": "2.0",
"id": 1234567,
"result": {
"status": "0",
"statusText": "OK"
}
}Ko‘proq status code’lar uchun Status codes sahifasiga qarang.
transaction.perform – Finalize Transaction
Ushbu metod foydalanuvchi to‘lovni tasdiqlagandan keyin Paylov tomonidan chaqiriladi.
Request Parameters
| Name | Name | Description |
|---|---|---|
| transaction_id | UUID4 | Tranzaksiyaning noyob identifikatori |
| account | dict | Merchant tomonidan berilgan field’lar (masalan, order_id) |
| amount | int | To‘lov summasi |
| amount_tiyin | int | To‘lov summasi tiyin ko‘rinishida |
| currency | int | 860 yoki 840 |
Example Request
{
"jsonrpc": "2.0",
"id": 1234567,
"method": "transaction.perform",
"params": {
"transaction_id": "9bd1a92b-5cce-47c8-a2df-99a20836ab9e",
"account": {
"order_id": 12
},
"amount": 500,
"amount_tiyin": 50000,
"currency": 860
}
}Example Response
{
"jsonrpc": "2.0",
"id": 1234567,
"result": {
"status": "0",
"statusText": "OK"
}
}Ko‘proq status code’lar uchun Status codes sahifasiga qarang.
Summary of Integration Flow
| Step | Action | Direction |
|---|---|---|
| 1 | Merchant callback va auth ma’lumotlarini taqdim etadi | Merchant → Paylov |
| 2 | Merchant payment link yaratadi | Merchant → Customer |
| 3 | Customer linkni ochadi va to‘lov qiladi | Customer → Paylov |
| 4 | Paylov tranzaksiyani tekshiradi | Paylov → Merchant |
| 5 | Paylov tranzaksiyani bajaradi | Paylov → Merchant |
| 6 | Customer return URL manziliga yo‘naltiriladi | Paylov → Customer |