Платежная страница

При регистрации вам будут выданы данные, которые нужно будет использовать при проведении платежа:

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

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

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"
secret_hash: "HelloWorld123#"
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ти цифрам
secret_hashдополнительное секретное значение(строка), сгенерированное системой интернет-магазина, которое будет возвращено на Postlink, ОБЯЗАТЕЛЬНОЕ ЗНАЧЕНИЕ
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Ресурс, для проведения платежа используется ресурс
token_typeТип авторизации

Перенаправление на платежную страницу

На странице нужно подключить JS-библиотеку и вызвать в ней метод halyk.pay().

Прод версия

URL TEST: https://test-epay.homebank.kz/payform/payment-api.js
URL PROD: https://epay.homebank.kz/payform/payment-api.js

В метод halyk.pay() нужно передать следующие параметры.

var createPaymentObject = function(auth, invoiceId, amount) {
            var paymentObject = {
					invoiceId: "000000001",
             invoiceIdAlt:"8564546",
					backLink: "https://example.kz/success.html",
					failureBackLink: "https://example.kz/failure.html",
          autoBackLink: true,
					postLink: "https://example.kz/",
					failurePostLink: "https://example.kz/order/1123/fail",
					language: "rus",
					description: "Оплата в интернет магазине",
					accountId: "testuser1",
					terminal: "67e34d63-102f-4bd1-898e-370781d0074d",
					amount: 100,
              data: "{\"statement\":{\"name\":\"Arman Ali\",\"invoiceID\":\"80000016\"}}",
					currency: "KZT",
          phone: "77777777777",
          name:"Arman Ali",
          email: "example@example.com"
                };
          paymentObject.auth = auth;
          return paymentObject;
        };

halyk.pay(createPaymentObject(auth, invoiceId, amount));

ПолеОписание
invoiceIdНомер заказа, генерируется коммерсантом, должен быть уникальный для каждого нового заказа,от 6 до 15 цифр. Если ваш номер заказа содержит более 6 цифр, то дополнительно уникальность должна соблюдаться по последним 6ти цифрам
invoiceIdAltдополнительный номер заказа, генерируется коммерсантом, должен быть уникальный для каждого нового заказа,от 6 до 15 цифр
backLinkСсылка для возврата в магазин при удачном платеже
failureBackLinkСсылка для возврата в магазин при не удачном платеже
autoBackLinkФлаг автоматического перенаправления на URL из backLink
postLinkУведомление о платеже
failurePostLinkУведомление о неудачном платеже, если не заполнено, то информация будет отправлена на адрес указанный в postLink
languageЯзык rus/kaz/eng
descriptionОписание заказа, допустимое количество символов 125 байтов
accountIdполе для указания идентификатора клиента магазина, обязателен при сохранений карты (cardSave:true) для сервиса получения списка сохраненных карт
terminalИдентификатор магазина
amountСумма заказа
currencyВалюта
phoneномер телефона клиента (не обязательно)
nameимя плательщика, только на латинице (не обязательно)
emailemail клиента (не обязательно)
authТокен / передается полностью как объект, все данные полученные от epay по запросу токена
dataдополнительное поле транслируется в отчете при заполнении (не обязательно)

Postlink

На указанный URL указанный в поле postLink будет отправлено сообщение. В случае если вы не получили postlink, или для проверки запроса от системы ePay, необходимо воспользоваться сервисом Статус транзакции

Ответ в случае успеха:

{
"acountId":"9398101000014416472",
"amount":800,
"approvalCode":"178644",
"cardId":"2cd0fb54-9855-14a6-e063-1b01010a84c4",
"cardMask":"440043...0128",
"cardType":"VISA",
"code":"ok",
"currency":"KZT",
"dateTime":"2025-02-12T09:42:51.960781107+05:00",
"description":"ONAY!",
"email":"",
"id":"a1bd0589-3ac9-4a2e-a31d-67a33f453a2b",
"invoiceId":"33456850",
"ip":"91.215.96.94",
"ipCity":"",
"ipCountry":"",
"ipDistrict":"",
"ipLatitude":0,
"ipLongitude":0,
"ipRegion":"",
"issuer":"JSC KASPI BANK",
"language":"RUS",
"name":"",
"phone":"77775903128",
"reason":"success",
"reasonCode":0,
"reference":"504355533594",
"secret_hash":"ZitLN1VLd21hUnFOSTJKbmg0UVdYVm8z",
"secure":"yes",
"secureDetails":"F",
"terminal":"9d40257c-bdfc-4c5e-9c3c-0c2a16bfc5a4"
}


Коды ответов

Ответ в случае неудачи:

{
"accountId":"9398101000006384023",
"amount":200,
"approvalCode":"",
"cardId":"",
"cardMask":"",
"cardType":"",
"code":"error",
"currency":"KZT",
"dateTime":"2025-02-12T09:42:53.036675+05:00",
"description":"ONAY!",
"email":"",
"id":"03c6de6e-0028-42fa-9199-561d78e59789",
"invoiceId":"33456910",
"ip":"95.82.119.153",
"ipCity":"Almaty",
"ipCountry":"Kazakhstan",
"ipDistrict":"",
"ipLatitude":43.2638,
"ipLongitude":76.9293,
"ipRegion":"",
"issuer":"JSC KASPI BANK",
"language":"RUS",
"name":"",
"phone":"77476080308",
"reason":"Authentication failed",
"reasonCode":473,
"reference":"",
"secret_hash":"T1hDaWhlay9NUysxRTA2djFFZnpTVDNU",
"secure":"no",
"secureDetails":"",
"terminal":"9d40257c-bdfc-4c5e-9c3c-0c2a16bfc5a4"
}