Мобильная коммерция в Великобритании
Обзор
«Мобильная коммерция в Великобритании» — платёжный метод для проведения платежей с использованием счетов мобильной связи в Великобритании. Для работы с этим методом доступно проведение оплат через Payment Page и Gate.
Характеристика
Тип платёжного метода | мобильная коммерция |
---|---|
Платёжные инструменты | счета мобильной связи |
Регионы использования | GB |
Валюты платежей | GBP |
Конвертация валют | – |
Оплаты | + |
Выплаты | – |
Оплаты по сохранённым данным | – |
Полные возвраты | – |
Частичные возвраты | – |
Опротестования | – |
Особенности |
|
Организация и стоимость подключения | по согласованию с курирующим менеджером ecommpay |
Схема работы
В проведении отдельного платежа с использованием метода «Мобильная коммерция в Великобритании» задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также технические средства провайдера.
Основные операции
Интерфейсы | Суммы, GBP* | Время** | ||||||
---|---|---|---|---|---|---|---|---|
Payment Page | CMS Plug-ins | Gate | Dashboard | минимум | максимум | базовое | предельное | |
Оплаты | + | – | + | – | 0,10 | 40,00 | 1 минута | 24 часа |
* Максимальная сумма платежей в одном календарном месяце с использованием одного номера телефона для оператора Vodafone составляет 100,00 GBP, для других операторов — 240,00 GBP.
** Базовое и предельное время определяются следующим образом:
- Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время определяется для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа.
- Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус
decline
. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ecommpay.
Сценарии использования
Проведение оплат осуществляется со счёта мобильной связи пользователя.
Рис.: Оплата через Payment Page с использованием сохранённого номера телефона
Рис.: Оплата через Payment Page с использованием несохранённого номера телефона
Рис.: Оплата через Gate с использованием сохранённого номера телефона
Рис.: Оплата через Gate с использованием несохранённого номера телефона
Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения платежей, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.
Оплаты через Payment Page
Общая информация
Для оплаты через Payment Page с использованием метода «Мобильная коммерция в Великобритании» со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате оплаты. При этом метод «Мобильная коммерция в Великобритании» можно сделать предварительно выбранным (подробнее — в разделе Предварительный выбор платёжных методов). Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Payment Page
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- Осуществляется генерация Payment Page согласно настройкам проекта и параметрам вызова.
- Пользователю отображается сгенерированная платёжная форма.
- Пользователь выбирает для оплаты метод «Мобильная коммерция в Великобритании».
- Пользователю отображается форма для ввода номера телефона.
- Пользователь вводит номер телефона, с которого он хочет оплатить.
- Запрос на проведение оплаты с использованием метода «Мобильная коммерция в Великобритании» поступает в платёжную платформу.
- Выполняются дальнейшая обработка запроса и его отправка в сервис провайдера.
- На стороне провайдера выполняется обработка запроса на оплату.
- Если пользователь совершает оплату с использованием несохранённого номера телефона, то со стороны провайдера к платёжной платформе направляется информация о необходимости дополнения данных.
- Если пользователь совершает оплату с использованием несохранённого номера телефона, то со стороны провайдера пользователю отправляется СМС-сообщение с кодом подтверждения оплаты. Пользователь может указать на Payment Page что хочет сохранить свой номер телефона в сервисе провайдера на 30 дней. Если пользователь совершает оплату с использованием сохранённого номера телефона, то пользователю не отправляется сообщение с кодом подтверждения.
- Если пользователь совершает оплату с использованием несохранённого номера телефона, то на Payment Page пользователю отображается форма для ввода кода подтверждения и предоставляется возможность сохранить номер. Если пользователь совершает оплату с использованием сохранённого номера телефона, то форма для ввода кода не отображается.
- Если пользователь совершает оплату с использованием несохранённого номера телефона, то пользователь вводит код подтверждения на Payment Page и подтверждает оплату. Если пользователь совершает оплату с использованием сохранённого номера телефона, то пользователю не требуется вводить код. В некоторых случаях со стороны провайдера пользователю может быть направлено ещё одно СМС-сообщение для подтверждения платежа, на которое пользователю необходимо ответить СМС-сообщением.
- На стороне провайдера выполняется обработка платежа.
- От сервиса провайдера к платёжной платформе направляется результат оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется результат проведения оплаты.
- Результат оплаты отображается пользователю на Payment Page.
Информация о формате запросов и параметрах вызова Payment Page при работе с методом «Мобильная коммерция в Великобритании», а также о формате оповещений о результатах оплат приведена далее; общая информация о работе с API — в разделе Описание Payment Page API.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода «Мобильная коммерция в Великобритании» необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- payment_currency — код валюты платежа в формате ISO-4217 alpha-3;
- payment_amount — сумма платежа в дробных единицах.
- Дополнительно должен использоваться параметр customer_id — идентификатор пользователя в рамках проекта.
- Валютой платежа может быть только GBP.
- Для предварительного выбора метода «Мобильная коммерция в Великобритании» необходимо указывать код платёжного метода в параметре force_payment_method —
mobile
. - Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех параметрах приведена в разделе Параметры вызова платёжной формы.
- После определения всех параметров необходимо составить подпись (подробнее).
Таким образом, корректный запрос на открытие платёжной формы с применением метода «Мобильная коммерция в Великобритании» должен содержать идентификаторы проекта, пользователя и платежа, а также код валюты и сумму платежа и подпись:
{ project_id: 12, payment_id: 'X03936', payment_currency: 'GBP', payment_amount: 1000, customer_id: '123', signature: "kUi2x9dKHAVNU0FYldJrxRLCvhtT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg==" }
Формат оповещений
Для оповещений о результатах оплат с применением метода «Мобильная коммерция в Великобритании» используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 1777
для пользователя 32333
была успешно проведена оплата в размере 10,00 GBP
с номера телефона 449898999998
.
Рис.: Пример данных из оповещения о проведении оплаты
{ "project_id": 1777, "payment": { "id": "EP6dcf-4b18", "type": "purchase", "status": "success", "date": "2020-03-10T12:59:56+0000", "method": "mobile", "sum": { "amount": 1000, "currency": "GBP" }, "description": "" }, "account": { "number": "449898999998", "type": "DEFAULT_GB" }, "customer": { "id": "32333" }, "operation": { "id": 24, "type": "sale", "status": "success", "date": "2020-03-10T12:59:56+0000", "created_date": "2020-03-10T12:47:42+0000", "request_id": "6f2068abe4f3f0f68cf2569428a769adeafa1c4d-00000001", "sum_initial": { "amount": 1000, "currency": "GBP" }, "sum_converted": { "amount": 1000, "currency": "GBP" }, "code": "0", "message": "Success", "provider": { "id": 1977, "payment_id": "d8d620e8-c0bd-3fcc-84c1-f2fca0586b83", "auth_code": "" } }, "signature": "tphzK3K+CmbbUIShVI7J59sMz2+z4fhzjO6xbaHI8l7kFw0/2O4iP3t1w==" }
В следующем примере оплата была отклонена.
Рис.: Пример данных из оповещения об отказе в проведении оплаты
{ "project_id": 1777, "payment": { "id": "EP6dcf-4b18", "type": "purchase", "status": "decline", "date": "2020-03-10T12:89:56+0000", "method": "mobile", "sum": { "amount": 1000, "currency": "GBP" }, "description": "" }, "account": { "number": "449898999978", "type": "DEFAULT_GB" }, "customer": { "id": "32334" }, "operation": { "id": 24, "type": "sale", "status": "success", "date": "2020-03-10T12:59:56+0000", "created_date": "2020-03-10T12:48:42+0000", "request_id": "6f2068abe4f3f0f68cf2569428a769adeafa1c4d-00000002", "sum_initial": { "amount": 1000, "currency": "GBP" }, "sum_converted": { "amount": 1000, "currency": "GBP" }, "code": "20000", "message": "General decline", "provider": { "id": 1977, "payment_id": "d8d620e8-c0bd-3fcc-84c1-f2fca0586b83", "auth_code": "" } }, "signature": "tphzK3K+CmbbUIShVI7J59sMz2+z4fhzjO5ubaHI8l7kFw0/2O4iP3t1w==" }
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
Оплаты через Gate
Общая информация
Для оплаты через Gate с использованием метода «Мобильная коммерция в Великобритании» со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
- Если для проведения платежа требуются дополнительные данные (код подтверждения платежа и информация о сохранении номера телефона) — принять оповещение о необходимости дополнения данных и отправить запрос для продолжения платежа. Подробнее о дополнении данных — в разделе Дополнение информации о платеже.
- Принять от платежной платформы оповещение о результате оплаты.
Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Gate
- Пользователь на стороне веб-сервиса инициирует оплату методом «Мобильная коммерция в Великобритании».
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу ecommpay.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее — в разделе Формат ответа.
- В платёжной платформе выполняются обработка запроса и его отправка в сервис провайдера.
- На стороне провайдера выполняется обработка запроса на оплату.
- Если пользователь совершает оплату с использованием несохранённого номера телефона, то со стороны провайдера к платёжной платформе направляется информация о необходимости дополнения данных.
- Если пользователь совершает оплату с использованием несохранённого номера телефона, то от платёжной платформы к веб-сервису направляется оповещение о необходимости дополнения данных.
- Если пользователь совершает оплату с использованием несохранённого номера телефона, то со стороны провайдера пользователю отправляется СМС-сообщение с кодом подтверждения оплаты. Пользователь может указать на стороне веб-сервиса что хочет сохранить свой номер телефона в сервисе провайдера на 30 дней. Если пользователь совершает оплату с использованием сохранённого номера телефона, то пользователю не отправляется сообщение с кодом подтверждения.
- Если пользователь совершает оплату с использованием несохранённого номера телефона, то на стороне веб-сервиса пользователю отображается форма для ввода кода подтверждения и предоставляется возможность сохранить номер. Если пользователь совершает оплату с использованием сохранённого номера телефона, то форма для ввода кода не отображается.
- Если пользователь совершает оплату с использованием несохранённого номера телефона, то пользователь вводит код подтверждения на стороне веб сервиса и подтверждает оплату. Если пользователь совершает оплату с использованием сохранённого номера телефона, то пользователю не требуется вводить код. В некоторых случаях со стороны провайдера пользователю может быть направлено ещё одно СМС-сообщение для подтверждения платежа, на которое пользователю необходимо ответить СМС-сообщением.
- Если пользователь указал на стороне веб-сервиса код подтверждения, то от веб-сервиса к платёжной платформе направляется POST-запрос с кодом подтверждения и информацией о сохранении номера телефона.
- В платёжной платформе выполняются дальнейшая обработка запроса.
- От платёжной платформы к провайдеру направляется запрос на проведение оплаты.
- На стороне провайдера выполняется обработка платежа.
- От сервиса провайдера к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От веб-сервиса пользователю направляется результат оплаты.
Информация о формате запросов и параметрах инициирования оплат методом «Мобильная коммерция в Великобритании» через Gate, а также о формате оповещений о результатах оплат приведена далее; общая информация о работе с API — в разделе Работа с API.
Формат запросов
При работе с запросами на оплаты с применением метода «Мобильная коммерция в Великобритании» необходимо учитывать следующее:
- Должен использоваться запрос к конечной точке /v2/payment/mobile/sale, отправляемый методом POST.
- В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- signature — подпись, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
- payment — сведения о платеже:
- amount — сумма в дробных единицах валюты,
- currency — код валюты платежа в формате ISO-4217 alpha-3;
- customer — сведения о пользователе:
- id — идентификатор на стороне мерчанта,
- ip_address — используемый IP-адрес;
- account — сведения о счёте пользователя:
- number — номер телефона для оплаты указывается с кодом страны, без знаков пунктуации и специальных символов (например,
449898999998
).
- number — номер телефона для оплаты указывается с кодом страны, без знаков пунктуации и специальных символов (например,
- general — объект, содержащий основные идентификационные сведения запроса:
- Валютой платежа может быть только GBP.
- Дополнительно могут использоваться любые другие параметры, указанные в спецификации.
Таким образом, корректный запрос на оплату с применением метода «Мобильная коммерция в Великобритании» должен содержать идентификаторы проекта и платежа, подпись, данные о пользователе, а также код валюты и сумму платежа:
Рис.: Пример тела запроса на оплату
{ "general": { "project_id": 382, "payment_id": "e16d0d998485698c652f96f6b2ff8826", "signature": "3zjYFqRhDsaTLF7FVv4yu+Zie3x/...wG8JuRey87Q4Oyb3FzF+2uWs1Ka" }, "customer": { "id": "123", "ip_address": "216.4.128.12" }, "payment": { "amount": 1000, "currency": "GBP" }, "account": { "number": "449898999998" } }
Форматы оповещений и запросов для дополнения информации о платеже
В случаях, когда от платёжной платформы поступает оповещение о необходимости дополнения информации о платеже, для проведения такого платежа необходимо отправить POST-запрос к конечной точке /v2/payment/clarification с кодом подтверждения платежа, полученным от пользователя, и получить ответ о приёме этого запроса в обработку.
В таком оповещении содержится объект clarification_fields
с массивом confirmation_data
, в состав которого входят следующие параметры:
- code — код подтверждения платежа, который пользователь указывает на стороне веб-сервиса. Время действия такого кода по умолчанию составляет 180 секунд с момента его создания на стороне платёжной платформы. Для изменения этого времени следует обращаться к курирующему менеджеру ecommpay.
- need_save — информация о сохранении номера телефона в сервисе провайдера.
Далее приведён фрагмент оповещения, содержащего названия параметров для дополнения информации о платеже.
{ "clarification_fields": { "confirmation_data": [ "code", "need_save" ] }, }
Запрос для продолжения платежа с учётом дополнения данных отправляется методом POST к конечной точке /v2/payment/clarification и должен содержать следующие объекты и параметры:
general
— объект, содержащий основные идентификационные сведения запроса:project_id
— идентификатор проекта, к которому относится проводимый платёж;payment_id
— идентификатор платежа, к которому относятся отправляемые данные;signature
— подпись, составленная после указания целевых параметров (подробнее — в разделе Работа с подписью к данным).
additional_data
— объект с запрошенными данными:confirmation_data
— объект с кодом подтверждения платежа и информацией о сохранении номера телефона:- code — код подтверждения платежа, который пользователь указывает на стороне веб-сервиса;
- need_save — информация о сохранении номера телефона в сервисе провайдера (если пользователь сохраняет номер телефона, то требуется передавать значение
true
; если нет — значениеfalse
).
Таким образом, корректный запрос должен содержать идентификаторы проекта и платежа, подпись и данные, которые требуются для продолжения платежа:
{ "general": { "project_id": 11, "payment_id": "EPr-bf14", "signature": "v7KNMpfogAthg1ZZ5D/aZAeb0VMdeR+CqghwSm...==" }, "additional_data": { "confirmation_data":{ "code": "12345", "need_save": true }, } }
При отправке запроса с кодом подтверждения проведение платежа может продолжаться следующим образом:
- Если переданный код отправлен своевременно и является корректным, то проведение платежа продолжается на стороне платёжной платформы и сервиса провайдера, после чего к веб-сервису отправляется итоговое оповещение.
- Если переданный код отправлен своевременно, но не является корректным, то со стороны платёжной платформы к веб-сервису повторно отправляется оповещение с массивом
clarification_fields
. В таком случае со стороны веб-сервиса можно прекратить проведение платежа либо предоставить пользователю возможность ввести корректный код и отправить запрос с этим кодом в платёжную платформу (также до истечения установленного времени).Максимальное число попыток предоставления корректного кода в платёжную платформу по умолчанию равно трём и может быть изменено по согласованию с курирующим менеджером ecommpay. Если все попытки исчерпаны и корректный код не предоставлен, то используемый номер телефона пользователя блокируется до конца текущего дня по часовому поясу GMT.
- Если переданный код отправлен после истечения установленного времени, то, в случае повторного получения оповещения с массивом
clarification_fields
рекомендуется отправить запрос на повторную отправку кода подтверждения пользователю, после чего отправить запрос с новым кодом подтверждения в платёжную платформу. В рамках одного платежа такой запрос на повторную отправку кода может быть отправлен не чаще одного раза в две минуты не более пяти раз в целом.
Запрос на повторную отправку кода подтверждения пользователю отправляется к конечной точке /v2/customer/action/resend
, относящейся к группе запросов /v2/customer/action/{action_name} и должен содержать следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, к которому относится проводимый платёж;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- signature — подпись, составленная после указания целевых параметров (подробнее — в разделе Работа с подписью к данным);
- customer — объект, содержащий сведения о пользователе:
- ip_address — используемый IP-адрес.
Таким образом, корректный запрос должен содержать идентификаторы проекта и платежа, подпись и IP-адрес пользователя:
Рис.: Пример запроса на повторное получение кода подтверждения
{ "general": { "project_id": 382, "payment_id": "e16d0d998485698c652f96f6b2ff8826", "signature": "3zjYFqRhDsaTLF7FVv4yu+Ziereqwr4343x/wG...FVg==" }, "customer": { "ip_address": "85.140.0.68" } }
После отправки такого запроса следует предоставить пользователю возможность ввести новый код подтверждения и отправить запрос с этим кодом в платёжную платформу.
Формат оповещений
Для оповещений о результатах оплат с применением метода «Мобильная коммерция в Великобритании» используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 1777
для пользователя 32333
была успешно проведена оплата в размере 10,00 GBP
с номера телефона 449898999998
.
Рис.: Пример данных из оповещения о проведении оплаты
{ "project_id": 1777, "payment": { "id": "EP6dcf-4b18", "type": "purchase", "status": "success", "date": "2020-03-10T12:59:56+0000", "method": "mobile", "sum": { "amount": 1000, "currency": "GBP" }, "description": "" }, "account": { "number": "449898999998", "type": "DEFAULT_GB" }, "customer": { "id": "32333" }, "operation": { "id": 24, "type": "sale", "status": "success", "date": "2020-03-10T12:59:56+0000", "created_date": "2020-03-10T12:47:42+0000", "request_id": "6f2068abe4f3f0f68cf2569428a769adeafa1c4d-00000001", "sum_initial": { "amount": 1000, "currency": "GBP" }, "sum_converted": { "amount": 1000, "currency": "GBP" }, "code": "0", "message": "Success", "provider": { "id": 1977, "payment_id": "d8d620e8-c0bd-3fcc-84c1-f2fca0586b83", "auth_code": "" } }, "signature": "tphzK3K+CmbbUIShVI7J59sMz2+z4fhzjO6xbaHI8l7kFw0/2O4iP3t1w==" }
В следующем примере оплата была отклонена.
Рис.: Пример данных из оповещения об отказе в проведении оплаты
{ "project_id": 1777, "payment": { "id": "EP6dcf-4b18", "type": "purchase", "status": "decline", "date": "2020-03-10T12:89:56+0000", "method": "mobile", "sum": { "amount": 1000, "currency": "GBP" }, "description": "" }, "account": { "number": "449898999978", "type": "DEFAULT_GB" }, "customer": { "id": "32334" }, "operation": { "id": 24, "type": "sale", "status": "success", "date": "2020-03-10T12:59:56+0000", "created_date": "2020-03-10T12:48:42+0000", "request_id": "6f2068abe4f3f0f68cf2569428a769adeafa1c4d-00000002", "sum_initial": { "amount": 1000, "currency": "GBP" }, "sum_converted": { "amount": 1000, "currency": "GBP" }, "code": "20000", "message": "General decline", "provider": { "id": 1977, "payment_id": "d8d620e8-c0bd-3fcc-84c1-f2fca0586b83", "auth_code": "" } }, "signature": "tphzK3K+CmbbUIShVI7J59sMz2+z4fhzjO5ubaHI8l7kFw0/2O4iP3t1w==" }
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
Анализ результатов проведения платежей
Как и при работе с другими платёжными методами, которые предоставляет ecommpay, при использовании метода «Мобильная коммерция в Великобритании» доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.
Всю необходимую информацию можно получать и анализировать средствами Dashboard, в том числе с помощью аналитических панелей на вкладке Analytics.
Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:
- Dashboard позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
- Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.
С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ecommpay.