Төлем картасын сақтау

Тіркелу кезінде сізге төлем жасау кезінде пайдалану қажет мәліметтер беріледі:

TerminalIDДүкен сәйкестендіргіші
ClientIDКлиент сәйкестендіргіші
ClientSecretҚұпия кілт

Test merchant

urlhttps://test-epay.homebank.kz
emailepay@halykbank.kz
passwordXZG1E@Mm
ClientIDtest
ClientSecretyF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG
TerminalID67e34d63-102f-4bd1-898e-370781d0074d

Төлем карточкасын тексеру

PANExpire DateCVCStatus
440563970401509601/25815unlock
552204270506673601/25525unlock
37751450000482001/254169lock
400303270454759709/20170lock
557834271075056009/20254lock

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

TEST URL POST https://testoauth.homebank.kz/epay2/oauth2/token
PROD URL POST https://epay-oauth.homebank.kz/oauth2/token

Сұрау салу

Body: form-data

grant_type: 	"client_credentials"
scope: 			"webapi usermanagement email_send verification statement statistics payment"
client_id: 		"test"
client_secret: 	"yF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG"
invoiceID: 		"000000001"
amount: 		0
currency: 		"USD"
terminal: 		"67e34d63-102f-4bd1-898e-370781d0074d"
postLink:       ""
failurePostLink: ""

ЖолыСипаттама
grant_typeАвторизация түрі, төлем жасау үшін client_credentials түрі қолданылады
scopeРесурс
client_idКоммерсанттың сәйкестендіргішін кабинеттен алуға болады, тіркеу кезінде беріледі
client_secretКоммерсанттың кіру кілтін кабинеттен алуға болады, тіркеу кезінде беріледі
invoiceIDТапсырыс нөмірін коммерсант жасайды, әрбір жаңа тапсырыс үшін тапсырыс нөмірі бірегей, 6-дан 15 цифрға дейін болуы керек. Егер сіздің тапсырыс нөміріңізде 6-дан астам таңба болса, онда бірегейлік қосымша соңғы 6 таңба бойынша сақталуы керек
amountТапсырыс сомасы
currencyВалюта
terminalСату орнының сәйкестендіргішін кабинеттен алуға болады, тіркеу кезінде беріледі
postLinkМіндетті параметрлер, сәтті болған жағдайда postlink жіберу
failurePostLinkМіндетті емес параметрлер, сәтсіз болған жағдайда postlink жіберу

Жауап

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

ЖолыСипаттамасы
access_tokenОперацияны жүргізуге арналған токен
expires_inТокеннің жарамдылық мерзімі
refresh_tokenАвторизацияның бұл түрінде қолданылмайды
scopeРесурс, төлем жүргізу үшін ресурс пайдаланылады
token_typeАвторизация түрі

Төлем жасау

Бетте JS-кітапханасын қосып, онда halyk.pay() әдісін шақыруыңыз керек.

URL TEST: https://test-epay.homebank.kz/payform/payment-api.js
URL PROD: https://epay.homebank.kz/payform/payment-api.js

halyk.cardverification() әдісіне келесі параметрлерді беру керек.


var createPaymentObject = function(auth, invoiceId, amount) {
   var paymentObject = {
           invoiceId: "000000001", 
           backLink: "https://example.kz/success.html", 
           failureBackLink: "https://example.kz/failure.html", 
           postLink: "https://example.kz/", 
           language: "rus", 
           description: "Регистрация карты",
           accountId: "testuser1", 
           terminal: "67e34d63-102f-4bd1-898e-370781d0074d", 
           amount: 0, 
           currency: "USD", 
           cardSave: true, 
           paymentType: "cardVerification" 
       };
       paymentObject.auth = auth;
       return paymentObject;
   };

   halyk.pay(createPaymentObject(auth, invoiceId, amount));

ЖолыСипаттама
invoiceIDТапсырыс нөмірін коммерсант жасайды, әрбір жаңа тапсырыс үшін тапсырыс нөмірі бірегей, 6-дан 15 цифрға дейін болуы керек. Егер сіздің тапсырыс нөміріңізде 6-дан астам таңба болса, онда бірегейлік қосымша соңғы 6 таңба бойынша сақталуы керек
backLinkТөлем сәтті болған кезде дүкенге оралу сілтемесі
failureBackLinkТөлем сәтсіз болған кезде дүкенге оралу сілтемесі
postLinkТөлем туралы хабарлама
languageТілі rus/kaz/eng
descriptionТапсырыс сипаттамасы, рұқсат етілген таңбалар саны 125 байт
accountIdдүкен клиентінің сәйкестендіргішін көрсетуге арналған жол, сақталған карталар тізімін алу сервисі үшін картаны сақтаған кезде (cardSave:true) міндетті болып табылады
terminalДүкен сәйкестендіргіші
amountТапсырыс сомасы
currencyВалюта
cardSaveКартаны сақтау үшін қажетті параметр
paymentTypeОперация түрі - картаны тексеру

Postlink

Post Link жолында көрсетілген URL-ға хабарлама жіберіледі. Егер сіз postlink алмаған болсаңыз немесе ePay жүйесінен сұрау салуды тексеру үшін Транзакция мәртебесі сервисін пайдалануды ұсынамыз

Сәттілік жағдайындағы жауап:

{
    "id": "ffffffff-0000-000f-f000-00f0000f000f",
    "dateTime": "2020-01-01T00:00:00.00000+06:00",
    "invoiceId": "10000000001",
    "invoiceIdAlt":"8564546",
    "amount": 0,
    "currency": "USD",
    "terminal": "67e34d63-102f-4bd1-898e-370781d0074d",
    "accountId": "1",
    "description": "Регистрация карты",
    "language": "RU",
    "cardMask": "4444...4444",
    "cardType": "",
    "issuer": "Halyk bank",
    "reference": "001111111111",
    "secure": "yes",
    "tokenRecipient": "",
    "code": "ok",
    "reason": "",
    "reasonCode": 0,
    "name": "CARD HOLDER",
    "email": "ch@example.kz",
    "phone": "77777777777",
    "ip": "5.188.155.135",
    "ipCountry": "Kazakhstan",
    "ipCity": "Almaty",
    "ipRegion": "",
    "ipDistrict": "",
    "ipLongitude": 76.9293,
    "ipLatitude": 43.2638,
    "cardId": "e7e2587f-de26-4f41-ae1f-80c1fea31728"
}

Жауап кодтары

Сәтсіздік болған жағдайдағы жауап:

{
   "id": "ffffffff-0000-000f-f000-00f0000f000f",
   "dateTime": "2020-01-01T00:00:00.00000+06:00",
   "invoiceId": "10000000001",
   "amount": 0,
   "currency": "USD",
   "terminal": "999999999",
   "accountId": "1",
   "description": "Регистрация карты",
   "language": "RU",
   "cardMask": "4444...4444",
   "cardType": "",
   "issuer": "Halyk bank",
   "reference": "",
   "secure": "yes",
   "tokenRecipient": "",
   "code": "error",
   "reason": "описание ошибки",
   "reasonCode": -498,
   "name": "CARD HOLDER",
   "email": "ch@example.kz",
   "phone": "77777777777",
   "ip": "5.188.155.135",
   "ipCountry": "Kazakhstan",
   "ipCity": "Almaty",
   "ipRegion": "",
   "ipDistrict": "",
   "ipLongitude": 76.9293,
   "ipLatitude": 43.2638
}