P2P переводы по сохранённым картам
Получение токена для проведения оплаты (для каждой операции необходимо получать и использовать оригинальный токен)
URL обращения для получения токена
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: "67e34d63-102f-4bd1-898e-370781d0074d" 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":"webapi usermanagement email_send verification statement statistics payment",
"token_type":"Bearer"
}
Поле | Описание |
---|---|
access_token | Токен для проведения операции |
expires_in | Время истечения токена |
refresh_token | Не используется при данном типе авторизации |
scope | Ресурс, для проведения платежа используется ресурс payment |
token_type | Тип авторизации |
После получения токена, необходимо передавать его в Headers Bearer на эндпоинт:
TEST URL POST https://testepay.homebank.kz/api/payments/cards/auth PROD URL POST https://epay-api.homebank.kz/payments/cards/auth
Проведение перевода по сохраненным картам
Карта является сохранённой если ранее, при проведении платежей или переводов, вы передавали параметр cardsave: true, оплата прошла успешно и в ответе вы получили CardID.
Перевод на сохранённую карту с сохранением карты отправителя
{
"order": {
"amount": 100,
"currency": "KZT",
"description": "Test p2p payment",
"id": "8161284658529816",
"accountID": "testUser1",
"senderEmail": "dosbols@halykbank.kz",
"terminalId": "40a348cb-68a3-45d5-9002-a4836d79c3b5",
"backLink": "https://epay.homebank.kz/demo/success.html",
"failureBackLink": "https://epay.homebank.kz/demo/failure.html",
"postLink": "https://epay.homebank.kz/payform",
"failurePostLink": "https://testmerchant/order/1123/fail"
},
"card": {
"sender": {
"save": true,
"transferType": "TYPEPAN",
"cvc": "815",
"expire": {
"month": "01",
"year": "25"
},
"name": "Arman Ali",
"cardCred": "4405639704015096"
},
"receiver": {
"cardCred": "fcf69516-f7e8-9b14-e053-1d1a000aef2f",
"transferType": "TYPECARDID",
}
}
}
Поле | Описание |
---|---|
order | Набор параметров транзакции |
amount | Сумма перевода |
currency | Валюта |
description | Дополнительная информация о транзакции |
accountID | Поле для указания идентификатора клиента магазина, обязателен при сохранений карты |
Id | Номер заказа |
senderEmail | Емейл отправителя |
terminalId | Идентификатор точки продаж (ID терминала), можно получит в кабинете, выдается при регистрации |
backLink | Ссылка для возврата в магазин при удачном платеже |
failureBackLink | Ссылка для возврата в магазин при не удачном платеже |
postLink | URL, на который будет отправлен колбэк при успешной оплате |
failurePostLink | URL, на который будет отправлен колбэк при неуспешной оплате |
sender | Набор параметров отправителя |
save | Сохранение карты |
transferType | Тип проведения перевода, при TYPEPAN передается пустым |
cardCred | Номер карты при TYPECARD, id карты при TYPECARDID |
CVC | CVC карты, при TYPEPAN передается пустым |
expire | Срок истечения действия карты |
receiver | Набор параметров получателя |
cardCred | ПАН карты (тип указываемых данных зависит от параметра transferType) |
Ответ в случае успешного перевода:
{ "id": "84d22915-f77f-491a-801c-aeb1b3b3bb36", "amount": 100, "fee": 95, "accountID": "testUser1", "currency": "KZT", "email": "dosbols@halykbank.kz", "description": "TEST p2p", "reference": "403752583641", "orderID": "8161284658529816", "senderCardID": "10606a85-ffca-b6b3-e063-1d1a000a2f3d", "senderCardPAN": "440563...5096", "senderCardType": "VISA", "senderTransferType": "TYPEPAN", "receiverCardID": "fcf69516-f7e8-9b14-e053-1d1a000aef2f", "receiverCardPAN": "440563...7622", "receiverCardType": "VISA", "receiverTransferType": "TYPECARDID", "intReference": "C2679A7844D3A007", "terminalID": "40a348cb-68a3-45d5-9002-a4836d79c3b5", "status": "CHARGE" }
Поле | Описание |
---|---|
Id | ID транзакции |
amount | Сумма перевода |
fee | Сумма комиссии (не используется) |
accountID | Поле для указания идентификатора клиента магазина, обязателен при сохранений карты |
currency | Валюта |
Указанный при передачи данных емейл | |
description | Дополнительная информация о транзакции |
reference | Уникальный идентификатор транзакции |
orderId | Номер заказа переданный ранее |
senderCardID | ID карты отправителя |
senderCardPAN | ПАН карты отправителя |
senderTransferType | Тип проведения перевода по карте отправителя |
receiverCardID | ID карты получателя |
receiverCardPAN | ПАН карты получателя |
receiverCardType | Тип проведения перевода по карте получателя |
receiverTransferType | Платёжная система карты получателя |
intReference | Дополнительный уникальный идентификатор транзакции |
terminalId | Идентификатор точки продаж (ID терминала) |
status | статус перевода |
Ответ в случае ошибки:
{
"code": 487,
"message": " Not permitted to merchant",
"invoiceId": "8161284658529816",
"id": "",
"reference": "",
"accountId": " testUser1"
}
Поле | Описание |
---|---|
code | Код ошибки |
message | Сообщение с описанием причины возникновения ошибки |
invoiceId | Номер заказа переданный ранее |
id | ID транзакции |
reference | Уникальный идентификатор транзакции |
accountId | Поле для указания идентификатора клиента магазина |
Перевод с сохраненной карты на не сохраненную:
{
"order": {
"amount": 100,
"currency": "KZT",
"description": "Test p2p transaction",
"accountID": "testUser1",
"id": "8161284658529823",
"senderEmail": "vyacheslavb@halykbank.kz",
"terminalId": "40a348cb-68a3-45d5-9002-a4836d79c3b5",
"backLink": "https://epay.homebank.kz/demo/success.html",
"failureBackLink": "https://epay.homebank.kz/demo/failure.html",
"postLink": "https://epay.homebank.kz/payform",
"failurePostLink": "https://testmerchant/order/1123/fail"
},
"card": {
"sender": {
"cardCred": "10606a85-ffca-b6b3-e063-1d1a000a2f3d",
"transferType": "TYPECARDID",
"expire": null
},
"receiver": {
"save": false,
"transferType": "TYPEPAN",
"cardCred": "5522042705066736"
}
}
}
Поле | Описание |
---|---|
order | Набор параметров транзакции |
amount | Сумма перевода |
currency | Валюта |
description | Дополнительная информация о транзакции |
accountID | Поле для указания идентификатора клиента магазина, обязателен при сохранений карты |
id | Номер заказа |
senderEmail | Емейл отправителя |
terminalId | Идентификатор точки продаж (ID терминала), можно получит в кабинете, выдается при регистрации |
backLink | Ссылка для возврата в магазин при удачном платеже |
failureBackLink | Ссылка для возврата в магазин при не удачном платеже |
postLink | URL, на который будет отправлен колбэк при успешной оплате |
failurePostLink | URL, на который будет отправлен колбэк при неуспешной оплате |
sender | Набор параметров отправителя |
save | Сохранение карты |
transferType | Тип проведения перевода, при TYPEPAN передается пустым |
cardCred | номер карты при TYPECARD, id карты при TYPECARDID |
CVC | CVC карты, при TYPEPAN передается пустым |
expire date | Срок истечения действия карты |
receiver | Набор параметров получателя |
cardCred | ПАН карты (тип указываемых данных зависит от параметра transferType) |
Ответ в случае успешного перевода:
{ "id": "84d22915-f77f-491a-801c-aeb1b3b3bb36", "amount": 100, "fee": 95, "accountID": "testUser1", "currency": "KZT", "email": "dosbols@halykbank.kz", "description": "TEST p2p", "reference": "403752583641", "orderID": "8161284658529816", "senderCardID": "10606a85-ffca-b6b3-e063-1d1a000a2f3d", "senderCardPAN": "440563...5096", "senderCardType": "VISA", "senderTransferType": "TYPEPAN", "receiverCardID": "fcf69516-f7e8-9b14-e053-1d1a000aef2f", "receiverCardPAN": "440563...7622", "receiverCardType": "VISA", "receiverTransferType": "TYPECARDID", "intReference": "C2679A7844D3A007", "terminalID": "40a348cb-68a3-45d5-9002-a4836d79c3b5", "status": "CHARGE" }
Поле | Описание |
---|---|
id | ID транзакции |
amount | Сумма перевода |
fee | Сумма комиссии (не используется) |
accountID | Поле для указания идентификатора клиента магазина, обязателен при сохранений карты |
currency | Валюта |
Указанный при передачи данных емейл | |
description | Дополнительная информация о транзакции |
reference | Уникальный идентификатор транзакции |
OrderId | Номер заказа переданный ранее |
senderCardID | ID карты отправителя |
senderCardPAN | ПАН карты отправителя |
senderTransferType | Тип проведения перевода по карте отправителя |
receiverCardID | ID карты получателя |
receiverCardPAN | ПАН карты получателя |
receiverCardType | Тип проведения перевода по карте получателя |
receiverTransferType | Платёжная система карты получателя |
intReference | Дополнительный уникальный идентификатор транзакции |
terminalId | Идентификатор точки продаж (ID терминала) |
status | статус перевода |
Ответ в случае ошибки:
{
"code": 487,
"message": " Not permitted to merchant",
"invoiceId": "8161284658525",
"id": "",
"reference": "",
"accountId": "uuid000001"
}
Поле | Описание |
---|---|
code | Код ошибки |
message | Сообщение с описанием причины возникновения ошибки |
invoiceId | Номер заказа переданный ранее |
id | ID транзакции |
reference | Уникальный идентификатор транзакции |
accountId | Поле для указания идентификатора клиента магазина |