Төлем бетін HalykID арқылы төлеу
Жұмысты бастамас бұрын halykid@halykbank.kz мекенжайына хабарласып, тест деректерін алу және homebankCasKey авторизациялық токен алу процесін енгізу қажет. Бұл токен ePay жүйесіне деректерді одан әрі беру үшін пайдаланылады.
Тіркеу кезінде сізге төлем жасау кезінде пайдалану қажет деректер беріледі:
TerminalID | Дүкен сәйкестендіргіші |
ClientID | Клиент сәйкестендіргіші |
ClientSecret | Құпия кілт |
Төлем жасау үшін токенді алу (әр операция үшін түпнұсқа токенді алу және пайдалану қажет)
TEST URL POST https://testoauth.homebank.kz/epay2/oauth2/token PROD URL POST https://epay-oauth.homebank.kz/oauth2/token
Сұрау салу
Body: form-data
grant_type: "client_credentials" scope: " webapi usermanagement email_send verification statement statistics payment" client_id: "test" client_secret: "yF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG" invoiceID: "000000001" amount: 100 currency: "KZT" terminal: "67e34d63-102f-4bd1-898e-370781d0074d" postLink: "" failurePostLink: ""
Жолы | Сипаттамасы |
---|---|
grant_type | авторизация түрі, төлем жасау үшін client_credentials түрі қолданылады |
scope | ресурс |
client_id | Коммерсанттың сәйкестендіргішін кабинеттен алуға болады, тіркеу кезінде беріледі |
client_secret | Коммерсанттың кіру кілтін кабинеттен алуға болады, тіркеу кезінде беріледі |
invoiceID | Тапсырыс нөмірін коммерсант жасайды, әрбір жаңа тапсырыс үшін тапсырыс нөмірі бірегей, 6-дан 15 цифрға дейін болуы керек. Егер сіздің тапсырыс нөміріңізде 6-дан астам таңба болса, онда бірегейлік қосымша соңғы 6 таңба бойынша сақталуы керек |
amount | Тапсырыс сомасы |
currency | Валюта |
terminal | Сату орнының сәйкестендіргішін кабинеттен алуға болады, тіркеу кезінде беріледі |
postLink | міндетті параметрлер, сәтті болған жағдайда postlink жіберу |
failurePostLink | міндетті емес параметрлер, сәтсіз болған жағдайда postlink жіберу |
Жауап
{
"access_token":"DCEB8O_ZM5U7SO_T_U5EJQ",
"expires_in": 7200,
"refresh_token":"",
"scope":" webapi usermanagement email_send verification statement statistics payment",
"token_type":"Bearer"
}
Жолы | Сипаттамасы |
---|---|
access_token | Операцияны жүргізуге арналған токен |
expires_in | Токеннің жарамдылық мерзімі |
refresh_token | Авторизацияның бұл түрінде қолданылмайды |
scope | Ресурс, төлем жүргізу үшін ресурс пайдаланылады |
token_type | Авторизация түрі |
Төлем бетіне қайта бағыттау
Бетте JS-кітапханасын қосып, онда halyk.pay() әдісін шақыруыңыз керек.
URL TEST: https://test-epay.homebank.kz/payform/payment-api.js URL PROD: https://epay.homebank.kz/payform/payment-api.js
halyk.pay () әдісіне келесі параметрлерді беру керек.
var createPaymentObject = function(auth, invoiceId, amount) { var paymentObject = { invoiceId: "000000001", invoiceIdAlt:"8564546", backLink: "https://example.kz/success.html", failureBackLink: "https://example.kz/failure.html", postLink: "https://example.kz/", failurePostLink: "https://example.kz/order/1123/fail", language: "rus", description: "Интернет дүкенде төлеу ", accountId: "testuser1", terminal: "67e34d63-102f-4bd1-898e-370781d0074d", amount: 100, data: "{\"statement\":{\"name\":\"Arman Ali\",\"invoiceID\":\"80000016\"}}", currency: "KZT", phone: "77777777777", name:"Arman Ali", email: "example@example.com" }; paymentObject.auth = auth; return paymentObject; }; halyk.pay(createPaymentObject(auth, invoiceId, amount));
Жолы | Сипаттамасы |
---|---|
invoiceId | Тапсырыс нөмірін коммерсант жасайды, әрбір жаңа тапсырыс үшін тапсырыс нөмірі бірегей, 6-дан 15 цифрға дейін болуы керек. Егер сіздің тапсырыс нөміріңізде 6-дан астам таңба болса, онда бірегейлік қосымша соңғы 6 таңба бойынша сақталуы керек |
invoiceIdAlt | Қосымша тапсырыс нөмірін коммерсант жасайды, әрбір жаңа тапсырыс үшін тапсырыс нөмірі бірегей, 6-дан 15 цифрға дейін болуы керек. |
backLink | Төлем сәтті болған кезде дүкенге оралу сілтемесі |
failureBackLink | Төлем сәтсіз болған кезде дүкенге оралу сілтемесі |
postLink | Төлем туралы хабарлама |
failurePostLink | Сәтсіз төлем туралы хабарлама, егер толтырылмаған болса, онда ақпарат postlink-те көрсетілген мекенжайға жіберіледі |
language | Тілі rus/kaz/eng |
description | Тапсырыс сипаттамасы, рұқсат етілген таңбалар саны 125 байт |
accountId | дүкен клиентінің сәйкестендіргішін көрсетуге арналған жол, сақталған карталар тізімін алу сервисі үшін картаны сақтаған кезде (cardSave:true) міндетті болып табылады |
terminal | Дүкен сәйкестендіргіші |
amount | Тапсырыс сомасы |
currency | Валюта |
phone | Клиенттің телефон нөмірі (міндетті емес) |
name | Клиенттің Аты жөні (міндетті емес) |
Клиенттің email-ы (міндетті емес) | |
auth | Токен / толығымен объект ретінде беріледі, токеннің сұрау салуы бойынша epay-ден алынған барлық деректер |
data | қосымша өріс толтырылған кезде есепте таратылады (міндетті емес) |
Postlink
Post Link жолында көрсетілген URL-ға хабарлама жіберіледі. Егер сіз postlink алмаған болсаңыз немесе ePay жүйесінен сұрау салуды тексеру үшін Транзакция мәртебесі сервисін пайдалануды ұсынамыз
Сәтті болған жағдайдағы жауап:
{ "accountId": "testuser1", "amount": 100, "approvalCode": "919412", "cardId": "", "cardMask": "440043...0128", "cardType": "HalykId", "code": "ok", "currency": "KZT", "dateTime": "2025-02-12T09:42:51.960781107+05:00", "description": "Оплата в интернет магазине", "email": "", "id": "a2bd2222-2as2-2d2r-f22d-22a33f453a2b", "invoiceId": "000000001", "invoiceIdAlt": "8564546", "ip": "92.211.91.91", "ipCity": "", "ipCountry": "", "ipDistrict": "", "ipLatitude": 0, "ipLongitude": 0, "ipRegion": "", "issuer": "HALYK BANK", "language": "RUS", "name": "ARMAN ALI", "phone": "", "reason": "success", "reasonCode": 0, "reference": "505555555554", "secure": "no", "secureDetails": "", "terminal": "67e34d63-102f-4bd1-898e-370781d0074d" }
Сәтсіздік болған жағдайдағы жауап:
{ "accountId": "testuser1", "amount": 100, "approvalCode": "", "cardId": "", "cardMask": "", "cardType": "", "code": "error", "currency": "KZT", "dateTime": "2025-02-12T09:42:51.960781107+05:00", "description": "Оплата в интернет магазин", "email": "", "id": "a2bd2222-2as2-2d2r-f22d-22a33f453a2b", "invoiceId": "000000001", "invoiceIdAlt": "8564546", "ip": "155.55.55.55", "ipCity": "Shymkent", "ipCountry": "Kazakhstan", "ipDistrict": "", "ipLatitude": 42.5555, "ipLongitude": 69.55, "ipRegion": "", "issuer": "HALYK BANK", "language": "RUS", "name": "", "phone": "77771231212", "reason": "Not sufficient funds", "reasonCode": 484, "reference": "507151111111", "secure": "no", "secureDetails": "", "terminal": "67e34d63-102f-4bd1-898e-370781d0074d" }