Для работы через API коммерсанту необходимо заерегестрироваться в системе apple и уметь расшифровывать данные, которые в последствии необходимо будет передавать в нашу систему

Интеграцию возможно проводить только в продуктовой среде

  • TerminalID – идентификатор магазина
  • ClientID – идентификатор клиента
  • ClientSecret – секретный ключ

Данные для проведения тестовых платежей:

urlнеобходимо использовать продуктовые данные
emailнеобходимо использовать продуктовые данные
passwordнеобходимо использовать продуктовые данные
ClientIDнеобходимо использовать продуктовые данные
ClientSecretнеобходимо использовать продуктовые данные
TerminalIDнеобходимо использовать продуктовые данные

Получение токена для проведения оплаты (для каждой операции необходимо получать и использовать оригинальный токен)

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Идентификатор клиента в системе коммерсанта или другой доп. параметр на усмотрение коммерсантанеобязательно
emailemail клиентанеобязательное
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"
}