Дисклеймер

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 коды. Түрі: жол
HomebanklinkDeeplink Homebank мобильді қосымшасына өту үшін. Түрі: жол
onlinebankLinkDeeplink онлайн-банкке ауысу үшін Delinebanklink. Түрі: жол
statusQR кодын құру туралы сұраныстың ағымдағы күйі. Мұнда: жаңа
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": ""
}


Жауап деректері:

qrcodeQR кодын білдіретін жол /
statusQR төлемінің ағымдағы күйі. Мүмкін мәндер: 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".