Mobile Push
Обзор
Mobile Push — платежный метод, позволяющий пользователям пополнять лицевой счет в сервисе мерчанта с лицевого счета оператора мобильной связи в Казахстане. В платежной платформе пополнение лицевого счета выполняется аналогично оплате (тип операции sale
) и осуществляется через Gate.
Тип платежного метода | Мобильная коммерция |
---|---|
Регионы использования | Казахстан |
Валюты платежей | KZT |
Конвертация валют | |
Оплата | |
Выплата | |
Оплата по сохраненным данным | |
Полный возврат | |
Частичный возврат | |
Опротестование | |
Особенности | |
Организация и стоимость подключения | По согласованию с курирующим менеджером JetPay |
Схема работы
В проведении каждого платежа с использованием Mobile Push задействуются веб-сервис мерчанта, платежная платформа JetPay, а также технические средства провайдера.
Основные операции
Интерфейсы | Время | ||||
---|---|---|---|---|---|
Payment Page | Gate | Dashboard | базовое | предельное | |
Пополнение лицевого счета | 1 минута | 26 часов |
Уточнить минимальную и максимальную сумму платежа, доступную в вашем проекте, вы можете в Dashboard. Для этого в Dashboard перейдите в раздел Проекты и выберите вкладку Платежные методы.
Сценарии использования
Пополнение лицевого счета с использованием метода Mobile Push выполняется по заявке пользователя на сайте или в мобильном приложении оператора мобильной связи.
Рис.: Пополнение лицевого счета
Подробно о том, что необходимо делать со стороны мерчанта для проведения платежей, а также о том, что можно использовать для анализа информации о проведенных платежах и операциях, рассказывается в следующих разделах этой статьи.
Если пользователь при оплате укажет неверную сумму, платеж останется в промежуточном статусе, пока конфликт не будет разрешен вручную техническими специалистами JetPay.
Оператор мобильной связи | Суммы оплат, KZT | ||
---|---|---|---|
минимум | максимум | ||
за транзакцию | в сутки | ||
Activ | 200,00 | 148 850,00 | 290 000,00 |
Altel | 5,00 | 60 000,00 | 290 000,00 |
Kcell | 200,00 | 148 850,00 | 290 000,00 |
Tele2 | 5,00 | 60 000,00 | 290 000,00 |
Пополнение лицевого счета
Общая информация
При пополнении лицевого счета с использованием платежного метода Mobile Push веб-сервис должен выполнить следующее:
- Принять и обработать запрос на проверку существования лицевого счета пользователя.
- Отправить ответ с информацией о существовании лицевого счета пользователя.
- Принять и обработать запрос на получение идентификатора платежа на стороне веб-сервиса.
- Отправить ответ с идентификатором платежа.
- Принять оповещение о результате пополнения лицевого счета.
Полная схема пополнения лицевого счета выглядит следующим образом.
Рис.: Пополнение лицевого счета
- Пользователь на стороне сервиса оператора мобильной связи (на сайте или в мобильном приложении) выбирает веб-сервис, лицевой счет в котором он хочет пополнить, и вводит необходимые данные.
- Сервис оператора мобильной связи отправляет запрос на проверку существования лицевого счета в платежную платформу JetPay.
- Платежная платформа JetPay обрабатывает запрос.
- Платежная платформа передает в веб-сервис запрос на проверку существования лицевого счета пользователя.
- Веб-сервис обрабатывает запрос.
- Веб-сервис передает платежной платформе ответ на запрос.
- Платежная платформа передает сервису оператора мобильной связи данные о лицевом счете пользователя.
- Пользователь выполняет необходимые действия для пополнения лицевого счета на стороне сервиса оператора мобильной связи.
- Сервис оператора мобильной связи отправляет запрос на пополнение лицевого счета в платежную платформу JetPay.
- Платежная платформа JetPay обрабатывает запрос.
- Платежная платформа передает веб-сервису запрос на получение идентификатора платежа на стороне веб-сервиса.
- Веб-сервис обрабатывает запрос.
- Веб-сервис передает платежной платформе идентификатор платежа.
- Платежная платформа направляет веб-сервису оповещение о результате пополнения лицевого счета.
- Платежная платформа направляет сервису оператора мобильной связи уведомление о результате пополнения лицевого счета.
- Пользователь получает информацию о результате пополнения лицевого счета в сервисе оператора мобильной связи.
Информация о формате запросов через Gate, а также о формате оповещений о результатах оплаты приведена далее. Общую информацию о работе с Gate API можно найти в разделе Использование API Gate.
Формат запросов
При работе с запросами на проверку существования лицевого счета пользователя необходимо учитывать следующее:
- Запрос
verify
для проверки существования лицевого счета пользователя отправляется платежной платформой на URL-адрес веб-сервиса методом POST. - Запрос содержит следующие обязательные параметры:
- type — тип операции на стороне веб-сервиса, значение параметра всегда
verify
; - customer_id — идентификатор учетной записи пользователя в сервисе мерчанта, на баланс которой зачисляются денежные средства с лицевого счета пользователя в системе оператора мобильной связи;
- project_id — идентификатор проекта, полученный от JetPay при интеграции;
- signature — подпись запроса.
Рис.: Пример данных из запроса на проверку существования лицевого счета пользователя
{ "type": "verify", "project_id": 1234, "customer_id": "7123456789", "signature": "e19695449545fac562843ca06e7e0f3e51281ad6" }
- type — тип операции на стороне веб-сервиса, значение параметра всегда
- Ответ на запрос
verify
должен отправляться синхронно и содержать следующие обязательные параметры:- code — код ответа на запрос;
- currency — код валюты платежа в формате ISO-4217 alpha-3.
Табл. 2. Допустимые коды ответов Код Описание 0
Операция успешна 400
Ошибка подписи 404
Лицевой счет пользователя не существует 500
Общая ошибка, причина должна быть описана в параметре message Ответ может содержать следующие необязательные параметры:
- additional_customer_id — идентификатор пользователя, уникальный в рамках проекта, который используется для идентификации пользователя в платежной платформе JetPay;
- message — произвольное описание кода ответа.
В случае успеха проверки наличия лицевого счета ответ должен содержать код
0
ответа на запрос и код валюты платежа.Рис.: Пример ответа на запрос
{ "code": 0, "currency": "KZT", "additional_customer_id": "customer_123" }
Если запрос нельзя корректно обработать или не удалось обнаружить запрошенный лицевой счет, ответ на запрос должен содержать код ответа
404
, а также может содержать дополнительную информацию об ошибке в параметреmessage
.Рис.: Пример ответа с кодом ошибки
{ "code": 404, "message": "Account does not exist" }
При работе с запросами на получение идентификатора платежа на стороне веб-сервиса необходимо учитывать следующее:
- Запрос
check_deposit
для получения идентификатора платежа на стороне веб-сервиса отправляется методом POST на заданный URL веб-сервиса. - Запрос содержит следующие обязательные параметры:
- type — тип операции на стороне веб-сервиса, значение параметра всегда
check_deposit
; - project_id — идентификатор проекта, полученный от JetPay при интеграции;
- customer_id — идентификатор учетной записи пользователя в сервисе мерчанта, на баланс которой зачисляются денежные средства с лицевого счета пользователя в системе оператора мобильной связи;
- amount — сумма оплаты в дробных единицах валюты без десятичной точки и пробелов за исключением случаев, когда у валюты нет дробной части. Если у валюты нет дробных единиц (то есть количество разрядов дробных единиц равно нулю), то в этом параметре нужно указывать сумму в основных единицах валюты. Подробнее о разрядах дробных единиц у валют см. Коды валют;
- currency — валюта платежа в формате ISO-4217 alpha-3;
- payment_method — идентификатор платежной группы, значение параметра зависит от сервиса оператора мобильного сайта, возможные значения:
terminal/activ
— для оператора мобильной связи Activ;terminal/altel
— для оператора мобильной связи Altel;terminal/kcell
— для оператора мобильной связи Kcell;terminal/tele2
— для оператора мобильной связи Tele2.
- signature — подпись запроса.
Рис.: Пример запроса идентификатора платежа на стороне веб-сервиса
{ "type": "check_deposit", "project_id": 1234, "customer_id": "7123456789", "amount": 100000, "currency": "KZT", "payment_method": "terminal/tele2", "signature": "lY0LTSAzpR7...dOqRXJnL1kO0lUmkQ0YYLWRg==" }
- type — тип операции на стороне веб-сервиса, значение параметра всегда
- Ответ на запрос
check_deposit
должен отправляться синхронно и содержать следующие обязательные параметры:- code — код ответа на запрос;
- payment_id — уникальный идентификатор платежа на стороне веб-сервиса.
Табл. 3. Допустимые коды ответов Код Описание 0
Операция успешна 400
Ошибка подписи 404
Лицевой счет пользователя не существует 500
Общая ошибка, причина должна быть описана в параметре message Ответ может также содержать следующие необязательные параметры:
- message — произвольное описание кода ответа;
- description — описание платежа.
Ответ на запрос получения идентификатора платежа на стороне веб-сервиса должен содержать код ответа на запрос и уникальный идентификатор платежа на стороне веб-сервиса.
Рис.: Пример ответа с идентификатором платежа
{ "code": 0, "payment_id": "payment_47", "description": "Success" }
Ответ c информацией об ошибке должен содержать код ответа на запрос и сообщение об ошибке.
Рис.: Пример ответа с информацией об ошибке
{ "code": 500, "message": "Something went wrong" }
Формат оповещений
В оповещениях о результате оплаты с использованием метода Mobile Push используется типовой формат, который описан в разделе Оповещения (callbacks) в Gate.
В следующем примере в оповещении содержится информация о том, что в рамках проекта 1234
проведена оплата в размере 1000.00 KZT
.
Рис.: Пример данных из оповещения о проведении оплаты
{ "project_id": 1234, "payment": { "id": "payment_47", "type": "purchase", "status": "success", "date": "2022-03-25T11:08:45+0000", "method": "tele2", "sum": { "amount": 100000, "currency": "KZT" }, "description": "" }, "account": { "number": "7123456789" }, "customer": { "id": "customer_123", "phone": "81231234567" }, "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": 100000, "currency": "KZT" }, "sum_converted": { "amount": 100000, "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.