Qut Pay Сайт Кабинет Білім базасы Нұсқаулықтар API құжаттамасы ҚАЗРУС
Басты бетБілім базасы → Анықтамалық

Құқықтар (scopes) — кілт нені істей алады

Жаңартылды: 2026-09-14 · Markdown нұсқасы

Қысқаша

Scope — API кілтінің құқығы. Кілт жасағанда қай әрекеттерге рұқсат беретініңізді таңдайсыз, ал кілт тек соларды істей алады. Құқығы жоқ әдісті шақырсаңыз insufficient_scope (HTTP 403) келеді.

Барлығы алты scope бар. Негізгі қағида қарапайым: әр кілтке тек қажеттісін беріңіз. Сайтқа, мысалы, invoices:write пен invoices:read жеткілікті — қайтару да, жазылым да, webhook басқару да қажет емес.

Алты scope

ScopeНе ашады
invoices:readСчёттарды оқу: тізім, біреуі, оқиғалары мен қайтарулары
invoices:writeСчёт жасау, топтап жасау, болдырмау
refunds:writeАқшаны қайтару
subscriptions:manageЖазылымдарды жасау және басқару
webhooks:manageWebhook адрестерін қосу, өзгерту, жою
partner:manageСеріктестік әдістері: клиент ұйымдарын басқару

Қай scope қай әдісті ашады

ӘдісКерек scope
GET /api/v1/invoicesinvoices:read
GET /api/v1/invoices/{id}invoices:read
POST /api/v1/invoicesinvoices:write
POST /api/v1/invoices/bulkinvoices:write
POST /api/v1/invoices/{id}/cancelinvoices:write
POST /api/v1/invoices/{id}/simulateinvoices:write (тек sandbox)
POST /api/v1/invoices/{id}/refundrefunds:write
GET /api/v1/subscriptionssubscriptions:manage
POST /api/v1/subscriptionssubscriptions:manage
PATCH /api/v1/subscriptions/{id}subscriptions:manage
POST /api/v1/subscriptions/{id}/pause \/resume \/cancel \/runsubscriptions:manage
Webhook адрестерін басқаруwebhooks:manage
Серіктестік әдістеріpartner:manage
GET /api/v1/statusЕшқандай scope керек емес

Назар аударыңыз: қайтару invoices:write-қа кірмейді. Ол бөлек refunds:write құқығы. Себебі айқын: счёт жасау мен ақша қайтару — қауіп деңгейі мүлдем басқа екі әрекет.

Ең аз құқық принципі

Кілтке артық құқық бермеу — қауіпсіздіктің ең арзан әрі ең тиімді шарасы. Кілт сыртқа шығып кетсе, бөгде адам тек сол құқықтар шегінде ғана әрекет ете алады.

Сайттың тапсырыс қабылдайтын бөлігіне екі-ақ құқық жеткілікті:

invoices:write   — тапсырысқа счёт жасау
invoices:read    — төлем өтті ме, тексеру

Нақты мысалдар:

ИнтеграцияЖеткілікті құқықтар
Интернет-дүкен, сайтinvoices:write, invoices:read
Telegram ботinvoices:write, invoices:read
Есеп немесе аналитика жүйесіinvoices:read
Қолдау операторының панеліinvoices:read, refunds:write
Жазылым платформасыsubscriptions:manage, invoices:read
CI немесе мониторинг скриптіештеңе (/status ашық)
Серіктес платформасыpartner:manage және қажетіне қарай қалғаны

Қарсы мысал: сайттың кодына refunds:write берудің қажеті жоқ. Сайт ешқашан ақша қайтармайды — қайтаруды адам қабылдайтын шешім бойынша бөлек құралмен жасайды. Ал кілт сыртқа шығып кетсе, айырмашылық үлкен: біреуінде бөтен адам счёт қана жасайды, екіншісінде сіздің Kaspi шотыңыздан ақша қайтара бастайды.

insufficient_scope қатесі

{
  "error": "insufficient_scope",
  "message": "Бұл әрекетке кілттің құқығы жеткіліксіз"
}

HTTP күйі — 403. Бұл қате «кілт жарамсыз» дегенді білдірмейді: кілт дұрыс, бірақ сұралған әрекетке құқығы жоқ.

403 қатесінің басқа да себептері бар, оларды шатастырмаңыз:

КодНе болды
insufficient_scopeКілтте керекті scope жоқ
forbiddenРесурс басқа ұйымға тиесілі
tariff_inactiveТариф белсенді емес немесе сынақ бітті
account_blockedАккаунт бөгелген
not_sandboxӘрекет тек sandbox-та істейді

Ал unauthorized (401) — кілттің өзі жарамсыз деген сөз, ол мүлдем басқа мәселе. Талдау реті: API 403 қайтарады.

Кілтке scope қосу

Кабинет → Интеграциялар → API кілттері → керекті кілтті ашып, құқықтарды өзгертесіз.

Маңызды нәрсе: құқықты өзгерту үшін кілтті ауыстырудың қажеті жоқ. Кілттің өзі сол күйінде қалады, өзгерісі бірден күшіне енеді — сервердегі айнымалыны да, кодты да түзетпейсіз.

Жаңа әдісті қоса бастағанда әдеттегі реті:

  1. Кодта қандай әдістер шақырылатынын жазып шығыңыз.
  2. Жоғарыдағы кестеден әрқайсысына керек scope-ты табыңыз.
  3. Кілтке тек соларды қосыңыз.
  4. Sandbox-та тексеріңіз.

Кері бағытта да солай: интеграция бір әдісті қолданбай қалса, оның scope-ын алып тастаңыз.

Scope пен кассир байланысы — екі басқа нәрсе

Бұл екеуін жиі шатастырады:

ScopeКассирге байлау
Нені шектейдіҚандай әрекет істеуге боладыҚай счёттар көрінеді
Қате кодыinsufficient_scope (403)invoice_not_found (404)
МысалҚайтару жасай алмайдыБасқа кассирдің счётын көрмейді

Яғни, кілтте refunds:write бар, бірақ счёт басқа кассирге тиесілі болса — қайтару бәрібір өтпейді, тек қатесі басқа болады. Толығы: API кілттер.

Тексеру тізімі

Продакшенге шықпай тұрып кілттеріңізді бір қарап шығыңыз:

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

Барлық scope-ты қосып қойсам бола ма? Техникалық тұрғыдан жұмыс істейді, бірақ бұл кілт сыртқа шыққандағы залалды бірнеше есе үлкейтеді. Ең аз құқық принципі — бір минуттық жұмыс.

Scope-ты алып тастасам, бұрынғы счёттар жойыла ма? Жоқ. Scope тек болашақ сұрауларға әсер етеді.

Қайтаруға invoices:write жетпей ме? Жетпейді. Қайтару үшін бөлек refunds:write керек: Қайтару API.

Жазылымға қанша scope керек? Біреу — subscriptions:manage. Жазылым шығарған счёттарды оқу үшін қосымша invoices:read пайдалы: Жазылым API.

Sandbox кілтінде де scope бар ма? Иә, тура солай жұмыс істейді. Сондықтан құқықтарды алдымен sandbox-та тексеріп алған дұрыс.

Байланысты мақалалар

API кілттер — жасау, сақтау, ауыстыруqp_live_ және qp_test_ кілттерінің айырмашылығы, кілтті кабинетте жасау, қайда сақтау керек және қайда мүлдем сақтамау керек, әр интеграцияға бөлек кілт, үзіліссіз ауыстыру реті және жою салдары.API 403 қайтарады — құқық жетпей тұр403 дегені кілтіңіз танылды, бірақ бұл әрекетке рұқсат жоқ. Бес түрлі себебі бар: scope жетпеуі, тариф, бөтен ұйым, кілт байланған кассир, sandbox әрекеті. Әрқайсысын қалай ажырату керек.Қателер каталогы — API не қайтарады және не істеу керекQut Pay API-інің барлық негізгі қате кодтары топтап берілген: авторизация, Kaspi байланысы, счёт, қайтару, тариф лимиті, webhook, жазылым. Әрқайсысының себебі және шешімі.Қайтару API — толық және ішінара қайтаруPOST /invoices/{id}/refund әдісінің толық анықтамасы: сұрау өрістері, толық және ішінара қайтару, сома шектеуі, барлық қате коды, refund_unknown келгенде не істеу керек және қандай оқиғалар жіберіледі.Жазылым API — кестеге сай счёт шығаруЖазылым счётты кестеге сай автоматты шығарады, ал әр төлемді клиент өзі растайды. Барлық өрістер, аралықтар, қайталау сатысы, өткізіп алу саясаты, pause/resume/run әдістері және күй өрістері.

Сұрағыңыз қалды ма? WhatsApp +77788813333 · kazprose@gmail.com
Кабинеттен де жазуға болады: Қолдау.

Qut Pay — тәуелсіз сервис, «Kaspi Bank» АҚ-мен аффилирленбеген. Kaspi және Kaspi Pay — құқық иесінің тауар белгілері.