Дисклеймер

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 коды - 400Terminal параметрі таңбалауышты жасау кезінде берілмейді
қате коды - 218. HTTP коды - 400Таңбалауыш пайда болған кезде invoiceID параметрі берілмейді
қате коды – 563. HTTP коды – 400Таңбалауышта берілген терминал идентификаторы арқылы терминал деректерін алу қатесі
қате коды – 219. HTTP коды – 400Терминалда pay_qr_local параметрі өшірілген
қате коды – 1531. HTTP коды – 400Payloadқа жіберілген құрылымды талдау қатесі
қате коды – 220. HTTP коды – 400QR генерациялау кезіндегі қате

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"
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

Check status QR төлем сипаттамасы

https://epayment.kz/docs/check-status-payment

Төлем немесе қайтару туралы ақпаратты алу жауаптағы бір өрісті қоспағанда, құжаттамадағыдай болады. Транзакция объектісінде QR транзакциялары үшін қосымша "paymentType" өрісі беріледі: "QR".