Төлем беті
Тіркеу кезінде сізге төлем жасау кезінде пайдалану қажет деректер беріледі:
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": "sad12eqsda", "amount": 100, "approvalCode": "157911", "cardId": "11f1111b-f151-6f11-e161-1111010a2111", "cardMask": "440043...2222", "cardType": "VISA", "code": "ok", "currency": "KZT", "dateTime": "2024-07-29T10:50:56.765674319+05:00", "description": "Arman Alimguzhinov", "email": "", "id": "1d1a11f1-1111-111c-1113b-e8340ce51111", "invoiceId": "191111111", "ip": "213.148.6.204", "ipCity": "", "ipCountry": "", "ipDistrict": "", "ipLatitude": 0, "ipLongitude": 0, "ipRegion": "", "issuer": "JSC KASPI BANK", "language": "RUS", "name": "STANDARD CARDHOLDER", "phone": "", "reason": "success", "reasonCode": 0, "reference": "411111111117", "secure": "no", "secureDetails":"F", "terminal": "67e34d63-102f-4bd1-898e-370781d0074d" } }
Сәтсіздік болған жағдайдағы жауап:
{
"id": "ffffffff-0000-000f-f000-00f0000f000f",
"dateTime": "2020-01-01T00:00:00.00000+06:00",
"invoiceId": "10000000001",
"invoiceIdAlt":"8564546",
"amount": 100,
"currency": "KZT",
"terminal": "67e34d63-102f-4bd1-898e-370781d0074d",
"accountId": "1",
"description": "Интернет дүкенде төлеу ",
"language": "RU",
"cardMask": "4444...4444",
"cardType": "",
"issuer": "Halyk bank",
"reference": "",
"secure": "no",
"secureDetails":"F",
"tokenRecipient": "",
"code": "error",
"reason": "қатенің сипаттамасы",
"reasonCode": 498,
"name": "CARD HOLDER",
"email": "ch@example.kz",
"phone": "77777777777",
"ip": "5.188.155.135",
"ipCountry": "Kazakhstan",
"ipCity": "Almaty",
"ipRegion": "",
"ipDistrict": "",
"ipLongitude": 76.9293,
"ipLatitude": 43.2638
}