Вывод средств с корпоративной карты на карту клиента
Перед началом выполнения реальных выплат коммерсанту необходимо сообщить корпоративную карту (IBAN номер счета) и номер TerminalID для регистрации в системе. Запрос необходимо отправлять на адрес dev.epay@halykbank.kz
При регистрации вам будут выданы данные, которые нужно будет использовать при проведении платежа:
TerminalID | Идентификатор магазина |
ClientID | Идентификатор клиента |
ClientSecret | Секретный ключ |
Получение токена для проведения оплаты (для каждой операции необходимо получать и использовать оригинальный токен)
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: "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.homebank.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\":\"Arman Ali\",\"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" }