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Өнім деректерін пайдалану қажет
emailӨнім деректерін пайдалану қажет
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ипаттамасыМіндетті/міндетті емес
amountTөлем сомасыMіндетті
currencyBалютаMіндетті
nameKарта ұстаушының атыMіндетті
сryptogramTөлем картасының скриптелген параметрлеріMіндетті
invoiceIdДүкендегі тапсырыс нөміріміндетті
descriptionБұл жолда төлем жүргізілетін тауарлар немесе қызметтер туралы ақпарат беріледі
accountIdКоммерсант жүйесіндегі клиент сәйкестендіргіші немесе коммерсанттың қалауы бойынша басқа қосымша параметрMіндетті емес
emailKлиенттің email-ыMіндетті емес
phoneKлиент телефоныMіндетті емес
postLinkАвторизация нәтижесін дүкенге жіберуге арналған сілтемеMіндетті емес
failurePostLinkСәтсіз авторизация нәтижесін немесе қате туралы ақпаратты дүкенге жіберуге арналған сілтемеMіндетті емес
cardSaveKартаны сақтау параметрі, true - картаны сақтау, false-сақтамау, boolean typeMіндетті

Криптограмманы дайындау:

Криптограмма құрылымы:

{
  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