Kassa24 Terminal
Обзор
Kassa24 Terminal — метод для проведения оплат с использованием физических терминалов Kassa24. Загрузить логотип этого платежного метода в векторном формате можно здесь. |
| Тип платежного метода | Физический терминал |
|---|---|
| Регионы использования | Казахстан |
| Валюты платежей | KZT |
| Конвертация валют | На стороне провайдера |
| Оплата | |
| Выплата | |
| Оплата по сохраненным данным | |
| Полный возврат | |
| Частичный возврат | |
| Опротестование | |
| Особенности |
|
| Организация и стоимость подключения | По согласованию с курирующим менеджером JetPay |
В проведении отдельной оплаты с использованием платежного метода Kassa24 Terminal задействуются веб-сервис мерчанта, один из интерфейсов и платежная платформа JetPay, а также сервис Kassa24 Terminal.
Основные операции
| Интерфейсы | Сумма платежа, KZT | Время проведения платежа | |||||
|---|---|---|---|---|---|---|---|
| Payment Page | Gate | Dashboard | минимум | максимум | базовое | предельное | |
| Оплата | 1,00 | 500 000,00 | 1 минута | 36 суток | |||
Уточнить минимальную и максимальную сумму платежа, доступную в вашем проекте, вы можете в Dashboard. Для этого в Dashboard перейдите в раздел Проекты и выберите вкладку Платежные методы.
Сценарии использования
Проведение оплат с использованием метода Kassa24 Terminal выполняется через физические терминалы Kassa24.
Рис.: Оплата Kassa24 Terminal
Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения оплат, а также о том, что можно использовать для анализа информации о проведенных платежах и операциях, представлены далее.
Оплата через Gate
Общая информация
Для оплаты через Gate с использованием платежного метода Kassa24 Terminal со стороны веб-сервиса необходимо:
- Обработать запрос на проверку существования лицевого счета пользователя.
- Отправить ответ с информацией о существовании лицевого счета пользователя.
- Обработать запрос на получение идентификатора платежа на стороне веб-сервиса.
- Отправить ответ с идентификатором платежа.
- Принять оповещение о результате оплаты.
Рис.: Проведение оплаты через Gate
- Пользователь выбирает веб-сервис, лицевой счет в котором он хочет пополнить, и затем вводит свои учетные данные в системе мерчанта.
- От физического терминала на заданный URL JetPay передается запрос на проверку существования лицевого счета пользователя.
- Выполняется обработка запроса.
- От платежной платформы к веб-сервису передается запрос на проверку существования лицевого счета пользователя.
- На стороне веб-сервиса проводится обработка запроса.
- От веб-сервиса к платежной платформе передается ответ на запрос.
- От платежной платформы к сервису Kassa24 Terminal передаются результаты проверки данных лицевого счета пользователя.
- Пользователю отображается форма оплаты Kassa24 Terminal.
- Пользователь вносит наличные для пополнения лицевого счета.
- На стороне сервиса Kassa24 Terminal выполняется обработка платежа.
- От сервиса Kassa24 Terminal к платежной платформе направляется уведомление о результате оплаты.
- От платежной платформы к веб-сервису передается запрос на получение идентификатора платежа на стороне веб-сервиса.
- На стороне веб-сервиса проводится обработка запроса.
- От веб-сервиса к платежной платформе передается информация об идентификаторе платежа.
- На стороне платежной платформы создается операция.
- Платежная платформа направляет в веб-сервис оповещение о результате оплаты.
- Пользователь получает информацию о результате проведения оплаты на экране физического терминала.
Информация о формате запросов и параметрах инициирования оплат через Gate при работе с методом Kassa24 Terminal, а также о формате оповещений о результатах оплат приведена далее.
Формат запросов
При работе с запросами на проверку существования лицевого счета пользователя необходимо учитывать следующее:
Запрос verify на проверку существования лицевого счета пользователя
- Запрос
verifyдля проверки существования лицевого счета пользователя отправляется методом POST на заданный URL веб-сервиса. - Запрос содержит следующие обязательные параметры:
- type — тип операции на стороне веб-сервиса, значение параметра всегда
verify; - customer_id — идентификатор пользователя в системе мерчанта;
- project_id — идентификатор проекта, полученный от JetPay при интеграции;
- signature — подпись запроса.
Рис.: Пример запроса на проверку существования лицевого счета пользователя
{ "type": "verify", "project_id": 1234, "customer_id": "johndoe@example.com", "signature": "lY0LTSAz85R7zGce5qfYGacOuYlHGWqkMcQlqUmkQ0YYLWRg==" } - type — тип операции на стороне веб-сервиса, значение параметра всегда
Запрос check_deposit на получение идентификатора платежа
При работе с запросами на получение идентификатора платежа на стороне веб-сервиса необходимо учитывать следующее:
- Запрос
check_depositдля получения идентификатора платежа на стороне веб-сервиса отправляется методом POST на заданный URL веб-сервиса. - Запрос содержит следующие обязательные параметры:
- type — тип операции на стороне веб-сервиса, значение параметра всегда
check_deposit; - customer_id — идентификатор пользователя в системе мерчанта;
- project_id — идентификатор проекта, полученный от JetPay при интеграции;
- amount — сумма оплаты в дробных единицах валюты без десятичной точки и пробелов за исключением случаев, когда у валюты нет дробной части. Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Коды валют;
- currency — валюта платежа в формате ISO-4217 alpha-3;
- payment_method — код терминальной сети, значение этого параметра всегда
kassa24; - signature — подпись запроса.
Рис.: Пример запроса на получение идентификатора платежа на стороне веб-сервиса
{ "type": "check_deposit", "project_id": 1234, "customer_id": "johndoe@example.com", "amount": 10000, "currency": "KZT", "payment_method": "kassa24", "signature":"lY0LTSAzpR7zGce5qfYGacOuYlHGWqkMcmkQ0YYLWRg==" } - type — тип операции на стороне веб-сервиса, значение параметра всегда
Формат ответов
При получении запроса от платежной платформы JetPay, ваш сервис должен направить синхронный ответ с одним из указанных ниже кодов ответов.
| Код | Описание |
|---|---|
0 |
Операция успешна |
400 |
Ошибка подписи |
404 |
Лицевой счет пользователя не существует |
500 |
Общая ошибка, причина должна быть описана в необязательном параметре errors.message |
Ответ на запрос verify
Ответ на запрос verify должен быть отправлен синхронно и содержать следующие обязательные параметры:
- code — код ответа на запрос (допустимые значения указаны в таблице Допустимые коды ответов);
- currency — валюта платежа в формате ISO-4217 alpha-3.
- additional_customer_id — идентификатор пользователя, уникальный в рамках проекта, который используется для идентификации пользователя в платежной платформе JetPay.
- error_description — описание ошибки;
В случае успеха проверки наличия лицевого счета ответ должен содержать код ответа на запрос и валюту платежа.
Рис.: Пример успешного ответа на запрос
{
"code": 0,
"currency": "KZT",
"additional_customer_id": "HFVDW42345"
}
Если обнаружить запрошенный лицевой счет не удалось, ответ на запрос должен содержать код ответа на запрос и сообщение об ошибке.
Рис.: Пример неуспешного ответа на запрос
{
"code": 404,
"error_description": "Account does not exist"
}
Ответ на запрос check_deposit
Ответ на запрос check_deposit должен быть отправлен синхронно и содержать следующие обязательные параметры:
- code — код ответа на запрос (допустимые значения указаны в таблице Допустимые коды ответов);
- payment_id — уникальный идентификатор платежа на стороне веб-сервиса.
- error_description — описание ошибки;
- description — описание платежа;
- customer_id — идентификатор пользователя.
Успешный ответ на запрос получения идентификатора платежа на стороне веб-сервиса должен содержать код ответа на запрос и уникальный идентификатор платежа на стороне веб-сервиса.
Рис.: Пример успешного ответа на запрос
{
"code": 0,
"payment_id": "Asfdsaf3252345",
"description": "Test payment via terminal"
}
Ответ об ошибке получения идентификатора платежа на стороне веб-сервиса должен содержать код ответа на запрос и сообщение об ошибке.
Рис.: Пример неуспешного ответа на запрос
{
"code": 500,
"error_description": "Something went wrong"
}
Формат оповещений
Для оповещений о результатах оплат с применением метода Kassa24 Terminal используется стандартный формат, описание которого представлено в разделе Оповещения (callbacks) в Gate.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 2275 была успешно проведена оплата в размере 100,00 KZT.
Рис.: Пример оповещения о проведенной оплате
{
"project_id": 1234,
"payment": {
"id": "payment_47",
"type": "purchase",
"status": "success",
"date": "2022-03-25T11:08:45+0000",
"method": "Kassa24",
"sum": {
"amount": 10000,
"currency": "KZT"
},
"description": ""
},
"account": {
"number": "123456"
},
"customer": {
"id": "customer_123"
},
"operation": {
"id": 28,
"type": "sale",
"status": "success",
"date": "2022-03-25T11:08:45+0000",
"created_date": "2022-03-25T11:08:05+0000",
"request_id": "9e32835fb27907e0b08569d7d150e387a16a80e336c5117242b5cf60a4e17839",
"sum_initial": {
"amount": 10000,
"currency": "KZT"
},
"sum_converted": {
"amount": 10000,
"currency": "KZT"
},
"code": "0",
"message": "Success",
"provider": {
"id": 12345,
"payment_id": "123abc123-321",
"auth_code": ""
}
},
"signature": "U7HQO7ToISZhMPKdM4Xr4DSX2UuHp99rHrtaxkUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
Анализ результатов проведения платежей
Как и при работе с другими платежными методами, которые предоставляет JetPay, при использовании этого метода доступны разные способы анализа информации о платежах и операциях.
Всю необходимую информацию можно получать и анализировать средствами Dashboard (dashboard.jetpay.kz), в том числе с помощью аналитических панелей в разделе Аналитика.
Также можно выгружать необходимую информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:
- Dashboard позволяет выгружать данные в формате CSV с помощью инструментов в разделе Отчеты. При этом можно выполнять разовые и периодические выгрузки информации на локальный компьютер.
- Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы к конечной точке /operations/get.
С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки JetPay.