Төлем виджеті
Маңызды: осы құжаттаманы зерделеу кезінде Apple Pay төлем әдісін қолдану мүмкін болмайтынын ескеруіңізді сұраймыз, өйткені төлемдерді токендеу саясаты Apple Pay батырмасын виджет арқылы ашылған бетте көрсетуге мүмкіндік бермейді.
Тіркеу кезінде сізге төлем жасаған кезде пайдалануыңыз қажет деректер беріледі:
TerminalID | Дүкен сәйкестендіргіші |
ClientID | Клиент сәйкестендіргіші |
ClientSecret | Құпия кілт |
Test merchant
url | https://test-epay.homebank.kz |
epay@halykbank.kz | |
password | XZG1E@Mm |
ClientID | test |
ClientSecret | yF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG |
TerminalID | 67e34d63-102f-4bd1-898e-370781d0074d |
Test payment card
PAN | Expire Date | CVC | Status |
---|---|---|---|
4405639704015096 | 01/25 | 815 | unlock |
5522042705066736 | 01/25 | 525 | unlock |
377514500004820 | 01/25 | 4169 | lock |
4003032704547597 | 09/20 | 170 | lock |
5578342710750560 | 09/20 | 254 | lock |
Төлем жасау үшін токенді алу (әр операция үшін түпнұсқа токенді алу және пайдалану қажет)
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: "ClientID" client_secret: "ClientSecret" invoiceID:"Тапсырыс нөмірі" amount: 100 currency: "KZT" terminal: "TerminalID"
Жолы | Сипаттамасы |
---|---|
grant_type | Aвторизация түрі, төлем жасау үшін client_credentials түрі қолданылады |
scope | Pесурс |
client_id | Коммерсанттың сәйкестендіргішін кабинеттен алуға болады, тіркеу кезінде беріледі |
client_secret | Коммерсанттың кіру кілтін кабинеттен алуға болады, тіркеу кезінде беріледі |
invoiceID | Тапсырыс нөмірін коммерсант жасайды, әрбір жаңа тапсырыс үшін тапсырыс нөмірі бірегей, 6-дан 15 цифрға дейін болуы керек. Егер сіздің тапсырыс нөміріңізде 6-дан астам таңба болса, онда бірегейлік қосымша соңғы 6 таңба бойынша сақталуы керек |
amount | Тапсырыс сомасы |
currency | Валюта |
terminal | Сату орнының сәйкестендіргішін кабинеттен алуға болады, тіркеу кезінде беріледі |
Жауап:
{
"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 | Ресурс, төлем жүргізу үшін payment ресурсы пайдаланылады |
token_type | Авторизация түрі |
Виджетті шақыру
Бетте JS-кітапханасын қосып, онда halyk.showPaymentWidget() әдісін шақыруыңыз керек.
URL: https://test-epay.homebank.kz/payform/payment-api.js
Мына әдіске
halyk.showPaymentWidget(createPaymentObject(auth, invoiceId, amount), callBk)
var createPaymentObject = function(auth, invoiceId, amount) { var paymentObject = { invoiceId: "000001", invoiceIdAlt: "000001", 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: "TerminalID", amount: 100, name: "Arman Ali", currency: "KZT", data: "{\"statement\":{\"name\":\"Arman Ali\",\"invoiceID\":\"80000016\"}}", }; paymentObject.auth = auth; return paymentObject; }; halyk.showPaymentWidget(createPaymentObject(auth, invoiceId, amount), callBk);
Жолы | Сипаттамасы |
---|---|
invoiceId | Тапсырыс нөмірін коммерсант жасайды, әрбір жаңа тапсырыс үшін тапсырыс нөмірі бірегей, 6-дан 15 цифрға дейін болуы керек. Егер сіздің тапсырыс нөміріңізде 6-дан астам таңба болса, онда бірегейлік қосымша соңғы 6 таңба бойынша сақталуы керек |
invoiceIdAlt | Балама тапсырыс нөмірін коммерсант жасайды, әрбір жаңа тапсырыс үшін тапсырыс нөмірі бірегей, 6-дан 15 цифрға дейін болуы керек. |
backLink | Төлем сәтті болған кезде дүкенге оралу сілтемесі |
failureBackLink | Төлем сәтсіз болған кезде дүкенге оралу сілтемесі |
postLink | Төлем туралы хабарлама |
failurePostLink | Сәтсіз төлем туралы хабарлама, егер толтырылмаған болса, онда ақпарат postlink-те көрсетілген мекенжайға жіберіледі |
language | Тілі rus/kaz/eng |
description | Тапсырыс сипаттамасы, рұқсат етілген таңбалар саны 125 байт |
accountId | Дүкен клиентінің сәйкестендіргішін көрсетуге арналған міндетті емес жол |
terminal | Дүкен сәйкестендіргіші |
amount | Тапсырыс сомасы |
name | төлеушінің аты, тек латын тілінде (міндетті емес) |
currency | Валюта |
auth | Токен / толығымен объект ретінде беріледі, токеннің сұрау салуы бойынша epay-ден алынған барлық деректер |
callBk | { success: true объектісі беріледі |
data | қосымша жол толтырылған кезде есепте таратылады (міндетті емес) |
halyk.showPaymentWidget() әдісі төлемді пысықтау нәтижелері бойынша шақырылатын колбекті екінші параметр етіп қабылдайды.
Postlink
PostLink жолында көрсетілген URL-ға хабарлама жіберіледі.
Сәтті болған жағдайда:
{ "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": "001111111111", "secure": "yes", "tokenRecipient": "", "code": "ok", "reason": "", "reasonCode": 0, "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, "cardId": "e7e2587f-de26-4f41-ae1f-80c1fea31728" }
Сәтсіздік болған жағдайда:
{ "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": "yes", "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 }