P2P
Тіркеу кезінде сізге төлем жасаған кезде пайдалануыңыз қажет деректер беріледі:
| |
---|
TerminalID | Дүкен сәйкестендіргіші |
ClientID | Клиент сәйкестендіргіші |
ClientSecret | Құпия кілт |
ePay жүйесіне қосылуды бастамас бұрын, коммерсант басылған кезде ауысу функциясын орындайтын батырманы жасауы керек, uf.p2p деп атайық.
Өз кезегінде, бұл батырма invoiceId жасауды орындайды.
Test merchant
| |
---|
url | https://test-epay.homebank.kz |
email | epay@halykbank.kz |
password | XZG1E@Mm |
ClientID | test |
ClientSecret | yF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG |
TerminalID | 40a348cb-68a3-45d5-9002-a4836d79c3b5 |
Test payment card
PAN | Expire Date | CVC | Status |
---|
4405639704015096 | 01/25 | 815 | unlock |
5522042705066736 | 01/25 | 525 | unlock |
377514500004820 | 01/25 | 4169 | unlock |
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: "transfer"
client_id: "test"
client_secret: "yF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG"
terminal: "40a348cb-68a3-45d5-9002-a4836d79c3b5"
Жолы | Сипаттамасы |
---|
grant_type | Aвторизация түрі, төлем жасау үшін client_credentials түрі қолданылады |
scope | ресурс |
client_id | Коммерсанттың сәйкестендіргішін кабинеттен алуға болады, тіркеу кезінде беріледі |
client_secret | Коммерсанттың кіру кілтін кабинеттен алуға болады, тіркеу кезінде беріледі |
terminal | Сату орнының сәйкестендіргішін кабинеттен алуға болады, тіркеу кезінде беріледі |
Жауап
{
"access_token":"DCEB8O_ZM5U7SO_T_U5EJQ",
"expires_in": 7200,
"refresh_token":"",
"scope":"transfer",
"token_type":"Bearer"
}
Жолы | Сипаттамасы |
---|
access_token | Операцияны жүргізуге арналған токен |
expires_in | Токеннің жарамдылық мерзімі |
refresh_token | Авторизацияның бұл түрінде қолданылмайды |
scope | Ресурс, төлем жүргізу үшін ресурсы пайдаланылады |
token_type | Авторизация түрі |
Төлем бетіне қайта бағыттау
Бетте JS-кітапханасын қосып, онда halyk.oct әдісін шақыруыңыз керек.
URL TEST: https://test-epay.homebank.kz/payform/payment-api.js
URL PROD: https://epay.homebank.kz/payform/payment-api.js
halyk.p2p() әдісіне келесі параметрлерді беру керек:
var createPaymentObject = function(auth, invoiceId, amount) {
var paymentObject = {
invoiceId: "000000001",
backLink: "https://example.kz/success.html",
failureBackLink: "https://example.kz/failure.html",
postLink: "https://example.kz/",
failurePostLink: "https://example.kz/order/1123/fail",
language: "RU",
description: "Интернет дүкенде төлеу",
accountId: "testuser1",
terminal: "40a348cb-68a3-45d5-9002-a4836d79c3b5",
amount: 100,
currency: "KZT",
phone: "77777777777",
email: "example@example.com"
cardSave: true //Параметр Boolean ретінде берілуі керек
};
paymentObject.auth = auth;
return paymentObject;
};
halyk.pay(createPaymentObject(auth, invoiceId, amount));
Жолы | Сипаттамасы |
---|
invoiceId | Тапсырыс нөмірін коммерсант жасайды, әрбір жаңа тапсырыс үшін тапсырыс нөмірі бірегей, 6-дан 15 цифрға дейін болуы керек. |
backLink | Төлем сәтті болған кезде дүкенге оралу сілтемесі |
failureBackLink | Төлем сәтсіз болған кезде дүкенге оралу сілтемесі |
postLink | Төлем туралы хабарлама |
failurePostLink | Сәтсіз төлем туралы хабарлама, егер толтырылмаған болса, онда ақпарат postlink-те көрсетілген мекенжайға жіберіледі |
language | Тілі |
description | Тапсырыс сипаттамасы |
accountId | Дүкен клиентінің сәйкестендіргішін көрсетуге арналған міндетті емес жол |
terminal | Дүкен сәйкестендіргіші |
amount | Тапсырыс сомасы |
currency | Валюта |
phone | Клиенттің телефон нөмірі (міндетті емес) |
email | Клиенттің email-ы (міндетті емес) |
cardSave | Kартаны сақтау |
auth | Токен / толығымен объект ретінде беріледі, токеннің сұрау салуы бойынша epay-ден алынған барлық деректер |
Postlink
Post Link жолында көрсетілген URL-ға хабарлама жіберіледі.
Сәтті болған жағдайдағы жауап:
{
"id": "ffffffff-0000-000f-f000-00f0000f000f",
"dateTime": "2020-01-01T00:00:00.00000+06:00",
"invoiceId": "10000000001",
"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",
"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
}