P2P – переводы
Получение токена для проведения перевода (для каждой операции необходимо получать и использовать оригинальный токен)
Запрос
grant_type: "client_credentials" scope: " transfer" client_id: "test" client_secret: "yF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG" invoiceID: "000000001" amount: 100 currency: "KZT" terminal: "3ad0f5bd-88a8-464c-a9a4-cdb16d1dd31" postLink: "" failurePostLink: ""
Поле | Описание |
---|---|
grant_type | тип авторизации, для проведения платежа используется тип client_credentials |
scope | ресурс |
client_id | Идентификатор коммерсанта, можно получить в кабинете, выдается при регистрации |
client_secret | Ключ доступа коммерсанта, можно получить в кабинете, выдается при регистрации |
invoiceID | Номер заказа, генерируется коммерсантом, должен быть уникальный для каждого нового заказа,от 6 до 15 цифр. Если ваш номер заказа содержит более 6 символов, то дополнительно уникальность должна соблюдаться по последним 6ти символам |
amount | Сумма заказа |
currency | Валюта |
terminal | Идентификатор точки продаж, можно получит в кабинете, выдается при регистрации |
postLink | обязательный параметры, отправка postlink в случае успеха |
failurePostLink | не обязательный параметры. отправка postlink в случае неудачи |
Ответ
{
"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 | Тип авторизации |
Поле | Описание |
---|---|
access_token | Токен для проведения операции |
expires_in | Время истечения токена |
refresh_token | Не используется при данном типе авторизации |
scope Ресурс, для проведения платежа используется ресурс | |
token_type | Тип авторизации |
Перенаправление на платежную страницу
На странице нужно подключить JS-библиотеку и вызвать в ней метод halyk.p2p().
- 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", invoiceIdAlt:"8564546", 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\":\"Arman Ali\",\"invoiceID\":\"80000016\"}}", currency: "KZT", phone: "77777777777", email: "example@example.com" paymentObject.auth = auth; return paymentObject; }; halyk.p2p(createPaymentObject(auth, invoiceId, amount));
Поле | Описание |
---|---|
invoiceId | Номер заказа, генерируется коммерсантом, должен быть уникальный для каждого нового заказа,от 6 до 15 цифр. Если ваш номер заказа содержит более 6 символов, то дополнительно уникальность должна соблюдаться по последним 6ти символам |
invoiceIdAlt | дополнительный номер заказа, генерируется коммерсантом, должен быть уникальный для каждого нового заказа,от 6 до 15 цифр |
backLink | Ссылка для возврата в магазин при удачном платеже |
failureBackLink | Ссылка для возврата в магазин при не удачном платеже |
postLink | Уведомление о платеже |
failurePostLink | Уведомление о неудачном платеже, если не заполнено, то информация будет отправлена на адрес указанный в postLink |
language | Язык rus/kaz/eng |
description | Описание заказа, допустимое количество символов 125 байтов |
accountId | поле для указания идентификатора клиента магазина, обазятелен при сохранений карты (cardSave:true) для сервиса получения списка сохраненных карт |
terminal | Идентификатор магазина |
amount | Сумма заказа |
currency | Валюта |
phone | номер телефона клиента (не обязательно) |
email клиента (не обязательно) | |
cardSave | сохренение карты |
auth | Токен / передается полностью как объект, все данные полученные от epay по запросу токена |
data | дополнительное поле транслируется в отчете при заполнении (не обязательно) |
Postlink
На указанный URL указанный в поле postLink будет отправлено сообщение. В случае если вы не получили postlink,или для проверки запроса от системы ePay, рекомендуем воспользоваться сервисом Статус транзакции
Ответ в случае успеха:
"id": "00879b4f-374e-4c3d-b48e-7cb3d249e3b0", "amount": 100, "fee": 100, "accountID": "", "currency": "KZT", "email": "parkhomchik@gmail.com", "description": "Оплата в интернет магазине", "reference": "329957092146", "orderID": "1698317548682", "senderCardID": "f8953a37-aed8-240c-e053-1d1a000ae80c", "senderCardPAN": "440563...5096", "senderCardType": "VISA", "senderTransferType": "TYPEPAN", "receiverCardID": "f8953a37-aed9-240c-e053-1d1a000ae80c", "receiverCardPAN": "552204...6736", "receiverCardType": "MasterCard", "receiverTransferType": "TYPEPAN", "intReference": "BE8FC5EA0167B04B", "terminalID": "c36b282f-6819-4d4f-85df-a4bdc8a8f703", "code": 0, "status": "CHARGE"
Проведение перевода по сохраненным картам
Карта является сохранённой если вы ранее передавали параметр cardsave: true, оплата прошла успешно и в ответе вы получили CardID.
- Для проведения перевода с сохраненной карты на не сохраненную:
- необходимо передать раннее полученный cardId отправителя в параметр senderCardId.
- accountId персональный идентификатор Клиента в Системе коммерсанта.
2. Для проведения перевода с не сохраненной карты на сохраненную карту:
- необходимо передать раннее полученный cardId отправителя в параметр receiverCardId.
- accountId персональный идентификатор Клиента в Системе коммерсанта.