Google Pay by API
API арқылы жұмыс істеу үшін коммерсант GOOGLE жүйесіне тіркеліп, кейінірек EPAY жүйесіне жіберілуі керек деректерді толық аша білуі керек Pay by GOOGLE әдісі бойынша жұмыс істеу үшін компанияның PCI DSS сертификатының болуы қажет
Интеграция тек өнім ортасында жүзеге асырылуы мүмкін
НАЗАР АУДАРЫҢЫЗ:
PAN_ONLY: Бұл аутентификация әдісі пайдаланушының Google Есептік жазбасында файлда сақталған төлем карталарымен байланысты. Қайтарылған төлем деректеріне жарамдылық мерзімі мен жарамдылық мерзімі көрсетілген жеке шот нөмірі (PAN) кіреді
CRYPTOGRAM_3DS: Бұл аутентификация әдісі Android құрылғысының таңбалауыштары ретінде сақталған карталармен байланысты. Қайтарылған төлем деректері құрылғыда жасалған 3-D Secure (3DS) криптограммасын қамтиды
- 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"
}
Входящие параметры:
Жол атауы | Cипаттамасы | Міндетті/міндетті емес |
---|---|---|
amount | Tөлем сомасы | Mіндетті |
currency | Bалюта | Mіндетті |
name | Kарта ұстаушының аты | Mіндетті |
сryptogram | Tөлем картасының скриптелген параметрлері | Mіндетті |
invoiceId | Дүкендегі тапсырыс нөмірі | міндетті |
description | Бұл жолда төлем жүргізілетін тауарлар немесе қызметтер туралы ақпарат беріледі | |
accountId | Коммерсант жүйесіндегі клиент сәйкестендіргіші немесе коммерсанттың қалауы бойынша басқа қосымша параметр | Mіндетті емес |
Kлиенттің email-ы | Mіндетті емес | |
phone | Kлиент телефоны | Mіндетті емес |
postLink | Авторизация нәтижесін дүкенге жіберуге арналған сілтеме | Mіндетті емес |
failurePostLink | Сәтсіз авторизация нәтижесін немесе қате туралы ақпаратты дүкенге жіберуге арналған сілтеме | Mіндетті емес |
cardSave | Kартаны сақтау параметрі, true - картаны сақтау, false-сақтамау, boolean type | Mіндетті |
Криптограмманы дайындау:
Криптограмма құрылымы:
{ hpan string expDate string cvc string terminalId string }
Mысал:
{ "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