Картаның жарамдылығын тексеруге және қажет болған жағдайда оны сақтауға арналған қызмет

Төлем жасау үшін таңбалауышты алу (әр операция үшін түпнұсқа таңбалауышты алу және пайдалану қажет)

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: "halykfinanceUSD"
client_secret: "U01gQZVL##lJ$NhJ"
invoiceID:"Тапсырыс нөмірі"
amount: 0
currency: "USD"
terminal: "d9d7978c-d6ee-4ec0-8cda-165251a4bf16"


Жауап

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

Кіріс параметрлері

АтауыСипаттамаміндетті/міндетті емес
amountтөлем сомасы әрқашан 0міндетті
currencyвалюта әрқашан USDміндетті
nameкарта ұстаушының атыміндетті
сryptogramтөлем картасының криптографиялық параметрлеріміндетті
invoiceidКоммерсант жасаған Тапсырыс нөмірі болуы керек бірегей әрбір жаңа тапсырыс үшін 6-дан 15 санға дейін. егер сіздің тапсырыс нөміріңізде 6-дан астам таңба болса, онда қосымша бірегейлік соңғы 6 таңбаға сәйкес сақталуы керекміндетті
invoiceidaltКоммерсант жасаған Тапсырыс нөмірі болуы керек бірегей әрбір жаңа тапсырыс үшін 6-дан 15 санға дейінміндетті емес
descriptionосы өрісте төлем жүргізілетін тауарлар немесе қызметтер туралы ақпарат беріледіміндетті
accountIdсаудагер жүйесіндегі клиент идентификаторы немесе басқа қосымша опция саудагердің қалауы бойыншаміндетті емес
emailклиенттің электрондық поштасықосымша
телефонтұтынушы телефонықосымша
postlinkавторизация нәтижесін дүкенге жіберу үшін сілтемеміндетті
failurepostlinkсәтсіз авторизация нәтижесін немесе қате туралы ақпаратты дүкенге жіберу үшін сілтемеміндетті емес
cardsaveкартаны сақтау параметрі, true-картаны сақтау, false-сақтамауboolean type
деректерқосымша өріс толтырылған кезде есепте таратыладыміндетті емес

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

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

{
  hpan string
  expDate string
  cvc string
  terminalId string
}

Мысал:

{
 "hpan":"4003032704547597",
 "expDate":"1022",
 "cvc":"636",
 "terminalId":"0d4d345e-8566-43bd-b046-028b5aee6406"
}


Құрылым Жалпыға қол жетімді RSA кілтімен шифрлануы керек https://epay-api.homebank.kz/public.rsa https://testepay.homebank.kz/api/public.rsa

Төлем жүргізу

POST URL https://testepay.homebank.kz/api/payment/zerotransaction
POST URL https://epay-api.homebank.kz/payment/zerotransaction

Сұрау

Сұрау тақырыбы:

Content-Type: application/json
Authorization: Bearer DCEB8O_ZM5U7SO_T_U5EJQ

Сұрау денесі:

{
  "amount":0,
  "currency":"USd",
  "name":"JON JONSON",
"cryptogram":"UhYXAhYGeFA6srEVJ2V8Jtnnz6NzRwy8QDkCvEmJOcC6KyBP/Ce4SUM0A0My1zS1Iiur6AF0ajJwdi31EvrkRDBvzl2iLVKzvuAyusc5KuGpgxRhc6WXDhKkHV7J5Oew8uPMOfVbmXZ+Ypihos5ynSX7TnqQg1ImAmEISBxT+YU7jY68uxGhlehYMJ0lgS1Req4Z0BwCExBL2lwo05lmSMed69bEdBX552ue13zXjvTKIMrVj70hXIppXnxAE7haJfObuQzx2Ox+wM087kFPXfDX8Udlc6iRP2TxnRj7R1GnCTLvf3xlVU9ELzK+j91SPBQTvyEeyEvGMunjRch8lGXlogQreFSZmC5FUpfdfw6jYhl6lizUZYZzroN6/i5MILtV0US8zPFZTfozrCj8cvqw+J2W7yBywDiFoZG1teLDMIKIqTvkrmRL++Ji0psdHXl0z0ng/d0yTxzcBpPZ5V8VfNOexJJRZQUXBQqygAqqYninku/ls1NuTRMPeveyrgSMjQUVKU2W1izXdSreSdvaOio+1HJHNCZDwNn9yheTzbmuUsl5lhnsUGNT5gzMuYje8VfRYpsvG3Syz6nOijprG1wL3L/p5B/SZGrtaMMg/OdbD3mUWCSmat/V2v9RKHaeo5OHMnaVMTY5Tsqwa5JKBRP4ztRcjkjMRCBvS8c=",    
  "invoiceId":"000001",
  "invoiceIdAlt":"8564546",
  "description":"test payment",
  "accountId":"uuid000001",
  "email":"jj@example.com",
  "phone":"77777777777",
  "cardSave": true,
  "data": "{\"statement\":{\"name\":\"Arman     Ali\",\"invoiceID\":\"80000016\"}}",
  "postLink":"https://testmerchant/order/1123",
  "failurePostLink":"https://testmerchant/order/1123/fail"
}


3D Secure жоқ сәтті төлем операциясының нәтижесі


HTTP/1.1 200 OK

{
  "id":"7943816b-58a8-47f6-a11e-67b63c4228c7",
  "amount": 0,
  "amountBonus":0,
  "currency":"USD",
  "invoiceID":"938290483290",
  "invoiceIdAlt":"8564546",
  "accountID":"uuid000001",
  "phone":"77777777777",
  "email":"jj@example.com",
  "description":"test payment",
  "reference":"114537489258",
  "intReference":"435G34G34534T546",
  "secure3D":no,
  "cardID":"111DFSDF-3F43-18V4-V34-ASD12342323",
  "language":"rus"
  "fee":0,
  "code":0,
  "status":"AUTH"
}

Төлем бойынша сәтсіз операцияның нәтижесі


HTTP/1.1 400 OK

{
"code": 487,
"message": " Not permitted to merchant",
"invoiceId": "8161284658525",
"id": "",
"reference": "",
"accountId": "uuid000001"
}


3D Secure төлем операциясының нәтижесі

HTTP/1.1 200 OK

"id": "7943816b-58a8-47f6-a11e-67b63c4228c7",
    "accountId": "uuid000001",
    "amount": 0,
    "amountBonus": 0,
    "currency": "USD",
    "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.

Term Url параметрінде саудагер жүйесі 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",
}

Сәтті операцияның нәтижесі


HTTP/1.1 200 OK

{
  "id":"7943816b-58a8-47f6-a11e-67b63c4228c7",
  "amount": 0,
  "amountBonus":0,
  "currency":"USD",
  "invoiceID":"938290483290",
  "invoiceIdAlt":"8564546",
  "accountID":"uuid000001",
  "phone":"77777777777",
  "email":"jj@example.com",
  "description":"test payment",
  "reference":"114537489258",
  "intReference":"435G34G34534T546",
  "secure3D":null,
  "cardID":"111DFSDF-3F43-18V4-V34-ASD12342323",
  "language":"rus"
  "fee":0,
  "code":0,
  "status":"AUTH"
}