P2P переводы по сохранённым картам

Тестовые данные виртуального терминала и личного кабинета

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

Получение токена для проведения оплаты (для каждой операции необходимо получать и использовать оригинальный токен)

URL обращения для получения токена

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: 		100
currency: 		"KZT"
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Ресурс, для проведения платежа используется ресурс payment
token_typeТип авторизации

После получения токена, необходимо передавать его в Headers Bearer на эндпоинт:

TEST URL POST https://testepay.homebank.kz/api/payments/cards/auth
PROD URL POST https://epay-api.homebank.kz/payments/cards/auth

Проведение перевода по сохраненным картам

Карта является сохранённой если ранее, при проведении платежей или переводов, вы передавали параметр cardsave: true, оплата прошла успешно и в ответе вы получили CardID.

Перевод на сохранённую карту с сохранением карты отправителя

{
  "order": {
    "amount": 100,
    "currency": "KZT",
    "description": "Test p2p payment",
    "id": "8161284658529816",
    "accountID": "testUser1",
    "senderEmail": "dosbols@halykbank.kz",
    "terminalId": "40a348cb-68a3-45d5-9002-a4836d79c3b5",
    "backLink": "https://epay.homebank.kz/demo/success.html",
    "failureBackLink": "https://epay.homebank.kz/demo/failure.html",
    "postLink": "https://epay.homebank.kz/payform",
    "failurePostLink": "https://testmerchant/order/1123/fail"
  },
  "card": {
    "sender": {
      "save": true,
      "transferType": "TYPEPAN",
      "cvc": "815",
      "expire": {
"month": "01",
"year": "25"
      },
      "name": "Arman Ali",
      "cardCred": "4405639704015096"
    },
    "receiver": {
            "cardCred": "fcf69516-f7e8-9b14-e053-1d1a000aef2f",
            "transferType": "TYPECARDID",
        }
  }
}

ПолеОписание
orderНабор параметров транзакции
amountСумма перевода
currencyВалюта
descriptionДополнительная информация о транзакции
accountIDПоле для указания идентификатора клиента магазина, обязателен при сохранений карты
IdНомер заказа
senderEmailЕмейл отправителя
terminalIdИдентификатор точки продаж (ID терминала), можно получит в кабинете, выдается при регистрации
backLinkСсылка для возврата в магазин при удачном платеже
failureBackLinkСсылка для возврата в магазин при не удачном платеже
postLinkURL, на который будет отправлен колбэк при успешной оплате
failurePostLinkURL, на который будет отправлен колбэк при неуспешной оплате
senderНабор параметров отправителя
saveСохранение карты
transferTypeТип проведения перевода, при TYPEPAN передается пустым
cardCredНомер карты при TYPECARD, id карты при TYPECARDID
CVCCVC карты, при TYPEPAN передается пустым
expireСрок истечения действия карты
receiverНабор параметров получателя
cardCredПАН карты (тип указываемых данных зависит от параметра transferType)

Ответ в случае успешного перевода:

{
    "id": "84d22915-f77f-491a-801c-aeb1b3b3bb36",
    "amount": 100,
    "fee": 95,
    "accountID": "testUser1",
    "currency": "KZT",
    "email": "dosbols@halykbank.kz",
    "description": "TEST p2p",
    "reference": "403752583641",
    "orderID": "8161284658529816",
    "senderCardID": "10606a85-ffca-b6b3-e063-1d1a000a2f3d",
    "senderCardPAN": "440563...5096",
    "senderCardType": "VISA",
    "senderTransferType": "TYPEPAN",
    "receiverCardID": "fcf69516-f7e8-9b14-e053-1d1a000aef2f",
    "receiverCardPAN": "440563...7622",
    "receiverCardType": "VISA",
    "receiverTransferType": "TYPECARDID",
    "intReference": "C2679A7844D3A007",
    "terminalID": "40a348cb-68a3-45d5-9002-a4836d79c3b5",
    "status": "CHARGE"
}


ПолеОписание
IdID транзакции
amountСумма перевода
feeСумма комиссии (не используется)
accountIDПоле для указания идентификатора клиента магазина, обязателен при сохранений карты
currencyВалюта
EmailУказанный при передачи данных емейл
descriptionДополнительная информация о транзакции
referenceУникальный идентификатор транзакции
orderIdНомер заказа переданный ранее
senderCardIDID карты отправителя
senderCardPANПАН карты отправителя
senderTransferTypeТип проведения перевода по карте отправителя
receiverCardIDID карты получателя
receiverCardPANПАН карты получателя
receiverCardTypeТип проведения перевода по карте получателя
receiverTransferTypeПлатёжная система карты получателя
intReferenceДополнительный уникальный идентификатор транзакции
terminalIdИдентификатор точки продаж (ID терминала)
statusстатус перевода

Ответ в случае ошибки:

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

ПолеОписание
codeКод ошибки
messageСообщение с описанием причины возникновения ошибки
invoiceIdНомер заказа переданный ранее
idID транзакции
referenceУникальный идентификатор транзакции
accountIdПоле для указания идентификатора клиента магазина

Перевод с сохраненной карты на не сохраненную:

{
  "order": {
    "amount": 100,
    "currency": "KZT",
    "description": "Test p2p transaction",
    "accountID": "testUser1",
    "id": "8161284658529823",
    "senderEmail": "vyacheslavb@halykbank.kz",
    "terminalId": "40a348cb-68a3-45d5-9002-a4836d79c3b5",
    "backLink": "https://epay.homebank.kz/demo/success.html",
    "failureBackLink": "https://epay.homebank.kz/demo/failure.html",
    "postLink": "https://epay.homebank.kz/payform",
    "failurePostLink": "https://testmerchant/order/1123/fail"
  },
  "card": {
    "sender": {
            "cardCred": "10606a85-ffca-b6b3-e063-1d1a000a2f3d",
            "transferType": "TYPECARDID",
            "expire": null
    },
    "receiver": {
      "save": false,
      "transferType": "TYPEPAN",
      "cardCred": "5522042705066736"
        }
  }
}


ПолеОписание
orderНабор параметров транзакции
amountСумма перевода
currencyВалюта
descriptionДополнительная информация о транзакции
accountIDПоле для указания идентификатора клиента магазина, обязателен при сохранений карты
idНомер заказа
senderEmailЕмейл отправителя
terminalIdИдентификатор точки продаж (ID терминала), можно получит в кабинете, выдается при регистрации
backLinkСсылка для возврата в магазин при удачном платеже
failureBackLinkСсылка для возврата в магазин при не удачном платеже
postLinkURL, на который будет отправлен колбэк при успешной оплате
failurePostLinkURL, на который будет отправлен колбэк при неуспешной оплате
senderНабор параметров отправителя
saveСохранение карты
transferTypeТип проведения перевода, при TYPEPAN передается пустым
cardCredномер карты при TYPECARD, id карты при TYPECARDID
CVCCVC карты, при TYPEPAN передается пустым
expire dateСрок истечения действия карты
receiverНабор параметров получателя
cardCredПАН карты (тип указываемых данных зависит от параметра transferType)

Ответ в случае успешного перевода:

{
    "id": "84d22915-f77f-491a-801c-aeb1b3b3bb36",
    "amount": 100,
    "fee": 95,
    "accountID": "testUser1",
    "currency": "KZT",
    "email": "dosbols@halykbank.kz",
    "description": "TEST p2p",
    "reference": "403752583641",
    "orderID": "8161284658529816",
    "senderCardID": "10606a85-ffca-b6b3-e063-1d1a000a2f3d",
    "senderCardPAN": "440563...5096",
    "senderCardType": "VISA",
    "senderTransferType": "TYPEPAN",
    "receiverCardID": "fcf69516-f7e8-9b14-e053-1d1a000aef2f",
    "receiverCardPAN": "440563...7622",
    "receiverCardType": "VISA",
    "receiverTransferType": "TYPECARDID",
    "intReference": "C2679A7844D3A007",
    "terminalID": "40a348cb-68a3-45d5-9002-a4836d79c3b5",
    "status": "CHARGE"
}


ПолеОписание
idID транзакции
amountСумма перевода
feeСумма комиссии (не используется)
accountIDПоле для указания идентификатора клиента магазина, обязателен при сохранений карты
currencyВалюта
emailУказанный при передачи данных емейл
descriptionДополнительная информация о транзакции
referenceУникальный идентификатор транзакции
OrderIdНомер заказа переданный ранее
senderCardIDID карты отправителя
senderCardPANПАН карты отправителя
senderTransferTypeТип проведения перевода по карте отправителя
receiverCardIDID карты получателя
receiverCardPANПАН карты получателя
receiverCardTypeТип проведения перевода по карте получателя
receiverTransferTypeПлатёжная система карты получателя
intReferenceДополнительный уникальный идентификатор транзакции
terminalIdИдентификатор точки продаж (ID терминала)
statusстатус перевода

Ответ в случае ошибки:

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


ПолеОписание
codeКод ошибки
messageСообщение с описанием причины возникновения ошибки
invoiceIdНомер заказа переданный ранее
idID транзакции
referenceУникальный идентификатор транзакции
accountIdПоле для указания идентификатора клиента магазина