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

API 403 қайтарады — құқық жетпей тұр

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

Қысқаша

403 келсе, кілтіңіз танылды — бұл жақсы жаңалық. Мәселе енді кілтте емес, құқықта. Жауаптағы error өрісін оқыңыз: ол бес түрлі мәннің бірі болады және әрқайсысының шешімі бөлек. insufficient_scope — кілтке құқық қосу керек. tariff_inactive — тарифті төлеу керек. forbidden — ресурс сіздің ұйымыңызға тиесілі емес. not_sandbox — бұл әрекет тек sandbox-та. account_blocked — қолдауға жазу керек.

Кодты ешқашан HTTP күйіне ғана қарап жазбаңыз. 403 — тым жалпы, шешім error өрісінде.

Бес қате, бес шешім

errorНе болдыНе істеу керек
insufficient_scopeКілтте осы әрекетке құқық берілмегенКабинеттен кілтке керекті scope қосыңыз
tariff_inactiveТариф белсенді емес немесе сынақ мерзімі біттіКабинет → Тариф
forbiddenРесурс сіздің ұйымыңызға немесе кілтіңізге көрінбейдіКілт пен счёт бір ұйымға тиесілі ме, тексеріңіз
not_sandboxӘрекет тек sandbox режимінде істейдіМысалы simulate live-та жұмыс істемейді
account_blockedАккаунт бөгелгенҚолдауға жазыңыз

Scope жетпей тұрса

Scope — кілттің не істей алатынын шектейтін құқық белгісі. Алтауы бар:

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

Ең жиі кездесетін жағдай: кілт тек оқуға берілген, ал код счёт жасамақ болады. Немесе қайтару жасағанда refunds:write жетпейді — бұл әдейі бөлек шығарылған, қайтару ең қауіпті әрекет.

Қосу жолы: кабинет → Интеграциялар → кілтті ашып, керекті құқықты белгілеңіз. Жаңа кілт жасаудың қажеті жоқ, ескісі сол күйі қала береді.

Керегінен артық scope бермеңіз. Дүкен сайтына invoices:read пен invoices:write жеткілікті. Кілт сыртқа шығып кетсе, зияны да сол құқықпен шектеледі.

Тариф белсенді емес болса

tariff_inactive екі жағдайда келеді: сынақ мерзімі бітіп, тариф таңдалмаған немесе төленбеген. Сынақ бірінші нақты счёттан басталады, тіркелген күннен емес — сондықтан «мен кеше ғана тіркелдім» деген уәж мұнда жұмыс істемейді, есеп бірінші live счёттан жүреді.

Sandbox бұл қатеге ұшырамайды: qp_test_ кілтпен жұмысыңыз тариф белсенді болмаса да жалғаса береді. Сондықтан sandbox-та бәрі істеп, live-та 403 келсе — бірінші тексеретін нәрсе осы.

forbidden: ресурс сізге көрінбейді

forbidden дегені — сұраған счёт бар, бірақ ол сіздікі емес. Үш жағдайда болады.

1. Кілт басқа ұйымдікі. Бір аккаунтта бірнеше ұйым болса, әр ұйымның өз кілті бар. Бір ұйымның кілтімен екінші ұйымның счётын сұрасаңыз, дәл осы қате келеді. Кілт қай ұйымдікі екенін кабинеттен көресіз.

2. Кілт нақты бір кассирге байланған. Байланған кілттің live счёттары тек сол кассир арқылы жүреді. Басқа кассир жасаған счётты сұрасаңыз, ол кілтке көрінбейді. Көбіне мұндайда invoice_not_found (404) келеді, кейде forbidden. Бірнеше кассирмен жұмыс: Бір ұйымға бірнеше кассир.

3. Идентификатор басқа ортадан алынған. Sandbox-та жасалған счёттың id-ін live кілтпен сұрау — жиі кездесетін шатасу, әсіресе тестен көшкен соң.

Ажырату әдісі қарапайым: сол кілтпен GET /api/v1/invoices шақырыңыз. Тізім келсе, кілт жұмыс істейді, мәселе нақты счётта. Тізімде сіз іздеп жүрген счёт бар ма — соған қараңыз.

not_sandbox

Кейбір әдістер тек sandbox-та бар. Ең жиі кездесетіні — төлемді симуляциялау:

# Тек sandbox-та істейді
curl -X POST https://api.qut.kz/api/v1/invoices/INV_ID/simulate \
  -H "X-API-Key: qp_test_СІЗДІҢ_КІЛТІҢІЗ" \
  -H "Content-Type: application/json" \
  -d '{"status":"paid"}'

Мұны live кілтпен жіберсеңіз, not_sandbox келеді. Бұл — қорғаныс: нақты ақша жүрмеген счётты «төленді» деп белгілеуге болмайды.

Автоматты тестеріңіз live кілтпен жүріп кетсе, дәл осы қатеге тіреледі. Тест ортасында qp_test_ кілт тұрғанына көз жеткізіңіз.

Ұйым сәйкессіздігі

Ең шатастыратын жағдай — кассир мүлде басқа Kaspi ұйымына тиесілі болуы. Ұйым бірінші байланыс кезінде бекітіледі: содан кейін басқа Kaspi ұйымының кассирін қосуға тырыссаңыз, счёттар не жасалмайды, не сізге көрінбейді.

Мұны былай тексересіз: кабинеттегі Kaspi бөлімінде байланыс картасында қай ұйым көрсетіліп тұр, сол ұйым Kaspi Pay қосымшасында көріп отырған ұйымыңызбен бір ме? Екеуі бөлек болса, дұрыс ұйымның кассирін қосу керек.

Тексеру реті

  1. Жауаптың error өрісін оқыңыз — HTTP кодына емес, соған қараңыз
  2. insufficient_scope болса, кабинеттен кілтке құқық қосыңыз
  3. tariff_inactive болса, Тариф бөлімін ашыңыз
  4. forbidden болса, GET /api/v1/invoices тізімін сұрап, кілт қандай счёттарды көретінін қараңыз
  5. Тізім бос болса, кілт басқа ұйымдікі немесе басқа кассирге байланған
  6. Бәрі дұрыс көрінсе: Мәселе менде ме, Kaspi-де ме

Кілттің өзі танылмай тұрса, 403 емес, 401 келеді: API 401 қайтарады.

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

Scope қосқан соң кілтті ауыстыру керек пе? Жоқ. Құқық бірден күшіне енеді, ескі кілт жұмысын жалғастырады.

403 келгенде қайталауға бола ма? Жоқ. Құқық өзгермейінше нәтиже де өзгермейді.

Кілтті кассирге байлауды кері қайтаруға бола ма? Иә, кабинеттен байланысты алып тастауға болады. Бірақ бір кассирге байланған кілт бар кезде ол кассирді жоя алмайсыз — алдымен кілтті ажыратыңыз.

Тарифті төлегеннен кейін бірден істей ме? Иә, тариф белсенді болған сәттен бастап tariff_inactive жоғалады.

account_blocked неге келеді? Сирек кездеседі және оны өз бетіңізше шеше алмайсыз. WhatsApp +7 778 881 3333 немесе Telegram @qutpaybot арқылы қолдауға жазыңыз.

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

API 401 қайтарады — кілт қабылданбай жатыр401 unauthorized дегені — сұрауыңызда жарамды API кілт жоқ. Себептері, тексеру реті және жұмыс істейтін curl мысалы. Көбіне тақырып атауы немесе Bearer префиксі кінәлі.Мәселе менде ме, Kaspi-де ме — екі минуттық диагностикаҮш сұраққа жауап беріп, ақаудың қай жақта екенін анықтайсыз: интеграцияда, Kaspi байланысында әлде қызметте. Әр жауапқа нақты әрекет және қолдауға не жинау керегі.Бір ұйымға бірнеше кассир қосуға бола маИә, болады. Әр кассир — бөлек нөмір және бөлек байланыс. Негізгі кассир деген не, API кілтті нақты кассирге қалай байлау керек және айлық лимит қалай есептеледі.Кассир нөміріне қойылатын үш шартҚосылудың сәтті өтуі түгелдей осы үш шартқа байланысты: нақты SIM, иесінің ЖСН-іне ЖК/ЖШС тіркелмеген болуы және нөмірде тек «Кассир» рөлі. Нөмірді алдын ала қалай таңдау керек.

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

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