Kassa24 Terminal

Обзор

Kassa24 Terminal — метод для проведения оплат с использованием физических терминалов Kassa24.

Загрузить логотип этого платежного метода в векторном формате можно здесь.

Тип платежного метода Физический терминал
Регионы использования Казахстан
Валюты платежей KZT
Конвертация валют На стороне провайдера
Оплата
Выплата
Оплата по сохраненным данным
Полный возврат
Частичный возврат
Опротестование
Особенности
  • Оплата в терминале осуществялется с помощью наличных
  • Провайдер накладывает ограничение на общую сумму платежей в месяц — не более 12 500 000,00 KZT
Организация и стоимость подключения По согласованию с курирующим менеджером JetPay

В проведении отдельной оплаты с использованием платежного метода Kassa24 Terminal задействуются веб-сервис мерчанта, один из интерфейсов и платежная платформа JetPay, а также сервис Kassa24 Terminal.

Основные операции

Интерфейсы Суммы Время
Payment Page CMS Plug-ins Gate Dashboard минимум максимум базовое предельное
Оплата 1,00 500 000,00 1 минута 36 суток

Уточнить минимальную и максимальную сумму платежа, доступную в вашем проекте, вы можете в Dashboard. Для этого в Dashboard перейдите в раздел Проекты и выберите вкладку Платежные методы.

Сценарии использования

Проведение оплат с использованием метода Kassa24 Terminal выполняется через физические терминалы Kassa24.

Рис.: Оплата Kassa24 Terminal



Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения оплат, а также о том, что можно использовать для анализа информации о проведенных платежах и операциях, представлены далее.

Оплата через Gate

Общая информация

Для оплаты через Gate с использованием платежного метода Kassa24 Terminal со стороны веб-сервиса необходимо:

  1. Обработать запрос на проверку существования лицевого счета пользователя.
  2. Отправить ответ с информацией о существовании лицевого счета пользователя.
  3. Обработать запрос на получение идентификатора платежа на стороне веб-сервиса.
  4. Отправить ответ с идентификатором платежа.
  5. Принять оповещение о результате оплаты.


Рис.: Проведение оплаты через Gate

  1. Пользователь выбирает веб-сервис, лицевой счет в котором он хочет пополнить, и затем вводит свои учетные данные в системе мерчанта.
  2. От физического терминала на заданный URL JetPay передается запрос на проверку существования лицевого счета пользователя.
  3. Выполняется обработка запроса.
  4. От платежной платформы к веб-сервису передается запрос на проверку существования лицевого счета пользователя.
  5. На стороне веб-сервиса проводится обработка запроса.
  6. От веб-сервиса к платежной платформе передается ответ на запрос.
  7. От платежной платформы к сервису Kassa24 Terminal передаются результаты проверки данных лицевого счета пользователя.
  8. Пользователю отображается форма оплаты Kassa24 Terminal.
  9. Пользователь вносит наличные для пополнения лицевого счета.
  10. На стороне сервиса Kassa24 Terminal выполняется обработка платежа.
  11. От сервиса Kassa24 Terminal к платежной платформе направляется уведомление о результате оплаты.
  12. От платежной платформы к веб-сервису передается запрос на получение идентификатора платежа на стороне веб-сервиса.
  13. На стороне веб-сервиса проводится обработка запроса.
  14. От веб-сервиса к платежной платформе передается информация об идентификаторе платежа.
  15. На стороне платежной платформы создается операция.
  16. Платежная платформа направляет в веб-сервис оповещение о результате оплаты.
  17. Пользователь получает информацию о результате проведения оплаты на экране физического терминала.

Информация о формате запросов и параметрах инициирования оплат через Gate при работе с методом Kassa24 Terminal, а также о формате оповещений о результатах оплат приведена далее.

Формат запросов

При работе с запросами на проверку существования лицевого счета пользователя необходимо учитывать следующее:

Запрос verify на проверку существования лицевого счета пользователя

  1. Запрос verify для проверки существования лицевого счета пользователя отправляется методом POST на заданный URL веб-сервиса.
  2. Запрос содержит следующие обязательные параметры:
    • type — тип операции на стороне веб-сервиса, значение параметра всегда verify;
    • customer_id — идентификатор пользователя в системе мерчанта;
    • project_id — идентификатор проекта, полученный от JetPay при интеграции;
    • signature — подпись запроса.

    Рис.: Пример запроса на проверку существования лицевого счета пользователя

    {
        "type": "verify",
        "project_id": 1234,
        "customer_id": "johndoe@example.com",
        "signature": "lY0LTSAz85R7zGce5qfYGacOuYlHGWqkMcQlqUmkQ0YYLWRg=="
    }

Запрос check_deposit на получение идентификатора платежа

При работе с запросами на получение идентификатора платежа на стороне веб-сервиса необходимо учитывать следующее:

  1. Запрос check_deposit для получения идентификатора платежа на стороне веб-сервиса отправляется методом POST на заданный URL веб-сервиса.
  2. Запрос содержит следующие обязательные параметры:
    • 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=="
    }

Формат ответов

При получении запроса от платежной платформы JetPay, ваш сервис должен направить синхронный ответ с одним из указанных ниже кодов ответов.

Табл. 1. Допустимые коды ответов
Код Описание
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.