Вывод средств с корпоративной карты на карту клиента
Перед началом выполнения реальных выплат коммерсанту необходимо сообщить корпоративную карту (IBAN номер счета) и номер TerminalID для регистрации в системе. Запрос необходимо отправлять на адрес dev.epay@halykbank.kz
При регистрации вам будут выданы данные, которые нужно будет использовать при проведении платежа:
| TerminalID | Идентификатор магазина |
| ClientID | Идентификатор клиента |
| ClientSecret | Секретный ключ |
Получение токена для проведения оплаты (для каждой операции необходимо получать и использовать оригинальный токен)
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: "c36b282f-6819-4d4f-85df-a4bdc8a8f703" postLink: "" failurePostLink: ""
| Поле | Описание |
|---|---|
| grant_type | тип авторизации, для проведения платежа используется тип client_credentials |
| scope | ресурс |
| 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.oct().
URL TEST: https://test-epay.epayment.kz/payform/payment-api.js URL PROD: https://epay.homebank.kz/payform/payment-api.js
В метод halyk.oct() нужно передать следующие параметры.
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: "c36b282f-6819-4d4f-85df-a4bdc8a8f703", amount: 100, data: "{\"statement\":{\"name\":\"Tester Petrov\",\"invoiceID\":\"80000016\"}}", currency: "KZT", phone: "77777777777", email: "example@example.com" 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 клиента (не обязательно) | |
| auth | Токен / передается полностью как объект, все данные полученные от epay по запросу токена |
| data | Дополнительное поле транслируется в отчете при заполнении (не обязательно) |
Postlink
На указанный URL указанный в поле postLink будет отправлено сообщение. В случае если вы не получили postlink,рекомендуем воспользоваться сервисом Статус транзакции.
Ответ в случае успеха:
{
"id": "3e215f23-8378-4a22-c33b-324sd2c3f5",
"amount": 100,
"accountID": "epayment.KZ",
"currency": "KZT",
"email": "email@gmail.com",
"description": "TEST p2p",
"reference": "306177717717",
"invoiceID": "000000001",
"intReference": "",
"terminalID": "c36b282f-6819-4d4f-85df-a4bdc8a8f703",
"senderCardID": "",
"senderCardPAN": "440563...11111",
"senderCardType": "VISA",
"senderTransferType": "TYPEPAN",
"senderCardIssuer": "HALYK BANK",
"receiverCardID": "",
"receiverCardPAN": "400303...0011",
"receiverCardType": "VISA",
"receiverTransferType": "TYPEPAN",
"receiverCardIssuer": "HALYK BANK",
"secure": false,
"reason": "Successfully completed",
"reasonCode": "00",
"name": " ",
"phone": "",
"datetime": "2023-03-02T10:33:26.11129789+06:00",
"status": "ok",
"data": "",
"post_link": "https://epay.homebank.kz/payform",
"failure_post_link": "https://testmerchant/order/000000001/fail",
"p2pType": "OCT"
}
Ответ в случае неудачи:
{
"id": "3e215f23-8378-4a22-c33b-324sd2c3f5",
"amount": 10,
"accountID": "epayment.KZ",
"currency": "KZT",
"email": "email@gmail.com",
"description": "TEST p2p",
"reference": "306177717717",
"invoiceID": "000000001",
"intReference": "",
"terminalID": "c36b282f-6819-4d4f-85df-a4bdc8a8f703",
"senderCardID": "",
"senderCardPAN": "",
"senderCardType": "",
"senderTransferType": "",
"senderCardIssuer": "",
"receiverCardID": "",
"receiverCardPAN": "",
"receiverCardType": "",
"receiverTransferType": "",
"receiverCardIssuer": "",
"secure": false,
"reason": "Restricted card",
"reasonCode": "489",
"name": "",
"phone": "",
"datetime": "2023-03-02T14:50:36.397155787+06:00",
"status": "error",
"data": "",
"post_link": "https://epay.homebank.kz/payform",
"failure_post_link": "https://testmerchant/order/000000001/fail",
"p2pType": "OCT"
}