QIWI Push
Обзор
QIWI Push — платёжный метод для проведения платежей с использованием электронного кошелька QIWI. При работе с этим методом поддерживается пополнение лицевых счетов пользователей в веб-сервисе мерчанта через сервис QIWI Push. При этом в рамках платёжной платформы пополнение лицевого счёта интерпретируется как оплата (тип операции sale
).
Характеристика
Тип платёжного метода | платежи с использованием электронных кошельков |
---|---|
Регионы использования | RU |
Валюты платежей | RUB |
Конвертация валют | – |
Оплаты | + |
Выплаты | – |
Оплаты по сохранённым данным | – |
Полные возвраты | – |
Частичные возвраты | – |
Опротестования | – |
Особенности | – |
Организация и стоимость подключения | по согласованию с курирующим менеджером ECommPay |
Схема работы
В проведении отдельного платежа с использованием QIWI Push задействуются сервис QIWI Push, платёжная платформа ECommPay и веб-сервис мерчанта.
Основные операции
При использовании метода QIWI Push поддерживается пополнение лицевого счёта. Предельное время проведения платежа составляет 1 день (максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки мерчанту оповещения о результате). Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус decline
. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ECommPay.
Сценарии использования
Пополнение лицевого счёта с использованием метода QIWI Push выполняется с заявкой пользователя на пополнение лицевого счёта через сервис QIWI Push.
Рис.: Пополнение лицевого счёта
Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения платежей, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.
Пополнение лицевого счёта
Общая информация
При пополнении лицевого счёта с использованием платёжного метода QIWI Push со стороны веб-сервиса необходимо:
- Обработать запрос на проверку существования лицевого счёта пользователя, отправленный с URL ECommPay.
- Отправить ответ с информацией о существовании лицевого счёта пользователя.
- Обработать запрос на получение идентификатора платежа на стороне веб-сервиса.
- Отправить ответ с идентификатором платежа.
- Принять оповещение о результате пополнения лицевого счёта.
Рис.: Пополнение лицевого счёта
- Пользователь выбирает веб-сервис, лицевой счёт в котором он хочет пополнить, и затем вводит свои учётные данные на стороне сервиса QIWI Push.
- От сервиса QIWI Push на заданный URL ECommPay передаётся запрос на проверку существования лицевого счёта пользователя.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису передаётся запрос на проверку существования лицевого счёта пользователя.
- На стороне веб-сервиса проводится обработка запроса.
- От веб-сервиса к платёжной платформе передаётся ответ на запрос.
- От платёжной платформы к сервису QIWI Push передаются данные о лицевом счёте пользователя.
- Пользователю отображается форма оплаты QIWI Push.
- Пользователь использует электронный кошелёк QIWI Push для пополнения лицевого счёта.
- На стороне сервиса QIWI Push выполняется обработка платежа.
- Пользователь получает информацию о результате пополнения лицевого счёта со стороны QIWI Push.
- От сервиса QIWI Push к платёжной платформе направляется уведомление о результате пополнения лицевого счёта.
- От платёжной платформы к веб-сервису передаётся запрос на получение идентификатора платежа на стороне веб-сервиса.
- На стороне веб-сервиса проводится обработка запроса.
- От веб-сервиса к платёжной платформе передаётся информация об идентификаторе платежа.
- На стороне платёжной платформы регистрируется операция.
- От платёжной платформы к веб-сервису направляется оповещение о результате пополнения лицевого счёта.
Информация о формате запросов и параметрах инициирования пополнения лицевого счёта при работе с методом QIWI Push и о формате оповещений о результатах пополнения лицевого счёта приведена далее.
Формат запросов
При работе с запросами на проверку существования лицевого счёта пользователя необходимо учитывать следующее:
- Запрос
verify
для проверки существования лицевого счёта пользователя отправляется методом POST на заданный URL веб-сервиса. - Запрос содержит следующие обязательные параметры:
- type — тип операции на стороне веб-сервиса, значение параметра всегда
verify
; - customer_id — идентификатор пользователя в системе мерчанта;
- project_id — идентификатор проекта, полученный от ECommPay при интеграции;
- signature — подпись запроса (подробнее — в разделе Работа с подписью к данным).
Рис.: Пример запроса на проверку существования лицевого счёта пользователя
{ "type":"verify", "project_id":111, "customer_id":"customer@example.com", "signature":"lY0LT8AzpR7zGce5qfYGacOuY...lHG7mdOqRXJnL1kO0lUmkQ0YYLWRg==" }
- type — тип операции на стороне веб-сервиса, значение параметра всегда
- Ответ на запрос
verify
должен быть отправлен синхронно и содержать следующие обязательные параметры:- code — код ответа на запрос;
- currency — валюта платежа в формате ISO-4217 alpha-3.
Табл. 1. Допустимые коды ответов Код Описание 0
Операция успешна 400
Ошибка подписи 404
Лицевой счёт пользователя не существует 500
Общая ошибка, причина должна быть описана в необязательном параметре errors.message Рис.: Пример ответа на запрос
{ "code":0, "currency":"RUB" }
При работе с запросами на получение идентификатора платежа необходимо учитывать следующее:
- Запрос
check_deposit
для получения идентификатора платежа на стороне веб-сервиса отправляется методом POST на заданный URL веб-сервиса. - Запрос содержит следующие обязательные параметры:
- type — тип операции на стороне веб-сервиса, значение параметра всегда
check_deposit
; - customer_id — идентификатор пользователя в системе мерчанта;
- project_id — идентификатор проекта, полученный от ECommPay при интеграции;
- amount — сумма платежа в минорных единицах;
- currency — валюта платежа в формате ISO-4217 alpha-3;
- payment_method — название платёжного метода, значение параметра всегда
terminal/qiwi-ru
; - signature — подпись запроса (подробнее — в разделе Работа с подписью к данным).
Рис.: Пример запроса на получение идентификатора платежа на стороне веб-сервиса
{ "type":"check_deposit", "project_id":111, "customer_id":"customer8@example.com", "amount":10000, "currency":"RUB", "payment_method":"terminal/qiwi-ru", "signature":"lY0LTSAzpR7zGce5qfYG...R7mdOqRXJnL1kO0lUmkQ0YYLWRg==" }
- type — тип операции на стороне веб-сервиса, значение параметра всегда
- Ответ на запрос
check_deposit
должен быть отправлен синхронно и содержать следующие обязательные параметры:- code — код ответа на запрос;
- payment_id — уникальный идентификатор платежа на стороне веб-сервиса.
Табл. 2. Допустимые коды ответов Код Описание 0
Операция успешна 400
Ошибка подписи 404
Лицевой счёт пользователя не существует 500
Общая ошибка, причина должна быть описана в необязательном параметре errors.message Рис.: Пример ответа на запрос
{ "code":0, "payment_id":"445", "description":"test payment" }
Формат оповещений
Для оповещений о результатах пополнения лицевого счёта с применением метода QIWI Push используется стандартный формат, описание которого представлено в разделе Оповещения.
В данном случае оповещение свидетельствует о том, что в рамках проекта 238
проведено успешное пополнение лицевого счёта в размере 20,00 RUB
.
Рис.: Пример оповещения о пополнении лицевого счёта
{ "project_id": 238, "payment": { "id": "21538362", "type": "purchase", "status": "success", "date": "2020-04-24T11:53:19+0000", "method": "qiwi-ru", "sum": { "amount": 2000, "currency": "RUB" }, "is_new_attempts_available": false, "attempts_timeout": 0, "description": "" }, "account": { "number": "123456" }, "customer_data": { "ip_address": "1.2.3.4" }, "fee": { "amount": 1, "currency": "RUB" }, "merchant_account_id": 6389, "operation": { "id": 1000000001, "type": "sale", "status": "success", "date": "2020-04-24T11:53:19+0000", "created_date": "2020-04-24T11:53:12+0000", "request_id": "a5821969a8538aaef75...c1ff3d0d8e9805b-00000002", "sum_initial": { "amount": 2000, "currency": "RUB" }, "sum_converted": { "amount": 2000, "currency": "RUB" }, "code": "0", "message": "Success", "provider": { "id": 6389, "payment_id": "471623", "auth_code": "" } }, "signature": "mcDPZRhkuYCm+8iiWdOO...6uk8xn0nT6GaEnLiMy1L77tA==" }
Анализ результатов проведения платежей
Как и при работе с другими платёжными методами, которые предоставляет ECommPay, при использовании метода QIWI Push доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.
Всю необходимую информацию можно получать и анализировать средствами Dashboard (Old Dashboard), в том числе с помощью аналитических панелей на вкладке Analytics.
Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:
- Dashboard (Old Dashboard) позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
- Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.
С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ECommPay.