# Клиент қалай төлейді

> Клиентке жетудің үш жолы бар: QR сканерлеу, төлем сілтемесін ашу және телефон нөмірі арқылы Kaspi қосымшасына счёт жіберу. Әрқайсысы қашан ыңғайлы және мерзімдері қандай.

## Қысқаша

Клиентке жетудің үш жолы бар: **QR сканерлеу** (экрандағы немесе басылған), **төлем сілтемесін ашу** және **телефон нөмірі арқылы** клиенттің Kaspi қосымшасына счёт жіберу. Үшеуінің де соңы бір — клиент өз Kaspi қосымшасында соманы көріп, растайды, ақша сіздің Kaspi шотыңызға түседі. Айырмашылығы уақытында: **QR сканерлеу терезесі шектеулі (шамамен 3 минут)**, ал телефонға жіберілген счёт клиенттің қосымшасында **әлдеқайда ұзақ тұрады**.

## Үш жол

| Жол | Қалай беріледі | Қашан ыңғайлы |
|---|---|---|
| **QR** | Экрандағы сурет немесе басылған қағаз | Клиент қасыңызда тұрғанда, офлайн нүктеде |
| **Сілтеме** | WhatsApp, Instagram директ, SMS, сайттағы батырма | Клиент алыс, жазысып тұрсыз, төлеуді кейінге қалдыруы мүмкін |
| **Телефонға счёт** | Kaspi қосымшасына push келеді | Нөмірін білесіз, телефоны қолында, дереу төлеуі керек |

Техникалық жағынан бұл `POST /api/v1/invoices` сұрауының `kind` өрісі: `qr` (әдепкі) немесе `phone`. `qr` жауабында QR суреті де, төлем сілтемесі де бірге келеді — яғни бірінші екі жол бір счёттан шығады.

## 1. QR сканерлеу

Счёт жасағанда жауапта `qrUrl` мен `qrImageUrl` келеді. Оны екі түрде қолданасыз:

**Экрандағы QR (динамикалық).** Касса компьютерінің, планшеттің немесе вендинг автоматының экранында әр тапсырысқа жаңа QR шығарасыз. Сомасы алдын ала жазылған, клиент тек растайды. Ең дәл және ең қатесіз тәсіл.

**Басылған QR (статикалық).** Үстелге, витринаға немесе шлагбаумға қағаз QR іліп қоясыз. Ол әдетте [төлем сілтемесіне](/kb/payment-links) апарады, сомасы ашық болуы да мүмкін.

Клиент не істейді: Kaspi қосымшасын ашады → сканерлеу батырмасын басады → камераны QR-ға тосады → соманы көріп растайды.

**Маңызды шектеу:** QR-дың сканерлеу терезесі шамамен үш минут. Оны Kaspi белгілейді, біз ұзарта алмаймыз. Терезе өтіп кетсе, клиент «кейінірек көріңіз» деген хабар көреді — ондайда жаңа счёт жасайсыз. Нақты мерзімді счёт жауабындағы `expiresAt` өрісінен алыңыз, тұрақты деп есептемеңіз. Толығырақ: [QR «кейінірек көріңіз» деп тұр](/kb/qr-expired).

Сондықтан QR-ды клиент дәл сол сәтте төлейтін жағдайда ғана шығарыңыз. Клиент «кешке төлеймін» десе, QR емес, сілтеме беріңіз.

## 2. Төлем сілтемесі

Счёт жауабындағы `payUrl` — кез келген жерге жіберуге болатын әдеттегі сілтеме. Оны WhatsApp-қа, Instagram директіне, SMS-ке немесе сайттағы «Төлеу» батырмасына қоясыз.

Клиент сілтемені басқанда төлем беті ашылады: сома, сипаттама және Kaspi-ге өту батырмасы. Телефоннан ашса, Kaspi қосымшасы тікелей ашылады (`deepLink` сол үшін).

Бұдан бөлек **тұрақты төлем сілтемелері** бар: `qut.kz/p/<slug>` түрінде, сомасы бекітілген немесе ашық болуы мүмкін. Оларды профильге, сайтқа, визиткаға қоюға болады — олар бір рет жасалады да, ұзақ жұмыс істейді. Толығырақ: [Төлем сілтемелері](/kb/payment-links) және [Ашық сомалы төлем сілтемелері](/kb/open-amount-links).

Сілтеме — ең икемді жол: клиент оны сақтап қоя алады, кейін қайта ашады, басқа адамға жібере алады.

## 3. Телефон нөмірі арқылы

`kind: "phone"` етіп счёт жасасаңыз, клиенттің Kaspi қосымшасына тікелей счёт барады: экранында хабарлама шығады, ол ашып, растайды. Сканерлеудің де, сілтеме басудың да қажеті жоқ.

Шарттары:

- `customer.phone` өрісін `7XXXXXXXXXX` пішімінде жіберуіңіз керек
- Сома **бүтін теңге** болуы керек, тиынсыз
- Сипаттама **60 таңбамен** шектелген (QR-да 100)
- Клиентте Kaspi қосымшасы болуы керек — жоқ болса счёт жетпейді, ондайда QR немесе сілтеме беріңіз: [Клиентте Kaspi қосымшасы жоқ](/kb/customer-no-kaspi)

Артықшылығы: **phone счёт клиенттің қосымшасында әлдеқайда ұзақ тұрады.** Клиент сол сәтте бос болмаса, кейін ашып төлей алады. Сондықтан курьер, тапсырыс бойынша сату, жазылым, аралықтағы төлемдер үшін қолайлы.

Кемшілігі: нөмірді дұрыс білу керек. Нөмір қате болса, счёт мүлде басқа адамға барады.

## Қайсысын таңдау керек

| Жағдай | Ұсыныс |
|---|---|
| Дүкенде, клиент кассада тұр | Экрандағы QR |
| Мейрамхана, үстелде | Басылған QR немесе есеп-шотпен бірге экрандағы QR |
| WhatsApp/Instagram арқылы сату | Сілтеме |
| Клиент «кейін төлеймін» деді | Сілтеме немесе phone счёт |
| Курьер тауарды жеткізіп тұр | Phone счёт немесе курьер телефонындағы QR |
| Тұрақ, шлагбаум, вендинг | Экрандағы QR |
| Тұрақты клиентке ай сайын | Жазылым, ол phone счёт шығарады |
| Клиент шетелдік, Kaspi жоқ | Бұл жол жарамайды |

Толық салыстыру кестесі: [QR счёт пен телефонға счёт](/kb/qr-vs-phone).

## Үш жолда да ортақ нәрсе

- Ақша **тіке сіздің Kaspi шотыңызға** түседі, бізде ұсталмайды
- Клиент әр төлемді **өзі растайды** — ешқандай төлем клиенттің қатысуынсыз өтпейді
- Төлегеннен кейін сізге `invoice.paid` webhook-і келеді, әдетте 5 секунд ішінде
- Kaspi өз комиссиясын өзі анықтайды, оны біз белгілемейміз
- Клиент өз қосымшасында Kaspi чегін алады

## Жиі қойылатын сұрақтар

**Бір счётты әрі QR, әрі сілтеме етіп беруге бола ма?** Иә. `kind: "qr"` счёт жауабында `qrUrl` да, `payUrl` да бірге келеді — біреуін экранға, екіншісін хабарламаға қоя аласыз.

**QR терезесін ұзартуға бола ма?** Жоқ, оны Kaspi белгілейді. Ұзақ тұратын нұсқа керек болса — phone счёт немесе төлем сілтемесі.

**Клиент соманы өзі енгізе ала ма?** Иә, ашық сомалы төлем сілтемесі арқылы: [Ашық сомалы төлем сілтемелері](/kb/open-amount-links).

**Клиент төлемей кетсе, счёт не болады?** Мерзімі біткенде `expired` күйіне ауысады. Сирек жағдайда ақша кешігіп келуі мүмкін — ондайда `invoice.paid` оқиғасы `late: true` белгісімен келеді: [Кеш келген төлем](/kb/late-payment).

**Клиент төлегенін бірден білем бе?** Иә. Webhook әдетте 5 секунд ішінде келеді, қаласаңыз күйді қатар сұрап та тұруға болады: [Webhook пен күйді сұрау](/kb/polling-vs-webhook).
