POST
/api/v1/invoices
Телефон бойынша шот
Клиентке Kaspi қосымшасында push келеді. Шот 24 сағат күтеді.
Дене
amount
міндетті
|
number |
|
phone_number
міндетті
|
string |
Кез келген пішінде: `87001234567`, `+7 700 123 45 67`, `7001234567`. Сервер оны Kaspi күтетін түрге келтіреді. |
cashier_id
|
int? |
Бірнеше кассир болса — қайсысы. Әдепкі: негізгі. |
description
|
string? |
Клиент Kaspi-де көретін мәтін. Kaspi алғашқы ~60 таңбасын ғана көрсетеді, сондықтан ең маңыздысын басына жазыңыз. |
external_order_id
|
string? |
|
idempotency_key
|
string? |
Қайталанған сұраныс дубль шот жасамауы үшін. Сол кілтпен қайта жіберсеңіз — 409. Бұрынғысы сәтсіз бітсе, жаңасы жасалады. |
internal_comment
|
string? |
Тек сіз үшін — Kaspi-ге жіберілмейді, клиент көрмейді. |
POST
/api/v1/invoices/check-client
Нөмірді Kaspi-де тексеру
Шот шығармас бұрын нөмірдің Kaspi-де бар-жоғын білуге болады.
Сұрау параметрлері
phone
міндетті
|
string |
Кез келген пішінде |
POST
/api/v1/invoices/qr
QR-шот
QR токенін қайтарады. Сканерлеу терезесі — бірнеше минут.
Дене
amount
міндетті
|
number |
|
cashier_id
|
int? |
|
description
|
string? |
|
external_order_id
|
string? |
|
idempotency_key
|
string? |
|
internal_comment
|
string? |
|
GET
/api/v1/invoices/{invoice_id}
Шотты алу
Webhook орнатпасаңыз, статусты осы арқылы сұрауға болады.
Жолдағы параметрлер
POST
/api/v1/invoices/{invoice_id}/cancel
Шотты болдырмау
Жолдағы параметрлер
POST
/api/v1/invoices/{invoice_id}/refund
Қайтару жасау
Жолдағы параметрлер
Дене
amount
|
number? |
Берілмесе — қалдықтың барлығы қайтарылады. |
idempotency_key
|
string? |
|
reason
|
string? |
|
POST
/api/v1/invoices/{invoice_id}/simulate
Төлемді имитациялау (тек sandbox)
Шотты қалаған күйге көшіреді — интеграцияны Kaspi-сіз тексеру үшін.
Тек `KASPI_DRIVER=mock` режимінде жұмыс істейді. Нақты Kaspi-мен бұл
эндпоинт әдейі жабық: өндірісте төлем күйін қолмен өзгерту — есепті
бұзудың ең қысқа жолы.
Жолдағы параметрлер
Сұрау параметрлері
state
міндетті
|
"paid" | "cancelled" | "expired" | "error" |
|