Для работы через API коммерсанту необходимо заерегестрироваться в системе apple и уметь расшифровывать данные, которые в последствии необходимо будет передавать в нашу систему
Интеграцию возможно проводить только в проудктовой среде
- TerminalID – идентификатор магазина
- ClientID – идентификатор клиента
- ClientSecret – секретный ключ
Данные для проведения тестовых платежей:
url | https://test-epay.homebank.kz |
epay@halykbank.kz | |
password | XZG1E@Mm |
ClientID | test |
ClientSecret | yF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG |
TerminalID | 67e34d63-102f-4bd1-898e-370781d0074d |
Получение токена для проведения оплаты (для каждой операции необходимо получать и использовать оригинальный токен)
PROD URL POST https://epay-oauth.homebank.kz/oauth2/token
Запрос
grant_type: "client_credentials" scope: "webapi usermanagement email_send verification statement statistics payment" client_id: "ClientID" client_secret: "ClientSecret" invoiceID: "Номер заказа" amount: 100 currency: "KZT" terminal: "67e34d63-102f-4bd1-898e-370781d0074d"
Ответ
{
"access_token":"DCEB8O_ZM5U7SO_T_U5EJQ",
"expires_in": 7200,
"scope":"webapi usermanagement email_send verification statement statistics payment",
"token_type":"Bearer"
}
Входящие параметры
Название поля | описание | Обязательное/не обязательно |
---|---|---|
amount | сумма платежа | обязательное |
currency | валюта | обязательное |
name | имя держателя карты | обязательное |
сryptogram | закриптованные параметры платежной карты | обязательное |
invoiceId | Номер заказа в магазине | обязательное |
description | В данном поле передается информация о товарах или услугах, за которые производится оплата | |
accountId | Идентификатор клиента в системе коммерсанта или другой доп. параметр на усмотрение коммерсанта | необязательно |
email клиента | необязательное | |
phone | телефон клиента | необязательно |
postLink | Линк для отправки результата авторизации в магазин. | необязательное |
failurePostLink | Линк для отправки неудачного результата авторизации либо информации об ошибке в магазин. | необязательно |
cardSave | параметр сохранение карты, true - сохранить карту, false - не сохранять, boolean type | обязательное |
Подготовка криптограммы
Структура криптограммы:
{ hpan string expDate string cvc string terminalId string } пример: { "hpan":"AppleToken","expDate":"expToken","cvc":"","terminalId":"67e34d63-102f-4bd1-898e-370781d0074d" }
Структура должна быть зашифрованна при помощи публичного RSA-ключа, который доступен по адресу https://epay-api.homebank.kz/public.rsa
Проведение платежа
POST URL https://epay-api.homebank.kz/payment/cryptopay
Запрос
Заголовок запроса:
Content-Type: application/json Authorization: Bearer DCEB8O_ZM5U7SO_T_U5EJQ
Тело запроса:
{ "amount": 10.0, "currency": "KZT", "name": "Arman Ali", "cryptogramApplePay": "Расшифрованная криптограмма от Apple ", "сryptogram": "jkasDHJIHUIHDUIOHUI23HDUI2NUIBN2I23NDJIN2OIEN2IODN0I23J0M230IDJMI023MDKDMKLSFJSDF651454564SDFIOHF984N98HFIJ2HF" "invoiceId": "163637162556226", "description": "Оплата через applePay", "accountId": "", "email": "armanali@gmail.com", "phone": "+77771232380", "backLink": "http://example/backLink", "failureBackLink": "http://example/failureBackLink", "postLink": "http://example/postLink", "failurePostLink": "http://example/failurePostLink", "paymentType": "applePay" }
Результат операции по оплате без 3DSecure
HTTP/1.1 200 OK { "id":"7943816b-58a8-47f6-a11e-67b63c4228c7", "amount": 100, "currency":"KZT", "invoiceID":"938290483290", "accountID":"uuid000001", "phone":"77777777777", "email":"jj@example.com", "description":"test payment", "reference":"114537489258", "language":"rus" }