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

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

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

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

urlhttps://test-epay.homebank.kz
emailepay@halykbank.kz
passwordXZG1E@Mm
ClientIDtest
ClientSecretyF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG
TerminalID67e34d63-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Идентификатор клиента в системе коммерсанта или другой доп. параметр на усмотрение коммерсантанеобязательно
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"
}