Дисклеймер
QR коды жасалғаннан кейін 20 минуттан кейін, егер QR кодқа соңғы мәртебе берілмесе (PAID, REJECTED), онда QR коды жойылады және оны төлеу мүмкін емес және транзакция бас тартылған (REJECTED)деп белгіленеді
1. Токен генерациясы
Request
TEST URL POST https://test-epay-oauth.epayment.kz/oauth2/token PROD URL POST https://epay-oauth.homebank.kz/oauth2/token
Body: form-data
grant_type: "client_credentials" client_id: "CLIENTID" client_secret: "CLIENTSECRET" scope: "webapi usermanagement email_send verification statement statistics payment" terminal: "TERMINALID" invoiceID: "invoiceID" amount: "100" currency: KZT
Кіріс параметрлері
grant_type | клиенттің аутентификациясы қолданылатынын көрсететін сұрау түрі. Мағынасы: client_credentials, міндетті |
client_id | сіздің бірегей клиент идентификаторыңыз. * Сіздің клиент идентификаторыңызды * нақты идентификаторыңызбен ауыстырыңыз, міндетті түрде |
client_secret | клиенттің құпия кілті. Сіздің клиент құпияңызды нақты құпияңызбен ауыстырыңыз, міндетті түрде |
scope | операцияны орындау үшін қажет қол жетімділік аймағы. Төлемдер үшін мынаны көрсетіңіз: payment, міндетті |
терминал | UUID форматындағы терминал идентификаторы. Сіздің терминал идентификаторыңызды(uuid) нақты терминал идентификаторымен ауыстырыңыз, міндетті түрде |
invoiceID | төлемге байланысты бірегей шот идентификаторы. Идентификаторын нақты шот идентификаторымен ауыстырыңыз, міндетті түрде |
amount | өңделетін сома. Сіздің саны нақты сомаға ауыстырыңыз, міндетті түрде |
currency | төлем валютасы. Көрсетіңіз: KZT (теңге), міндетті |
Response
{
"access_token": "access token",
"expires_in": "1200",
"refresh_token": "",
"scope": "payment",
"token_type": "Bearer"
}
Жауап деректері:
access_token | келесі сұрауларда авторизациялау үшін пайдаланылатын кіру таңбалауышы. Түрі: жол |
expires_in | токеннің өмір сүру уақыты секундтарда. Бұл жағдайда: 1200 (20 минут) |
refresh_token | Жаңа кіру таңбалауышын алу үшін пайдалануға болатын жаңарту таңбалауышы. Бұл жағдайда бос |
scope | сұралған кіру аймағы. Мұнда: payment |
token_type | авторизация үшін пайдаланылатын токен түрі. Әдетте: Bearer |
2. QR генерациясы
Request
TEST URL POST https://test-epay-api.epayment.kz/payment/qr/generate PROD URL POST https://epay-api.homebank.kz/payment/qr/generate Авторизация: Алдыңғы қадамда қол жетімділік белгісі бар Bearer тақырыбы. Payload: Payload түрі: JSON
Body: form-data
{
"accountId": "your account id",
"payerEmail": "payer@mail.com",
"payerPhone": "87777777777",
"postLink": "https://example.com/postlink",
"failurePostLink": "https://example.com/failurepostlink",
"description": "payment purpose",
"data": "",
"language": "ru"
}
Кіріс параметрлері
accountId | сіздің есептік жазбаңыздың бірегей идентификаторы. Тіркелгі идентификаторын нақты идентификатормен ауыстырыңыз (кез - келген мән-жол туралы ойлана аласыз), міндетті емес |
payerEmail | төлеушінің электрондық поштасы. Нақты мекенжайды көрсетіңіз, мысалы: payer@mail.com, міндетті емес |
payerPhone | жол форматындағы төлеушінің телефон нөмірі. Нақты нөмірді көрсетіңіз, мысалы: 87777777777, міндетті емес |
postLink | сәтті төлегеннен кейін қайта қоңырау шалу үшін. Ауыстырыңыз https://example.com/postlink сіздің нақты мекен-жайыңызға, міндетті |
failurepostlink | төлем сәтсіз болған жағдайда кері қоңырау шалу үшін URL мекенжайы. Ауыстырыңыз https://example.com/failurepostlink сіздің нақты мекен-жайыңызға, міндетті |
description | Төлем мақсаты. Төлемнің не үшін жасалатынын сипаттайтын мәтінді көрсетіңіз, мысалы: payment purpose, міндетті емес |
data | сұраумен бірге жіберуге болатын қосымша деректер. Бұл жағдайда қажет болмаса, бос қалдырыңыз, міндетті емес |
language | ақпарат көрсетілетін Тіл. Мысалы: орыс үшін ru |
Response
{
"qrcode": "qr code",
"homebankLink": "homebank deeplink",
"onlinebankLink": "online bank deeplink",
"status": "NEW",
"billNumber": 123456
}
Жауап деректері:
qrcode | төлем үшін жасалған QR коды. Түрі: жол |
Homebanklink | Deeplink Homebank мобильді қосымшасына өту үшін. Түрі: жол |
onlinebankLink | Deeplink онлайн-банкке ауысу үшін Delinebanklink. Түрі: жол |
status | QR кодын құру туралы сұраныстың ағымдағы күйі. Мұнда: жаңа |
billNumber | транзакцияға байланысты бірегей шот нөмірі. Түрі: бүтін сан |
Ықтимал қате кодтары
– қате коды-217. HTTP коды-400: Terminal параметрі таңбалауышты жасау кезінде берілмейді
– қате коды-218. HTTP коды-400: Таңбалауыш пайда болған кезде invoiceID параметрі берілмейді
– қате коды-563. HTTP коды-400: Таңбалауышта берілген терминал идентификаторы арқылы терминал деректерін алу қатесі
– қате коды-219. HTTP коды-400: Терминалда pay_qr_local параметрі өшірілген
– қате коды-1531. HTTP коды-400: Payload қа жіберілген құрылымды талдау қатесі
– қате коды-220. HTTP коды-400: QR генерациялау кезіндегі қате
3. Төлем мәртебесін алу
Request
TEST URL GET https://test-epay-api.epayment.kz/qr PROD URL GET https://epay-api.homebank.kz/qr Authorization: QR генерациясында қолданылатын кіру таңбалауышы бар Bearer тақырыбы. Payload: Бос.
Response
{
"qrcode": "00020101021227400012KZ.HALYKBANK0108HSBKKZKX02089830130028660011477859186730120KZ8160101310001554340208983013000301N0501006010520447845303398540420005802KZ5907KINO.KZ6006ALMATY62380111477859186730803191101204074000842363046CA2",
"status": "NEW",
"reference": "",
"cardId": "",
"cardType": "",
"cardMask": "",
"trType": "LOCALQR",
"secure3D": false,
"openwayId": "",
"issuer": "HSBKKZKX",
"issuerBankCountry": "KZ",
"fee": 0,
"amount": 2000,
"currency": "KZT",
"paymentChannel": "",
"errDescription": "",
"retCode": ""
}
Жауап деректері:
qrcode | QR кодын білдіретін жол / |
status | QR төлемінің ағымдағы күйі. Мүмкін мәндер: QR кодын құру кезіндегі жаңа мәртебе; сканерленген-Halyk Super App қосымшасында сканерлеу кезіндегі мәртебе; BLOCKED-төлем жүргізу кезіндегі мәртебе, қаражат бұғатталған; PAID немесе REJECTED – төлем сәтті немесе төлем қателігі кезіндегі мәртебе; |
reference | қосымша ақпаратқа сілтеме (егер бар болса) |
cardId | карта идентификаторы (бар болса) |
cardType | карта түрі (бар болса) |
cardMask | карта маскасы (егер бар болса) |
trType | транзакция түрі. Бұл жағдайда: LOCALQR |
secure3D | берілген транзакция үшін 3D Secure қажет пе екенін көрсетеді. Мағынасы: жалған |
openwayId | маршрут идентификаторы (егер бар болса) |
issuer | карта эмитентінің идентификаторы |
issuerBankCountry / эмитент банктің елі. Мысалы: KZ | |
fee | транзакция үшін Комиссия. Мәні: 0 |
amount | төлем сомасы. Мысалы: 2000 |
currency | төлем валютасы. Мысалы: KZT |
paymentChannel | төлем арнасы (егер бар болса) |
errDescription | қате сипаттамасы (егер бар болса) |
retCode | төлемді қайтару коды (егер бар болса) |
QR төлемін қайтару
1. Токен генерациясы
TEST URL POST https://test-epay-oauth.epayment.kz/oauth2/token PROD URL POST https://epay-oauth.homebank.kz/oauth2/token
Body: form-data
grant_type: "client_credentials" client_id: "CLIENTID" client_secret: "CLIENTSECRET" scope: "webapi usermanagement email_send verification statement statistics payment" terminal: "TERMINALID" invoiceID: "invoiceID" amount: "100" currency: KZT
Кіріс параметрлері
grant_type | клиенттің аутентификациясы қолданылатынын көрсететін сұрау түрі. Мағынасы: client_credentials, міндетті |
client_id | сіздің бірегей клиент идентификаторыңыз. Сіздің клиент идентификаторыңызды нақты идентификаторыңызбен ауыстырыңыз, міндетті түрде |
client_secret | клиенттің құпия кілті. Сіздің клиент құпияңызды нақты құпияңызбен ауыстырыңыз, міндетті түрде |
scope | операцияны орындау үшін қажет қол жетімділік аймағы. Төлемдер үшін мынаны көрсетіңіз: payment, міндетті |
Response
{
"access_token": "access token",
"expires_in": "1200",
"refresh_token": "",
"scope": "payment",
"token_type": "Bearer"
}
Жауап деректері:
access_token | келесі сұрауларда авторизациялау үшін пайдаланылатын кіру таңбалауышы. Түрі: жол |
expires_in | токеннің өмір сүру уақыты секундтарда. Бұл жағдайда: 1200 (20 минут) |
refresh_token | Жаңа кіру таңбалауышын алу үшін пайдалануға болатын жаңарту таңбалауышы. Бұл жағдайда бос |
scope | операцияны орындау үшін қажет қол жетімділік аймағы. Төлемдер үшін көрсетіңіз: payment |
token_type | авторизация үшін пайдаланылатын токен түрі. Әдетте: Bearer |
2. Қайтару жүргізу
Толығырақ: https://epayment.kz/docs/vozvrat-chastichnyi-vozvrat
TEST URL POST https://test-epay-api.epayment.kz/operations/:id/refund PROD URL POST https://epay-api.homebank.kz/operation/:id/refund Id указl мекенжайында көрсетілген бұл транзакция идентификаторы сіз сәтті төлем жасағаннан кейін немесе транзакция күйін сұраған кезде postlink-те бұрын алған.
Body: form-data
{
"amount": 100,
"purpose": "refund purpose"
}
Кіріс параметрлері
amount | қайтару сомасы, егер сома берілмесе, онда сұрау толық қайтару ретінде анықталады, міндетті емес |
payerEmail | төлемді қайтару себебі, міндетті емес |
Response
{
"code": 3225,
"externalID": "",
"message": "in progress"
}
Жауап деректері:
code | жауап коды |
message | қайтару күйі туралы хабарлама |
Қосымша: Қайтару туралы сұраныс жіберілген кезде, қайтару тек басталады, бірақ бірден жүргізілмейді. Сәтті қайтару сұрауына жауап ретінде сіз "in_progress" хабарламасын аласыз, қайтару күйін check status арқылы алуға болады.
Check status QR төлем сипаттамасы
https://epayment.kz/docs/check-status-payment
Төлем немесе қайтару туралы ақпаратты алу жауаптағы бір өрісті қоспағанда, құжаттамадағыдай болады. Транзакция объектісінде QR транзакциялары үшін қосымша "paymentType" өрісі беріледі: "QR".