Google Pay by API
API арқылы жұмыс істеу үшін коммерсант GOOGLE жүйесіне тіркеліп, кейінірек EPAY жүйесіне жіберілуі керек деректерді толық аша білуі керек Pay by GOOGLE әдісі бойынша жұмыс істеу үшін компанияның PCI DSS сертификатының болуы қажет
Интеграция тек өнім ортасында жүзеге асырылуы мүмкін
ATTENTION:
PAN_ONLY: This authentication method is associated with payment cards stored on file with the user's Google Account. Returned payment data includes personal account number (PAN) with the expiration month and the expiration year
CRYPTOGRAM_3DS: This authentication method is associated with cards stored as Android device tokens. Returned payment data includes a 3-D Secure (3DS) cryptogram generated on the device
- TerminalID – дүкен сәйкестендіргіші
- ClientID – клиент сәйкестендіргіші
- ClientSecret – құпия кілт
Тестілік төлемдерді жүргізуге арналған деректер:
url | өнім деректерін пайдалану қажет |
өнім деректерін пайдалану қажет | |
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 | Коммерсант жүйесіндегі клиент сәйкестендіргіші немесе коммерсанттың қалауы бойынша басқа қосымша параметр | міндетті емес |
клиенттің email-ы | міндетті емес | |
phone | клиент телефоны | міндетті емес |
postLink | Авторизация нәтижесін дүкенге жіберуге арналған сілтеме | міндетті емес |
failurePostLink | Сәтсіз авторизация нәтижесін немесе қате туралы ақпаратты дүкенге жіберуге арналған сілтеме | міндетті емес |
cardSave | картаны сақтау параметрі, true - картаны сақтау, false-сақтамау, boolean type | міндетті |
Криптограмманы дайындау:
Криптограмма құрылымы:
{ hpan string expDate string cvc string terminalId string } мысал: { "hpan":"GOOGLEToken","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", "cryptogramGooglePay": "Google-дан шифрланған криптограммалар", "сryptogram": "jkasDHJIHUIHDUIOHUI23HDUI2NUIBN2I23NDJIN2OIEN2IODN0I23J0M230IDJMI023MDKDMKLSFJSDF651454564SDFIOHF984N98HFIJ2HF" "invoiceId": "163637162556226", "invoiceIdAlt":"8564546", "description": "Google арқылы төлеу", "accountId": "", "email": "ch.kabykenov@gmail.com", "phone": "+77778871188", "backLink": "http://example/backLink", "failureBackLink": "http://example/failureBackLink", "postLink": "http://example/postLink", "failurePostLink": "http://example/failurePostLink", "paymentType": "googlePay" }
3DSecure-сіз төлеу бойынша жасалған операцияның нәтижесі
HTTP/1.1 200 OK { "id":"7943816b-58a8-47f6-a11e-67b63c4228c7", "amount": 100, "currency":"KZT", "invoiceID":"938290483290", "invoiceIdAlt":"8564546", "accountID":"uuid000001", "phone":"77777777777", "email":"jj@example.com", "description":"test payment", "reference":"114537489258", "language":"rus" }
Сәтсіз төлеу бойынша жасалған операцияның нәтижесі
HTTP/1.1 400 OK { "code": 487, "message": " Not permitted to merchant", "invoiceId": "8161284658525", "invoiceIdAlt":"8564546", "id": "", "reference": "", "accountId": "uuid000001" }
Status Code
BUYER_ACCOUNT_ERROR
Ағымдағы Google пайдаланушысы төлем ақпаратын бере алмайды.
DEVELOPER_ERROR
Берілген параметрдің форматы дұрыс емес. Барлық бапталған орталар үшін браузер консолінде қате туралы хабарлама пайда болуы мүмкін.
MERCHANT_ACCOUNT_ERROR
Google Pay API-ға кіретін сайттың қажетті рұқсаты жоқ. Бұл сұрау салуда көрсетілген дұрыс емес баптауға да, дұрыс емес мерчант сәйкестендіргішіне де байланысты болуы мүмкін. Неғұрлым толық ақпарат алу үшін statusMessage жолын тексеріңіз. Егер сізде әлі де проблемалар туындаса, қолдау қызметіне хабарласыңыз.
INTERNAL_ERROR Сервердегі жалпы қате.
3DSecure арқылы төлеу бойынша жасалған операцияның нәтижесі
HTTP/1.1 200 OK "id": "7943816b-58a8-47f6-a11e-67b63c4228c7", "accountId": "uuid000001", "amount": 10, "amountBonus": 0, "currency": "KZT", "description": "test payment", "email": "jj@example.com", "invoiceID": "123456813", "invoiceIdAlt":"8564546", "language": "RU", "phone": "77777777777", "reference": "", "intReference": "", "secure3D": { "paReq": "eJxVUl1TozAU/SsMrx1JSFuXdm7jsFZ23dbKmrbO+hYhCrYEDEFrf70JC3683XPunXPuPQmcHYq98yJUnZdy5voedh0hkzLN5ePM3ayjk8A9o7DOlBBzJpJGCQpXoq75o3Dy258741Sm14EUXbV5dC26bQGVCjijqhWtTaMWcVhjLWlgL0ecr5bxtxok1q4QMLgrh4iaRaln8I44PX1cM+/DHJ5pkNvh2yVrlJjYzwaetlASArg7o3Rd03MNW37/EOlXHEpA==", "md": "271710719-E54F6D8F865285D4", "action": "https://cardsecure.kkb.kz/CommerSafeACS/pa?id=YLcP2547mFFVw" }, "cardID": ""
3D Secure арқылы төлеу бойынша нәтижені алғаннан кейін клиентті құпиясөзді енгізу нысанына бағыттау қажет.
Ол үшін мынадай алынған параметрлер қолданылады: paReq, md, action.
TermUrl параметрінде мерчант жүйесі 3D Secure құпиясөзді тексеру нәтижесін алатын мекенжайды пайдалану қажет.
Клиентті қайта бағыттау үшін нысанды құру мысалы:
<body onload="javascript:OnLoadEvent();"> <FORM ACTION="<%=action%>" METHOD="post" NAME="ThreeDform" target="_self"> <input name="PaReq" type="hidden" value="<%=paReq%>"> <input name="MD" type="hidden" value="<%=md%>"> <input name="TermUrl" type="hidden" value="https://merchantsite.com/3dRes"> </FORM> <div align="center"> <h1>Жауап күтіңіз! <br><br> Жауабын күтіңіз!<br><br> Wait for an answer!<br><br> </h1> </div> </body> <SCRIPT>function OnLoadEvent () { document.forms[0].submit(); }
Мерчанттың TermUrl-ға алынатын 3DSecure тексеру нәтижесі:
PaRes: eJzNWVnT4jiy/SsdPY9Et3ewO6gvQt53bPD+5g3vNmCDjX/9FXxV1TXVPXHnzsONIYJATqcyU0rlOZLYO+Utz/lTnt5v+cfeyMcxLvJfquzLrxY45tc/Qp0HJ6UBIXZEC3EqspDgx/nXj/3r9fhWfKv8dpgvVMRu/efRq2VFBVDlkd/Gaug/sN/R3/E98u0RermlZdxPH/s4vbKK+UGSKLWl9sjXx32X3xT+w1QcXbcEhsYIFKewPfIp3iN/9rfur9YII1+q7MM9CLyv42mIMwEpTXPmM13cLamyob/skZfGPoun/ANHcQylcPoXDP0DJf+gtnvkLd9fXuZAN9yhbYyBbtE98qNsD2fplvfp84Ng6D3y/WmfL5ehz6EGHOb39h75M7xL3H+gP3wwCmOgbSjdO8HHfqq6n8Ki/sChrbd8P07xdB8/H+vOG631x//574XXT/OPfDv8D83MUpA== MD: 270469967-9CA5EC5779A3358E
Төлемді растау (3D Secure құпиясөзін тексеру нәтижесін жіберу)
URL POST /payment/confirm
Body { "ID": "7943816b-58a8-47f6-a11e-67b63c4228c7", "PaRes": "/ZUo742DgULQ4CotpdByEwF6eQvOAFEggSRUtE+rfsh+A9pV1Uq7VX/B/aPaKfTyYOucmfHx8YzhaLOYa7cYJ34UVvWcYeoahjzy/HBa1YeD+kFZP2IwmMWINQf5OkYGbUwSd4qa71X1nt3HVeXqPK1PHHpCg1l+dHs84rlyszPVGWRpBrsLmNQ3KJA9lUoxn7lhysDlq+NmhxUKZvGwCGRHYYFxs8acRrd32rctWrQKZl4KfIQhdBfIGt32qSowLm6AZBHg0TpM4zuWt8pA9gTW8ZzN0nRZIQSX7p0RBGMjuAei4kC+rPTWCiVSZ+N7DEm/1LpqrobjktO6HNdaw/GNV+f2ZNCuAlEV4LkpMmrmLOmtpJlWpUArNAcki4O7UAZk3pTP+sCwVFfY3xLfAyC7HMsh7P3vGeBmGYWojgD5xOBhwpn4LV7FP7F9exBbTfzRxLN4kfjx7Zd4kfuDJv6Lrfgr15NKiUfpTp0D8vXak4YaA09lZ+3Lnj09871waEX3tU5wPUKPu5PuxJlTNZ", "MD": "271710719-E54F6D8F865285D4", }
Response
Redirect Http code 200
Success https://epay.homebank.kz/payform/success.html Params amount currency invoiceID accountID description reference language cardid
Error https://epay.homebank.kz/payform/ invoiceID code message