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

API кілттер — жасау, сақтау, ауыстыру

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

Қысқаша

API кілт — сұраудың X-API-Key тақырыбында жүретін құпия жол. Ол API алдында сіздің ұйымыңызды танытады.

POST /api/v1/invoices
X-API-Key: qp_live_a1b2c3d4…

Екі түрі бар: qp_live_… нақты ақшамен жұмыс істейді, qp_test_… sandbox-та жүреді. Кілт кабинетте жасалады және бір-ақ рет көрсетіледі — сол сәтте көшіріп алмасаңыз, қайта көру мүмкін емес, жаңасын жасауға тура келеді.

Ең басты ереже: кілт тек серверде тұруы керек.

Кілт түрлері

ПрефиксРежимНе болады
qp_test_SandboxKaspi шақырылмайды, нақты ақша жүрмейді, төлемді өзіңіз симуляциялайсыз
qp_live_НақтыНақты Kaspi QR, нақты ақша, Kaspi кассирі керек

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

Кілттің пішімі бұзылса invalid_api_key, кілт жарамсыз немесе өшірілген болса unauthorized келеді: API 401 қайтарады.

Жасау

Кабинет → Интеграциялар → API кілттері → кілт жасау. Жасаған кезде үш нәрсені шешесіз:

НеТүсініктеме
АтауыӨзіңіз үшін: «Сайт», «Telegram бот», «1С». Кейін қайсысы не істеп жүргенін осыдан тапсыз
Құқықтар (scopes)Тек қажеттісін қосыңыз: Құқықтар (scopes)
КассирҚаласаңыз, кілтті нақты бір кассирге байлайсыз

Кілт экранда бір рет көрсетіледі. Сол жерде көшіріп алып, бірден серверіңіздің құпия қоймасына немесе .env файлына салыңыз. Кейін кабинеттен кілттің тек атауы мен соңғы белгілері көрінеді.

Қайда сақтау керек

ОрынБола ма
Сервердегі .env файлыИә
Хостингтің немесе CI-дің құпия айнымалыларыИә
Vault сияқты құпия қоймасыИә
Браузерде орындалатын JavaScriptЖоқ
Мобильді қосымшаның ішінде (APK/IPA)Жоқ
Жария репозиторий, git тарихыЖоқ
Скриншот, чат, тапсырма трекеріЖоқ
Тікелей код ішінде жазылған жолЖоқ

Себебі қарапайым: браузерге де, қосымшаға да түскен кілтті кез келген адам шығарып ала алады. Мобильді қосымшада реті былай болуы керек: қосымша → өз серверіңіз → Qut Pay → Kaspi.

.env файлын .gitignore тізіміне қосуды ұмытпаңыз, ал кодта process.env.QUTPAY_API_KEY арқылы оқыңыз:

// дұрыс
const KEY = process.env.QUTPAY_API_KEY;

// дұрыс емес — кілт кодпен бірге репозиторийге түседі
const KEY = 'qp_live_a1b2c3d4e5f6';

Кілт сыртқа шығып кеткен болса, бірінші әрекет — оны сол сәтте жою, содан кейін жаңасын жасау.

Әр интеграцияға бөлек кілт

Барлық жүйеге бір кілт беру — ыңғайлы көрінгенмен, қате жол. Әр интеграцияға бөлек кілт жасаңыз:

АртықшылығыНе береді
КөрінуЖурналда қай счётты қайсысы жасағаны көрінеді
ОқшаулауБіреуі сыртқа шықса, тек соны жоясыз, қалғаны істей береді
Ең аз құқықБотқа тек invoices:write, есеп жүйесіне тек invoices:read
ЕсепНүктелер немесе жобалар бойынша бөлек есеп

Мысал бөлу:

Сайт            → invoices:write, invoices:read
Telegram бот    → invoices:write, invoices:read
Есеп жүйесі     → invoices:read
Қайтару панелі  → invoices:read, refunds:write

Кассирге байлау

Кілтті нақты бір Kaspi кассиріне байлауға болады. Сонда:

Бір ұйымда бірнеше нүкте немесе бірнеше жоба болса, бұл — бөлудің ең таза жолы: Бір ұйымға бірнеше кассир.

Байланысы бар кассирді жою мүмкін емес: алдымен кілтті басқа кассирге ауыстыру керек, әйтпесе connection_has_keys қатесі келеді.

Sandbox счёттары кассирге тіркелмейді — олар ұйымның ортақ тест деректері.

Кілтті үзіліссіз ауыстыру

Кілтті мезгіл-мезгіл ауыстырып тұрған дұрыс: әзірлеуші жұмыстан кеткенде, кілт бөгде жерге көрінгенде немесе жай ғана жоспар бойынша.

Қызметті тоқтатпай ауыстыру реті:

  1. Жаңа кілт жасаңыз. Ескісін әлі жоймаңыз — екеуі қатар жұмыс істей береді.
  2. Жаңа кілтке сол құқықтарды және сол кассирді беріңіз.
  3. Серверде айнымалыны ауыстырып, қосымшаны қайта іске қосыңыз.
  4. Тексеріңіз: бір sandbox счёты немесе бір шағын live счёт жасап көріңіз.
  5. Бірнеше сағат бақылаңыз — ескі кілтті қолданатын ұмыт қалған жер бар ма.
  6. Ескі кілтті жойыңыз.

Асығыс жағдайда (кілт сыртқа шықты) реті керісінше: алдымен ескісін жойып, сосын жаңасын қоясыз. Бірнеше минут үзіліс болады, бірақ бөтен адамның сіздің атыңыздан счёт жасауынан қауіпсіз.

Жою

Кілтті жою — сол сәттен бастап күшіне енеді. Кідіріс жоқ, «жұмсақ өшіру» жоқ.

Не боладыТүсініктеме
СұрауларСол кілтпен келген барлық сұрау unauthorized (401) алады
Бұрынғы счёттарЖойылмайды, кабинетте көрінеді, төлене береді
WebhookБұрынғы счёттар бойынша оқиғалар келе береді
ЖазылымдарКестесі бұзылмайды, олар кассирге байланған

Яғни жоғалатыны — тек қолжетімділік. Абайсызда жойып алсаңыз, қалпына келтіру мүмкін емес: жаңасын жасап, интеграцияларды жаңартасыз: API кілтті жойып алдым.

Қателерге қатысы

КодHTTPСебебі
unauthorized401Кілт жіберілмеген, жарамсыз немесе жойылған
invalid_api_key422Кілттің пішімі дұрыс емес
insufficient_scope403Кілтте бұл әрекетке құқық жоқ
forbidden403Ресурс басқа ұйымға тиесілі
invoice_not_found404Кілт байланған кассирдің счёты емес

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

Кілтті қайта көруге бола ма? Жоқ. Ол бір рет қана көрсетіледі. Жоғалтсаңыз — жаңасын жасайсыз.

Бір ұйымда неше кілт болады? Бірнешеу. Әр интеграцияға бөлек жасауға ештеңе кедергі емес.

Кілттің мерзімі бітеді ме? Өздігінен бітпейді. Оны сіз жоясыз немесе ауыстырасыз.

Sandbox кілтін продакшенде қолдансам не болады? Счёттар жасалады, бірақ Kaspi-ге кетпейді — клиент ешқашан төлей алмайды. Бұл «төлем келмей жатыр» деген шағымның ең жиі себебі.

Кілтті әзірлеушіге беруге бола ма? Оған бөлек кілт жасап беріңіз, ең аз құқықпен. Жұмыс біткенде сол кілтті ғана жоясыз, қалған интеграцияларға тиіспейсіз.

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

Құқықтар (scopes) — кілт нені істей аладыАлты scope-тың толық кестесі: invoices:read, invoices:write, refunds:write, subscriptions:manage, webhooks:manage, partner:manage. Әрқайсысы қай әдістерді ашады, ең аз құқық принципі және insufficient_scope қатесі.API кілтті жойып алдым — не болады және не істеу керекЖойылған кілт сол сәтте істемей қалады және оны қайтару мүмкін емес. Счёттар мен ақшаға әсері жоқ. Жаңа кілт жасап, интеграцияда ауыстыру реті және кассирге байлауды ұмытпау.API 401 қайтарады — кілт қабылданбай жатыр401 unauthorized дегені — сұрауыңызда жарамды API кілт жоқ. Себептері, тексеру реті және жұмыс істейтін curl мысалы. Көбіне тақырып атауы немесе Bearer префиксі кінәлі.Бір ұйымға бірнеше кассир қосуға бола маИә, болады. Әр кассир — бөлек нөмір және бөлек байланыс. Негізгі кассир деген не, API кілтті нақты кассирге қалай байлау керек және айлық лимит қалай есептеледі.Sandbox пен нақты режимнің айырмашылығыSandbox-та Kaspi мүлде шақырылмайды, ақша жүрмейді, кассир де керек емес — төлемді өзіңіз симуляциялайсыз. Екі режимнің толық салыстыруы және нақты режимге көшкенде нені тексеру керек.

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

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