# Қосу қауіпсіз бе және сервис қалай құрылған

> Сервис Kaspi Pay-дегі шектеулі «Кассир» рөлі арқылы жұмыс істейді: счёт шығарады, күйін көреді, өз счёттары бойынша қайтару жасайды. Ақшаға қол жеткізе алмайды. Нені сақтаймыз және қалай ажыратасыз.

## Қысқаша

Сервис сіздің Kaspi Pay аккаунтыңыздағы **«Кассир» рөлі** арқылы жұмыс істейді. Бұл рөлдің құқығы аз: счёт шығару, счёттың күйін көру және өзі шығарған счёттар бойынша қайтару жасау. Аударым жасау, шоттан ақша алу, деректемелерді өзгерту, басқа қызметкерлерді басқару — бұлардың бірі де рөлге кірмейді. Сессия шифрланған күйде сақталады, байланысты кабинеттен бір батырмамен үзуге болады, ал Kaspi Pay-де қызметкерді өшірсеңіз де жеткілікті.

## «Кассир» рөлі нені істей алады және нені істей алмайды

Kaspi Pay-де бес рөл бар: Управляющий, Бухгалтер, **Кассир**, Менеджер Магазина, Менеджер Маркетинга. Біз солардың ішінен ең шектеулісімен — «Кассир» рөлімен жұмыс істейміз, себебі QR арқылы төлем қабылдау құқығы сонда ғана бар.

| Әрекет | «Кассир» рөлінде |
|---|---|
| Счёт шығару (QR немесе телефонға) | Иә |
| Счёттың күйін көру | Иә |
| Өзі шығарған счёт бойынша қайтару | Иә |
| Шоттан аударым жасау | Жоқ |
| Ақшаны шығару, төлем жасау | Жоқ |
| Ұйым деректемелерін өзгерту | Жоқ |
| Қызметкер қосу немесе өшіру | Жоқ |
| Kaspi-дегі есеп айырысу бөлімін көру | Жоқ |
| Несие, депозит, өзге банк өнімдері | Жоқ |

Яғни ең жаман жағдайда да біреу сіздің атыңыздан счёт шығара алады, ақшаны ала алмайды. Ақша қайда жүретіні туралы: [Ақша қашан және қайда түседі](/kb/money-arrival).

## Сессия қалай сақталады

Kaspi-мен байланысу SMS коды арқылы бір рет жасалады, содан кейін сессия сақталады және счёт шығару үшін сол қолданылады.

- Сессия деректері **шифрланған күйде** сақталады.
- Kaspi **бір кассир нөміріне бір ғана белсенді құрылғыға** рұқсат береді. Сол нөмірмен Kaspi Pay қосымшасына кірсе, біздің сессия үзіледі. Бұл — Kaspi-дің қауіпсіздік шектеуі: [Кассир байланысы үзілді](/kb/connection-lost).
- Сессия үзілгенде счёт шығару тоқтайды, бірақ бұрын төленген счёттарға да, Kaspi шотыңызға да ештеңе болмайды.

## Кез келген уақытта ажыратуға болады

Байланысты үзудің екі жолы бар, екеуі де сіздің қолыңызда:

1. **Кабинеттен.** [Kaspi кассирлері](https://qut.kz/app/kaspi/) бөліміне кіріп, байланысты ажыратасыз. Осыдан кейін біз сіздің атыңыздан ешқандай счёт шығара алмаймыз.
2. **Kaspi Pay қосымшасынан.** Настройки → Сотрудники ішінен сол қызметкерді өшіресіз. Бұл да жеткілікті: рөл жойылған соң сессия жарамсыз болады, бізден рұқсат сұраудың қажеті жоқ.

Екінші жол маңызды: ажырату толығымен Kaspi жағында, бізге тәуелсіз жасалады.

## Не сақтаймыз, не сақтамаймыз

**Сақтаймыз** — қызметтің жұмысына қажетті бөлігі:

- Kaspi сессиясы (шифрланған) және кассир нөмірі
- Счёттар: сомасы, сипаттамасы, күйі, уақыты, оқиғалар тарихы
- Сіз өзіңіз бергеніңіз: `externalOrderId`, `metadata`, клиенттің аты/телефоны/email — бұларды счёт жасағанда өзіңіз жіберсеңіз ғана
- Webhook жеткізу журналы және API кілттердің баптаулары

**Сақтамаймыз** — техникалық тұрғыдан бізге келмейтіндер:

- Клиенттің карта деректері, шот нөмірі, балансы. Төлем толығымен Kaspi қосымшасының ішінде өтеді, біз ол экранды да көрмейміз
- Сіздің Kaspi Pay кабинетіңізге кіру деректері. Бізде пароль жоқ, байланыстыру SMS коды арқылы
- Kaspi-дегі шот балансыңыз және есеп айырысу үзінділеріңіз

## Интеграция жағындағы қауіпсіздік

Бір бөлігі сіздің қолыңызда — API кілтті қалай ұстайтыныңыз:

- **Кілт тек серверде болсын.** Браузерде орындалатын кодқа, мобильді қосымшаның ішіне (APK/IPA), жария репозиторийге салмаңыз.
- **Ең аз құқық принципі.** Кілтке тек керекті scope-тарды беріңіз: `invoices:read`, `invoices:write`, `refunds:write`, `subscriptions:manage`, `webhooks:manage`, `partner:manage`.
- **Кілтті нақты кассирге байлауға болады.** Сонда сол кілт басқа кассирдің счёттарын мүлде көрмейді.
- **Webhook-та қолтаңбаны тексеріңіз.** `HMAC-SHA256(secret, timestamp + "." + rawBody)`, денені өзгертілмеген байт күйінде, ал 5 минуттан ескі `timestamp` қабылданбасын.
- **Кілт сыртқа шығып кетсе** — ескісін бірден жойып, жаңасын жасайсыз. Ескі кілт сол сәтте жұмысын тоқтатады.

## Сервис Kaspi-мен қандай қатынаста

Qut Pay — **тәуелсіз сервис**. Біз Kaspi-дің өкілі емеспіз, оның атынан уәде бермейміз және оның шарттарын өзгерте алмаймыз. Біз істейтініміз — сіздің өз аккаунтыңыздағы «Кассир» рөлін автоматтандыру. Kaspi өз ережелерін кез келген уақытта өзгерте алады, ал біз ондай өзгеріске бейімделуге тырысамыз.

Сондықтан шешім қабылдағанда осыны ескеріңіз: сервисті кез келген уақытта ажыратуға болады, ал ажыратқан соң Kaspi Pay-іңіз бұрынғыдай жұмысын жалғастырады.

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

**Сіздер менің ақшама қол жеткізе аласыздар ма?** Жоқ. «Кассир» рөлінде аударым жасау құқығы жоқ, ал ақша ешқашан бізге түспейді.

**Kaspi паролімді беру керек пе?** Жоқ. Байланыстыру кассир нөміріне келген SMS коды арқылы жүреді, пароль мүлде сұралмайды.

**Ажыратсам, бұрынғы деректерім не болады?** Счёттар тарихы кабинетте қалады, оны экспорттап ала аласыз. Kaspi шотыңызға және өткен төлемдерге ештеңе болмайды.

**Қызметкерім кабинетті ашса, не көреді?** Оған берген рөліңізге байланысты: кабинетте owner, manager және developer рөлдері бар, әрқайсысы әртүрлі бөлімдерді көреді.

**Клиенттің деректері кімге көрінеді?** Тек сізге және кабинетке кіру құқығы бар қызметкерлеріңізге. Клиент деректерін счёт жасағанда өзіңіз жібересіз — жібермесеңіз, бізде ол деректер де болмайды.
