Рассрочка, Кредитование
При регистрации вам будут выданы данные, которые нужно будет использовать при проведении платежа:
| TerminalID | Идентификатор магазина |
| ClientID | Идентификатор клиента |
| ClientSecret | Секретный ключ |
Данные для проведения тестовых платежей:
| url | https://test-epay.homebank.kz |
| epay@halykbank.kz | |
| password | XZG1E@Mm |
| ClientID | test |
| ClientSecret | yF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG |
| TerminalID | 67e34d63-102f-4bd1-898e-370781d0074d |
Получение токена для проведения оплаты (для каждой операции необходимо получать и использовать оригинальный токен)
TEST URL POST https://test-epay-oauth.epayment.kz/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 | Tип авторизации, для проведения платежа используется тип client_credentials |
| scope | Pесурс |
| client_id | Идентификатор коммерсанта, можно получить в кабинете, выдается при регистрации |
| client_secret | Ключ доступа коммерсанта, можно получить в кабинете, выдается при регистрации |
| invoiceID | Номер заказа, генерируется коммерсантом, должен быть уникальный для каждого нового заказа,от 6 до 15 цифр. Если ваш номер заказа содержит более 6 символов, то дополнительно уникальность должна соблюдаться по последним 6ти символам |
| amount | Сумма заказа |
| currency | Валюта |
| terminal | Идентификатор точки продаж, можно получит в кабинете, выдается при регистрации |
| postLink | Oбязательный параметры, отправка postlink в случае успеха |
| failurePostLink | Hе обязательный параметры. отправка 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.epayment.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", 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\":\"Tester Petrov \",\"invoiceID\":\"80000016\"}}", currency: "KZT", phone: "77777777777", email: "example@example.com" cardSave: true //Параметр должен передаваться как Boolean creditConditions:[3,6,9], installmentConditions: [3,6,9], defaultCredit: true/false, paymentObject.auth = auth; return paymentObject; }; halyk.pay(createPaymentObject(auth, invoiceId, amount));
| Поле | Описание |
|---|---|
| invoiceId | Номер заказа, генерируется коммерсантом, должен быть уникальный для каждого нового заказа,от 6 до 15 цифр. Если ваш номер заказа содержит более 6 символов, то дополнительно уникальность должна соблюдаться по последним 6ти символам |
| backLink | Ссылка для возврата в магазин при удачном платеже |
| failureBackLink | Ссылка для возврата в магазин при не удачном платеже |
| postLink | Уведомление о платеже |
| failurePostLink | Уведомление о неудачном платеже, если не заполнено, то информация будет отправлена на адрес указанный в postLink |
| language | Язык rus/kaz/eng |
| description | Описание заказа, допустимое количество символов 125 байтов |
| accountId | Не обязательное поле для указание идентификатора клиента магазина |
| terminal | Идентификатор магазина |
| amount | Сумма заказа |
| currency | Валюта |
| phone | Hомер телефона клиента (не обязательно) |
| email клиента (не обязательно) | |
| cardSave | Cохренение карты |
| creditConditions | Массив чисел [3,6,9], месяцы |
| installmentConditions | Массив чисел [3,6,9], месяцы |
| defaultCredit | true- регулятор выводить первой вкладкой, кредит и рассрочку |
| auth | Токен / передается полностью как объект, все данные полученные от epay по запросу токена |
| data | Дополнительное поле транслируется в отчете при заполнении, параметр statement является обязательным |
Postlink
На указанный URL указанный в поле postLink будет отправлено сообщение. В случае если вы не получили postlink,рекомендуем воспользоваться сервисом Статус транзакции
Ответ в случае успеха:
{
"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
}