Документация для отправки запроса на оплату с использованием Google Pay c зашифрованными данными(PAYMENT_GATEWAY):

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

TEST URL POST https://testoauth.homebank.kz/epay2/oauth2/token
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: "Order number"
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"
}

Входящие параметры:

Название поляOписаниеОбязательное/не обязательно
amountCумма платежаОбязательное
currencyBалютаОбязательное
nameИмя держателя картыОбязательное
cryptogramЗакриптованные параметры платежной картыОбязательное
invoiceIDНомер заказа, генерируется коммерсантом, должен быть уникальный для каждого нового заказа, от 6 до 15 цифр. Если ваш номер заказа содержит более 6 символов, то дополнительно уникальность должна соблюдаться по последним 6ти символамОбязательное
invoiceIdAltНомер заказа, генерируется коммерсантом, должен быть уникальный для каждого нового заказа, от 6 до 15 цифрНеобязательно
descriptionВ данном поле передается информация о товарах или услугах, за которые производится оплатаОбязательное
AccountIdИдентификатор клиента в системе коммерсанта или другой доп. параметр на усмотрение коммерсантанеобязательно
emailЕmail клиентаНеобязательно
phoneТелефон клиентаНеобязательно
postLinkЛинк для отправки результата авторизации в магазинНеобязательно
failurePostLinkЛинк для отправки неудачного результата авторизации либо информации об ошибке в магазинНеобязательно
cardSaveПараметр сохранение карты, true - сохранить карту, false - не сохранять, boolean typeОбязательное
dataДополнительное поле транслируется в отчете при заполненииНеобязательно

Проведение платежа

URL: https://epay-api.homebank.kz/payment/cryptopay

Method: POST

Тело запроса:

json

{
    "amount": 10,
    "currency": "KZT",
    "name": "Test test",
    "terminalId": "b861ab50-8387-46c3-be6e-f439d4492c3c",
    "invoiceId": "80000148",
    "description": "Оплата",
    "accountId": "",
    "email": "nemesis_311@gmail.com",
    "phone": "+77078071180",
    "backLink": "http://example/backLink",
    "failureBackLink": "http://example/failureBackLink",
    "postLink": "http://example/postLink",
    "failurePostLink": "http://example/failurePostLink",
    "cardSave": false,
    "useBonus": false,
    "paymentType": "googlePay",
    "googlePay": {
        "apiVersionMinor": 0,
        "apiVersion": 2,
        "paymentMethodData": {
            "description": "Visa •••• 1111",
            "tokenizationData": {
                "type": "PAYMENT_GATEWAY",
               "token": "{\"signature\":\"MEQCIG0Pt0VSb8/W00fzbPLtO5z3DYNrG1IrU94YI0U3VZw3AiAekJRW2Bcq1+hPbcbBniw9vRNSH2w3+qFX5EcQwkJo1w\\u003d\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwIIrniC3/DfJjejVaHVsBGZLO9LW9ggLXWaoEVnpZuFgLSH4qEanNlHvZkr6A04aVq/7HgYaxLkotk6ZKSr3qQ\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1695271732552\\\"}\",\"signatures\":[\"MEQCIFurLZqmGGY9jZ+ZL+8iHtdxFRY3VMdKwcxrO0tunvuoAiBywEKS7Q2qwh4SmjY99tNaVYrfr8/Cygd8c/0XoP2K4Q\\u003d\\u003d\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"5XrIV3etzcSBdH8fgO+eCIxH3jWrGSUPPVXci3s22nD5Ab+9EtihPz/Zc3ODVwINNWOtkqfJxiu3UUaz1LbICfM1I2rhqyANCc35fK+Fd/JZNQv7eFNVVNxVdt2eBiQxPod+2K5v4jCJJkGevdbqQUW1OncL1QXpt8e/dNj1o7CTGCxxV6iN+8DjAo4xyvZJqKsjA3PzzKDhfNdM6zohKcgNqtPP30uI8EGK1PdGQDFCuPYFRYpKCVOx3qibRuI5x46pHV86GLUmMDbETSNOIYnwpOu0RVcMLdb74xQ9awoiXILSSM/IGhQUJnxeUbckzYsqwbZ88Ks6kmbHmCs3oHcgL4Lblt7hE07vW1Y1VJQ05/oTcT98R9WWzKeOTSvA8ru7o3oUxdwww1QIb9VytOz2IbGiI+ZepGehImTxsOUJkG3QwoFevDVDV67cf6KfTxUd97OarcE6Nk3crwO+GIASJw/U5lycj74HRd/h25Fme8TFf6BMmcOHUezy6Tx+iHO5j3P0QMDT0a4bVb8wuUPa0CE1DQH75E+EVSUb2tmRURkqDrDKCN6GP2VCvxqsSzV26zZbl8Xv\\\",\\\"ephemeralPublicKey\\\":\\\"BOmDg7vgShCeyoYT5EgzyV8NGdh3AbDe1yHmf2WRv+tKYlfjd8bhGJnc1hkLVjY80VKFBxUw2eDhqd1bGzXoxQ0\\\\u003d\\\",\\\"tag\\\":\\\"I9P/hCUvJTg+cVO7H+snaOAtACB9J0gySh/LEih0yH8\\\\u003d\\\"}\"}"
               },
            "type": "CARD",
            "info": {
                "cardNetwork": "VISA",
                "cardDetails": "1111"
            }
        }
    }
}


Поля запроса:

amountСумма платежа в валюте указанной в поле currency
currencyВалюта платежа в формате ISO 4217 (например, "KZT" для казахстанского тенге)
nameИмя плательщика
terminalIdИдентификатор терминала или магазина для обработки платежа
invoiceIdИдентификатор счета или заказа, связанный с платежом
descriptionОписание платежа
accountIdИдентификатор аккаунта плательщика (если применимо)
emailАдрес электронной почты плательщика
phoneТелефонный номер плательщика
backLinkURL для перенаправления пользователя после успешного завершения платежа
FailureBacklinkURL для перенаправления пользователя в случае неудачного завершения платежа
postlinkURL, на который провайдер платежей отправит обратную связь о статусе платежа после успешного завершения
failurePostlinkURL, на который провайдер платежей отправит обратную связь о статусе платежа в случае неудачного завершения
cardSaveФлаг, указывающий, нужно ли сохранять данные карты плательщика для будущих платежей (в данном случае установлено значение false)
useBonusФлаг, указывающий, нужно ли использовать бонусные средства плательщика для оплаты (в данном случае установлено значение false)
paymentTypeТип платежа, в данном случае установлено значение googlePay
googlePayОбъект, содержащий информацию о платеже с использованием Google Pay
apiVersionMinorВерсия API Google Pay (в данном случае установлено значение 0)
apiVersionВерсия API Google Pay (в данном случае установлено значение 2)
paymentMethodDataОбъект, содержащий информацию об используемом способе оплаты
descrptionОписание способа оплаты (например,"Visa •••• 1111")
tokenizationDataОбъект, содержащий информацию о токенизации платежных данных
typeТип токенизации (в данном случае установлено значение PAYMENT_GATEWAY)
tokenЗначение токена полученное от системы Google
typeТип способа оплаты (в данном случае установлено значение CARD)
infoОбъект, содержащий информацию о платежной карте
cardNetworkСеть платежной карты (например, "VISA")
cardDetailsПоследние четыре цифры номера платежной карты (например, "1111")

После отправки запроса на API оплаты, вы ожидаете получить ответ с информацией о статусе платежа. Обработайте ответ соответствующим образом в вашей системе используя сервис проверки статуса платежа

TEST URL: GET https://testepay.homebank.kz/api/check-status/payment/transaction/:invoiceid

PROD URL: GET https://epay-api.homebank.kz/check-status/payment/transaction/:invoiceid

Требуется авторизации: client credentials

Запрос Получение токена

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"
terminal: "67e34d63-102f-4bd1-898e-370781d0074d"


ПолеОписание
grant typeТип авторизации, для проведения платежа используется тип client_credentials
scopeРесурс
client idИдентификатор коммерсанта, можно получить в кабинете, выдается при регистрации
client secretКлюч доступа коммерсанта, можно получить в кабинете, выдается при регистрации
terminalИдентификатор точки продаж, можно получит в кабинете, выдается при регистрации

Ответ:

{
"access_token": "DCEB8O_ZM5U7SO_T_U5EJQ",
"expires_in": 7200,
"scope": "webapi usermanagement email_send verification statement statistics payment",
"token_type": "Bearer"
}

ПолеОписание
access tokenТокен для проведения операции
expires inВремя истечения токена
refresh tokenНе используется при данном типе авторизации
scopeРесурс, для проведения платежа используется ресурс
token typeТип авторизации
Headers
    Authorization: Bearer dGVzdGNsaWVudDpzZWNyZXQ=

HTTP CODE 200

Responce Body JSON:

{
    "resultCode": "100",
    "resultMessage": "SUCCESS",
    "transaction": {
        "id": "af2089fe-43b1-47eb-a61f-c78dd196e18d",
        "createdDate": "2022-11-15T03:52:17.289853+06:00",
        "invoiceID": "205218074",
        "amount": 12.22,
        "amountBonus": 0,
        "payoutAmount": 10,
        "orgAmount": 22.22,
        "approvalCode": "170243",
        "data": "{\"custom_id\":\"2023.03.10-15:03:58\",\"email\":\"epay@halykbank.kz\",\"deal_number\":\"1111111\",\"offer_code\":\"1111111\",\"sum\":33900}",
        "currency": "KZT",
        "terminal": "98120001",
        "terminalID":"67e34d63-102f-4bd1-898e-370781d0074d",
        "accountID": "",
        "description": "order 205218074",
        "language": "RU",
        "cardMask": "400303...9821",
        "cardType": "VISA",
        "issuer": "Казкоммерцбанк",
        "reference": "231951411351",
        "reason": "Successfully",
        "reasonCode": "00",
        "intReference": "67140D7DE97139A7",
        "secure": false,
        "statusID": "5bbb7dd5-4691-41ee-a6a5-755a3d23a218",
        "statusName": "REFUND",
        "name": "ARMAN ALI",
        "email": "epay@halykbank.kz",
        "phone": "",
        "cardID": "e8a09f98-04b4-71a6-e053-1d1a000aa0d2",
        "xlsRRN": "",
        "ip": "46.148.239.182",
        "ipCountry": "Kazakhstan",
        "ipCity": "",
        "ipRegion": "",
        "ipDistrict": "",
        "ipLatitude": 55.7386,
        "ipLongitude": 37.6068
    }
}

Error:

{
    "resultCode": "101",
    "resultMessage": "reject",
    "transaction": null
}

resultcode

ПолеОписание
100SuccessУспех выполнения запроса, в каком состоянии находиться платеж необходимо смотреть по statusName
101RejectTранзакция неуспешная
102Invoice not found, try again later or check transaction type (payment/p2p)Hомер invoiceId не найден в системе, возможно ваша транзакция проходила по сервису p2p.
103Try again or contact supportнеобходимо повторить запрос либо обратиться в службу поддержки
104Field terminal absent in tokenOтсутствует параметр TerminalID при запросе токена
106Error, incorrect terminalIDHекорректный TerminalID при запросе токена
107In progressоперация в процессе выполнения, запросите статус позже

statusName

ПолеОписание
REFUNDБыл осуществлён возврат списанной суммы
AUTHСумма в блоке
CANCELСумма разблокирована
CHARGEСумма списана
CANCEL_OLDОтмена авторизации на стороне Эмитента происходит в случае истечения срока действия операции CHARGE/CANCEL
FAILEDТранзакция неуспешная
3DОшибка на стадии проверки 3D
NEWОперация создалась но пока находится в промежуточном состоянии (если вы получили этот статус при запросе статуса транзакции вручную, то примите во внимание что он может быть изменён)
REJECTНеуспешная попытка оплаты

Вероятные reasonCode который вернет система размещены на ресурсе https://epayment.kz/docs/kody-oshibok