P2P переводы по сохранённым картам
Тестовые данные виртуального терминала и личного кабинета
| |
---|
url | https://test-epay.homebank.kz |
email | epay@halykbank.kz |
password | XZG1E@Mm |
ClientID | test |
ClientSecret | yF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG |
TerminalID | 67e34d63-102f-4bd1-898e-370781d0074d |
Тестовые платежные карты:
PAN | Expire Date | CVC | Status |
---|
4405639704015096 | 01/25 | 815 | unlock |
5522042705066736 | 01/25 | 525 | unlock |
377514500004820 | 01/25 | 4169 | lock |
4003032704547597 | 09/20 | 170 | lock |
5578342710750560 | 09/20 | 254 | lock |
Получение токена для проведения оплаты (для каждой операции необходимо получать и использовать оригинальный токен)
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 | Валюта |
Email | Указанный при передачи данных емейл |
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 | Валюта |
email | Указанный при передачи данных емейл |
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 | Поле для указания идентификатора клиента магазина |