P2P
Тіркеу кезінде сізге төлем жасаған кезде пайдалануыңыз қажет деректер беріледі:
TerminalID | Дүкен сәйкестендіргіші |
ClientID | Клиент сәйкестендіргіші |
ClientSecret | Құпия кілт |
ePay жүйесіне қосылуды бастамас бұрын, коммерсант басылған кезде ауысу функциясын орындайтын батырманы жасауы керек, uf.p2p деп атайық.
Өз кезегінде, бұл батырма invoiceId жасауды орындайды.
Төлем жасау үшін токенді алу (әр операция үшін түпнұсқа токенді алу және пайдалану қажет)
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-ы (міндетті емес) | |
cardSave | Kартаны сақтау |
auth | Токен / толығымен объект ретінде беріледі, токеннің сұрау салуы бойынша epay-ден алынған барлық деректер |
Postlink
Post Link жолында көрсетілген URL-ға хабарлама жіберіледі.
Сәтті болған жағдайдағы жауап:
{ "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",
"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
}