P2P переводы по сохранённым картам
Получение токена для проведения оплаты (для каждой операции необходимо получать и использовать оригинальный токен)
URL обращения для получения токена
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: "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://test-epay-api.epayment.kz/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": "tester@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": "Tester Petrov", "cardCred": "4405639704015096" }, "receiver": { "cardCred": "fcf69516-f7e8-9b14-e053-1d1a000aef2f", "transferType": "TYPECARDID", } } }
| Поле | Описание |
|---|---|
| order | Набор параметров транзакции |
| amount | Сумма перевода |
| currency | Валюта |
| description | Дополнительная информация о транзакции |
| accountID | Поле для указания идентификатора клиента магазина, обязателен при сохранений карты |
| Id | Номер заказа |
| senderEmail | Email отправителя |
| terminalId | Идентификатор точки продаж (ID терминала), можно получит в кабинете, выдается при регистрации |
| backLink | Ссылка для возврата в магазин при удачном платеже |
| failureBackLink | Ссылка для возврата в магазин при не удачном платеже |
| postLink | URL, на который будет отправлен callback при успешной оплате |
| failurePostLink | URL, на который будет отправлен callback при неуспешной оплате |
| 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": "test@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": "test@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": "test@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 | Поле для указания идентификатора клиента магазина |