Skip to content

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.

MetodManzilVazifasi
GET/company/tariffTarif haqida ma’lumot
POST/company/tariff/pay-cardKarta bilan to‘lash
POST/company/tariff/pay-card/confirmKarta to‘lovini tasdiqlash
POST/company/tariff/pay-qrQR orqali to‘lash
GET/company/tariff/payment-status/{externalId}To‘lov holati

Tarif haqida ma’lumot ​

GET/company/tariff

Bosh 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) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
clientobject
client.full_namestringFISH
client.innstringINN
client.agreement_numberstringShartnoma raqami
client.agreement_datenull
client.phonestringTelefon
statusstringStatus
is_blockedbooleanBloklangan
block_atnull
block_scheduledboolean
billing_periodstring
pending_billing_periodnull
pending_billing_period_atnull
balanceintegerBalans
debtintegerQarz
due_nowinteger
amount_to_payinteger
recommended_paymentobject
recommended_payment.amountintegerSumma
recommended_payment.current_period_amountinteger
recommended_payment.next_period_amountinteger
recommended_payment.next_period_starts_atstring
recommended_payment.is_proratedboolean
monthly_totalinteger
yearly_totalinteger
period_totalinteger
days_until_next_chargeinteger
next_payment_atstring
trial_ends_atnull
breakdownobject[]
breakdown[].titlestring
breakdown[].amountintegerSumma
breakdown[].is_filialboolean
json
{
    "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 ​

POST/company/tariff/pay-card

Shlyuzda 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) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

So‘rov tanasi ​

MaydonTuriMajburiyTavsif
amountnumberHaSumma. Verguldan keyin 2 tagacha raqam. Kamida 1. 999999999999.99 dan oshmasin
card_numberintegerHaAniq 16 ta raqam
expire_datestringHaKartaning amal qilish muddati. Maks. 7 belgi
phonestringYo‘qTelefon (ma’lumot uchun; kod karta telefoniga keladi). Format 998xxyyyzzzz
json
{
    "amount": 50000,
    "card_number": "8600123412341234",
    "expire_date": "03/99",
    "phone": "998901234567"
}
bash
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
MaydonTuriTavsif
external_idstring
transaction_idstringTranzaksiya
cidstring
otp_sent_phonestring
json
{
    "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 ​

POST/company/tariff/pay-card/confirm

Karta 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) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

So‘rov tanasi ​

MaydonTuriMajburiyTavsif
transaction_idstringHaTranzaksiya
cidstringHaTo‘lov javobidagi karta identifikatori
otpstringHaSMS dagi kod

Javob ​

Javob misoli hali testlar tomonidan yozib olinmagan.

QR orqali to‘lash ​

POST/company/tariff/pay-qr

Tanlangan 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) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

So‘rov tanasi ​

MaydonTuriMajburiyTavsif
amountnumberHaSumma. Verguldan keyin 2 tagacha raqam. Kamida 1. 999999999999.99 dan oshmasin
providerstringHaMumkin qiymatlar: click, uzum, payme, paylov
json
{
    "amount": 50000,
    "provider": "click"
}
bash
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
MaydonTuriTavsif
external_idstring
providerstring
checkout_urlstring
qr_contentstring
json
{
    "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 ​

GET/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) ​

SarlavhaQiymatTavsif
AuthorizationBearer {token}POST /common/auth/login dan olingan token
Acceptapplication/jsonJavob JSON da
Accept-LanguageruXabarlar va nomlar tili: ru, uz, oz

Yo‘l parametrlari ​

ParametrTavsif
externalIdExternal Id

Javob · 200 ​

Javob maydonlari
MaydonTuriTavsif
external_idstring
statusstringStatus
status_labelstring
amountintegerSumma
is_paidboolean
json
{
    "external_id": "ext-pending",
    "status": "pending",
    "status_label": "В процессе",
    "amount": 50000,
    "is_paid": false
}