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өнім деректерін пайдалану қажет
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"
}

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

Жол атауысипаттамасыМіндетті/міндетті емес
amountтөлем сомасыміндетті
currencyвалютаміндетті
nameкарта ұстаушының атыміндетті
сryptogramтөлем картасының скриптелген параметрлеріміндетті
invoiceIdДүкендегі тапсырыс нөміріміндетті
descriptionБұл жолда төлем жүргізілетін тауарлар немесе қызметтер туралы ақпарат беріледі
accountIdКоммерсант жүйесіндегі клиент сәйкестендіргіші немесе коммерсанттың қалауы бойынша басқа қосымша параметрміндетті емес
emailклиенттің 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