Tarif va to‘lov
Kompaniyaning Wasyt obunasi: tarif holati, balans va qarz, to‘lov shlyuzi orqali karta yoki QR bilan to‘ldirish. Filial bosh kompaniya tarifi bo‘yicha ishlaydi.
| Metod | Manzil | Vazifasi |
|---|---|---|
| GET | /company/tariff | Tarif haqida ma’lumot |
| POST | /company/tariff/pay-card | Karta bilan to‘lash |
| POST | /company/tariff/pay-card/confirm | Karta to‘lovini tasdiqlash |
| POST | /company/tariff/pay-qr | QR orqali to‘lash |
| GET | /company/tariff/payment-status/{externalId} | To‘lov holati |
Tarif haqida ma’lumot
/company/tariffBosh kompaniya obunasi: mijoz rekvizitlari, holat va bloklash, to‘lov davri (jumladan kechiktirilgan almashtirish), balans, qarz, to‘lanadigan summa va tavsiya etilgan to‘lov, oylik/yillik narx, keyingi yechib olish sanasi va xizmatlar bo‘yicha tafsilot. Tarif sozlanmagan bo‘lsa — 200 bilan bo‘sh obyekt.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
client | object | |
client.full_name | string | FISH |
client.inn | string | INN |
client.agreement_number | string | Shartnoma raqami |
client.agreement_date | null | |
client.phone | string | Telefon |
status | string | Status |
is_blocked | boolean | Bloklangan |
block_at | null | |
block_scheduled | boolean | |
billing_period | string | |
pending_billing_period | null | |
pending_billing_period_at | null | |
balance | integer | Balans |
debt | integer | Qarz |
due_now | integer | |
amount_to_pay | integer | |
recommended_payment | object | |
recommended_payment.amount | integer | Summa |
recommended_payment.current_period_amount | integer | |
recommended_payment.next_period_amount | integer | |
recommended_payment.next_period_starts_at | string | |
recommended_payment.is_prorated | boolean | |
monthly_total | integer | |
yearly_total | integer | |
period_total | integer | |
days_until_next_charge | integer | |
next_payment_at | string | |
trial_ends_at | null | |
breakdown | object[] | |
breakdown[].title | string | |
breakdown[].amount | integer | Summa |
breakdown[].is_filial | boolean |
{
"client": {
"full_name": "Director 1",
"inn": "000000001",
"agreement_number": "001/2026",
"agreement_date": null,
"phone": "998020000001"
},
"status": "active",
"is_blocked": false,
"block_at": null,
"block_scheduled": false,
"billing_period": "monthly",
"pending_billing_period": null,
"pending_billing_period_at": null,
"balance": 0,
"debt": 0,
"due_now": 8300,
"amount_to_pay": 8300,
"recommended_payment": {
"amount": 257300,
"current_period_amount": 8300,
"next_period_amount": 249000,
"next_period_starts_at": "2026-10-01",
"is_prorated": true
},
"monthly_total": 249000,
"yearly_total": 5388000,
"period_total": 249000,
"days_until_next_charge": 1,
"next_payment_at": "2026-10-01",
"trial_ends_at": null,
"breakdown": [
{
"title": "Company 1",
"amount": 150000,
"is_filial": false
},
{
"title": "Company 1-1",
"amount": 99000,
"is_filial": true
}
]
}Karta bilan to‘lash
/company/tariff/pay-cardShlyuzda tarifni karta bilan to‘lashni ochadi va pending holatidagi to‘lov yaratadi; oldingi yakunlanmagan to‘lov bekor qilinadi. external_id, transaction_id, cid va SMS-kod yuborilgan telefonni qaytaradi — ularni tasdiqlashga yuborish kerak. Tarif yo‘q — 404, shlyuz ishlamayapti — 503.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
amount | number | Ha | Summa. Verguldan keyin 2 tagacha raqam. Kamida 1. 999999999999.99 dan oshmasin |
card_number | integer | Ha | Aniq 16 ta raqam |
expire_date | string | Ha | Kartaning amal qilish muddati. Maks. 7 belgi |
phone | string | Yo‘q | Telefon (ma’lumot uchun; kod karta telefoniga keladi). Format 998xxyyyzzzz |
{
"amount": 50000,
"card_number": "8600123412341234",
"expire_date": "03/99",
"phone": "998901234567"
}curl -X POST "https://api.wasyt.uz/company/tariff/pay-card" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"amount":50000,"card_number":"8600123412341234","expire_date":"03/99","phone":"998901234567"}'Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
external_id | string | |
transaction_id | string | Tranzaksiya |
cid | string | |
otp_sent_phone | string |
{
"external_id": "da4264bb-2767-471d-bd02-c968a284068c",
"transaction_id": "gw-tx-1",
"cid": "gw-cid-1",
"otp_sent_phone": "+99890***1234"
}Karta to‘lovini tasdiqlash
/company/tariff/pay-card/confirmKarta bilan to‘lov javobidagi transaction_id va cid bo‘yicha SMS-kodni shlyuzga yuboradi va shlyuz javobini qaytaradi. Balans shlyuz xabarnomasidan keyin to‘ldiriladi. Shlyuz xatolari (muddati o‘tgan yoki noto‘g‘ri kod) tushunarli xabar bilan 400 ga aylantiriladi, ishlamasa — 503.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
transaction_id | string | Ha | Tranzaksiya |
cid | string | Ha | To‘lov javobidagi karta identifikatori |
otp | string | Ha | SMS dagi kod |
Javob
Javob misoli hali testlar tomonidan yozib olinmagan.
QR orqali to‘lash
/company/tariff/pay-qrTanlangan provayderda (click, uzum, payme, paylov) to‘lov sahifasini ochadi va pending holatidagi to‘lov yaratadi; oldingi yakunlanmagan to‘lov bekor qilinadi. external_id, checkout_url va qr_content — havolaning PNG data URI ko‘rinishidagi QR-kodini qaytaradi. To‘lov asinxron tasdiqlanadi, holat alohida metod bilan tekshiriladi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
amount | number | Ha | Summa. Verguldan keyin 2 tagacha raqam. Kamida 1. 999999999999.99 dan oshmasin |
provider | string | Ha | Mumkin qiymatlar: click, uzum, payme, paylov |
{
"amount": 50000,
"provider": "click"
}curl -X POST "https://api.wasyt.uz/company/tariff/pay-qr" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"amount":50000,"provider":"click"}'Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
external_id | string | |
provider | string | |
checkout_url | string | |
qr_content | string |
{
"external_id": "9678dea4-c43c-4a97-8941-9bd518748625",
"provider": "click",
"checkout_url": "https://checkout.example/abc",
"qr_content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFAAQMAAAD3XjfpAAAABlBMVEUEAgT8/vxJvsdeAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABpUlEQVRoge2ZMXLEMAhFceVj+KjyUX0MVyYrPiAl2+wkMyLFp/BI4m31B/jSin4YQpDgH8BHPPbX9tptu/XUI+2KXCNYATbT6JrAVxz35mf2E4IlYFeqpXqnMXrn2U6wHjwsLRvEJPhvQDCuXtYawTLQ254dKuI8shW+90eCi0CPqKb5Ez..."
}To‘lov holati
/company/tariff/payment-status/{externalId}To‘lov javobidagi external_id bo‘yicha to‘lov holati: status, status_label, amount va is_paid (shlyuz to‘lovni tasdiqlab, balans to‘ldirilganda true). QR ekranda turganda frontend bu metodni so‘rab turadi. Begona yoki noma’lum to‘lov — 404.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Yo‘l parametrlari
| Parametr | Tavsif |
|---|---|
externalId | External Id |
Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
external_id | string | |
status | string | Status |
status_label | string | |
amount | integer | Summa |
is_paid | boolean |
{
"external_id": "ext-pending",
"status": "pending",
"status_label": "В процессе",
"amount": 50000,
"is_paid": false
}
