Multibanсo
Обзор
Введение
Multibanсo — метод, позволяющий проводить платежи в евро с использованием банковских счетов в Португалии. Для этого метода в платёжной платформе ecommpay поддерживаются оплаты.
В этой статье представлена информация о работе с методом Multibanсo: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач.
Характеристика
| Тип платёжного метода | банковские платежи |
|---|---|
| Платёжные инструменты | банковские счета |
| Регионы использования | PT |
| Валюты платежей | EUR |
| Конвертация валют | – |
| Разовые оплаты | + |
| Повторяемые оплаты | – |
| Полные возвраты | – |
| Частичные возвраты | – |
| Выплаты | – |
| Опротестования | – |
| Особенности | – |
| Организация и стоимость подключения | по согласованию с курирующим менеджером ecommpay; дополнительную информацию можно получить в ecommshop |
Схема работы
В проведении отдельного платежа с использованием метода Multibanсo задействуются веб-сервис мерчанта, один из интерфейсов, а также технические средства сервиса Multibanсo.
Основные операции
Для проведения платежей и выполнения операций с использованием метода Multibanсo могут применяться различные интерфейсы платёжной платформы. Так, оплаты могут проводиться через Payment Page, Gate и Dashboard (с применением платёжных ссылок). При этом, независимо от используемых интерфейсов, для этого метода характерны следующие свойства и ограничения.
При работе с методом Multibanсo, независимо от используемых интерфейсов, актуальны следующие свойства и ограничения.
| Суммы, EUR | Время ¹ | |||
|---|---|---|---|---|
| минимум | максимум | базовое | предельное | |
| Оплаты | – | 99 999,99 | – | 7 дней |
- Базовое и предельное время определяются следующим образом:
- Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время определяется для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа (подробнее).
- Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус
decline. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ecommpay.
Сценарии использования
Проведение оплат с использованием метода Multibanсo осуществляется с отображением платёжной инструкции пользователям.
Оплаты через Payment Page
Общая информация
Для проведения оплаты через Payment Page с использованием метода Multibanсo со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате. Полная схема проведения оплаты выглядит следующим образом.
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- В платёжной платформе выполняется приём запроса, с проверкой наличия обязательных параметров и корректной подписи.
- Осуществляется подготовка Payment Page согласно параметрам проекта и вызова.
- Пользователю отображается платёжная форма.
- Пользователь выбирает для оплаты метод Multibanсo.
- В платёжную платформу передаётся запрос на проведение оплаты с использованием метода Multibanсo.
- В платёжной платформе выполняются обработка полученного запроса и подготовка данных для отображения платёжной инструкции пользователю.
- Данные для отображения инструкции пользователю передаются к Payment Page.
- Пользователю отображается сгенерированная платёжная форма и инструкция для завершения оплаты.
- Пользователь выбирает банк, самостоятельно переходит на сайт банка или перенаправляется автоматически с Payment Page в сервис Multibanсo и выполняет необходимые действия для оплаты по полученной инструкции. Оплата может быть осуществлена в течение 30 дней.
- Выполняются дальнейшая обработка запроса и отправка его в Multibanсo.
- В сервисе Multibanсo выполняется обработка платежа.
- От сервиса Multibanсo к платёжной платформе направляется информация о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется информация о результате оплаты.
- Информация о результате оплаты отображается пользователю на Payment Page.
Информация о форматах запросов и оповещений, используемых для проведения оплат методом Multibanсo через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье Организация взаимодействия.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода Multibanсo необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров, обязательный для любого платежа:
project_id— идентификатор проекта, полученный от ecommpay при интеграции;payment_id— идентификатор платежа, уникальный в рамках проекта;payment_currency— код валюты платежа в формате ISO-4217 alpha-3;payment_amount— сумма платежа в дробных единицах валюты;customer_id— идентификатор пользователя в рамках проекта.
- Должен использоваться базовый минимум параметров:
project_id,payment_id,payment_currency,payment_amount,customer_id. - Валютой платежа может быть только EUR.
- Дополнительно рекомендуется указывать имя, фамилию и адрес электронной почты в параметрах
customer_first_name,customer_last_nameиcustomer_email. Если какие-либо из этих параметров отсутствуют в запросе, в платёжной форме могут отображаться поля для ввода пользователем недостающих значений (подробнее — в разделе Дополнение информации о платежах). - Для предварительного выбора метода Multibanсo необходимо указывать код этого метода в параметре
force_payment_method—multibanco. - Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page (подробнее).
- После указания всех целевых параметров необходимо составлять подпись (подробнее).
Таким образом, корректный запрос на открытие платёжной формы с применением метода Multibanсo должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), информацию о пользователе и подпись.
{
"project_id": 120,
"payment_id": "580",
"payment_amount": 1000,
"payment_currency": "EUR",
"customer_id": "customer1",
"customer_first_name": "John",
"customer_last_name": "Johnson",
"customer_email": "customer@example.com",
"signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}
{
"project_id": 120,
"payment_id": "580",
"payment_amount": 1000,
"payment_currency": "EUR",
"customer_id": "customer1",
"customer_first_name": "John",
"customer_last_name": "Johnson",
"customer_email": "customer@example.com",
"signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}
Формат оповещений
Для оповещений о результатах оплат с применением метода Multibanсo используется типовой формат, описание которого представлено в разделе Работа с оповещениями.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 238 была проведена оплата в размере 10,00 EUR.
{
{
"project_id": 238,
"payment": {
"id": "TEST_1560760354708",
"type": "purchase",
"status": "success",
"date": "2019-06-17T08:56:47+0000",
"method": "multibanco",
"sum": {
"amount": 1000,
"currency": "EUR"
},
"description": ""
},
"operation": {
"id": 29891000002914,
"type": "sale",
"status": "success",
"date": "2019-06-17T08:56:47+0000",
"created_date": "2019-06-17T08:50:34+0000",
"request_id": "0d6aabd20c7925f1719b7cb63f728b32a3450cf0",
"sum_initial": {
"amount": 1000,
"currency": "EUR"
},
"sum_converted": {
"amount": 1000,
"currency": "EUR"
},
"provider": {
"id": 1208,
"payment_id": "148907",
"date": "2019-06-17T08:56:46+0000",
"auth_code": ""
},
"code": "0",
"message": "Success"
},
"signature": "V0zYWk7OzwfcMJeQIHwj75hpkuXFNqHjYGMdfhycMw=="
}
}
В следующем примере оповещение свидетельствует об отклонённой оплате.
{
{
"project_id": 238,
"payment": {
"id": "TEST_15593086938557",
"type": "purchase",
"status": "decline",
"date": "2019-05-31T13:36:03+0000",
"method": "multibanco",
"sum": {
"amount": 100,
"currency": "EUR"
},
"description": "TEST_15593086938557"
},
"customer": {
"id": "1"
},
"operation": {
"id": 24680000002456,
"type": "sale",
"status": "decline",
"date": "2019-05-31T13:36:03+0000",
"created_date": "2019-05-31T13:20:11+0000",
"request_id": "c4a6cb475cf610bac95feba1",
"sum_initial": {
"amount": 100,
"currency": "EUR"
},
"sum_converted": {
"amount": 100,
"currency": "EUR"
},
"provider": {
"id": 1208,
"payment_id": ""
},
"code": "603",
"message": "Auto decline"
},
"signature": "KDgghuSnXgvc9V9smeF+resLz/88b/uRrI04ggf2ALg=="
}
}
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
- Организация взаимодействия — о том, как организовать взаимодействие веб-сервиса с платёжной платформой через Payment Page.
- Работа с подписью к данным — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Проведение платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Проведение оплат — о том, как проводить разовые оплаты через Payment Page.
- Работа с информацией об операциях — о служебных кодах, которые используются в платёжной платформе, чтобы фиксировать информацию о выполнении операций.
Оплаты через Gate
Общая информация
Для проведения оплаты через Gate с использованием метода Multibanсo со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
- Принять промежуточное оповещение от платёжной платформы и осуществить отображение инструкции пользователю.
- Принять итоговое оповещение от платёжной платформы.
Полная схема проведения оплаты выглядит следующим образом.
- Пользователь на стороне веб-сервиса инициирует оплату с использованием метода Multibanсo.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу ecommpay.
- В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности (подробнее).
- В платёжной платформе выполняются дальнейшая обработка запроса (с проверкой согласованности параметров) и его отправка в сервис Multibanсo.
- В сервисе Multibanсo выполняется обработка запроса на оплату.
- От сервиса Multibanсo к платёжной платформе передаются данные для перенаправления пользователя к сервису Multibanсo.
- От платёжной платформы к веб-сервису направляется оповещение с данными для отображения платёжной инструкции пользователю.
- Пользователю отображается инструкция для совершения банковского перевода и он самостоятельно переходит на сайт банка.
- Пользователь выполняет необходимые действия для оплаты по полученной инструкции. Оплата может быть осуществлена в течение 30 дней.
- В сервисе Multibanсo выполняется обработка платежа.
- Пользователю отображается информация о результате оплаты.
- Пользователь перенаправляется к веб-сервису.
- От сервиса Multibanсo к платёжной платформе направляется информация о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- На стороне веб-сервиса обеспечивается информирование пользователя о результате оплаты.
Информация о форматах запросов и оповещений, используемых для проведения оплат методом Multibanсo через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье Организация взаимодействия.
Формат запросов
При работе с запросами на оплаты с применением метода Multibanсo необходимо учитывать следующее:
- Для инициирования каждой оплаты должен использоваться отдельный POST-запрос к конечной точке
/v2/payment/bank-transfer/multibanco/sale. Эта точка относится к группе /v2/payment/bank-transfer/{payment_method}/sale. - В каждом запросе должны использоваться следующие объекты и параметры:
general— объект, содержащий основные идентификационные сведения запроса:project_id— идентификатор проекта, полученный от ecommpay при интеграции;,payment_id— идентификатор платежа, уникальный в рамках проекта;,signature— подпись запроса, составленная после указания всех целевых параметров (подробнее — в разделе Работа с подписью к данным); (подробнее),
payment— объект, содержащий сведения о платеже:amount— сумма платежа в дробных единицах валюты;,currency— код валюты платежа в формате ISO-4217 alpha-3;,
customer— объект, содержащий сведения о пользователе:id— идентификатор пользователя, уникальный в рамках проекта;,ip_address— IP-адрес пользователя, актуальный для инициируемого платежа;,first_name— имя пользователя;,last_name— фамилия пользователя;,email— адрес электронной почты пользователя;,
return_url— объект, содержащий URL для перенаправления пользователя в веб-сервис:return— URL для перенаправления пользователя на любом шаге оплаты.
- Валютой платежа может быть только EUR.
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на оплату с применением метода Multibanсo должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), информацию о пользователе, URL для перенаправления, а также подпись.
{
"general": {
"project_id": 2990,
"payment_id": "payment_id",
"signature": "PJkV8ej\/UGSaRfBaNIipTv+AWoXW\/9MTO8yJA=="
},
"customer": {
"ip_address": "192.0.2.0",
"email": "Johnson@example.com",
"first_name": "John",
"last_name": "Johnson",
"id": "customer123"
},
"payment": {
"amount": 1000,
"currency": "EUR"
},
"return_url": {
"return": "http://example.com"
}
}
{
"general": {
"project_id": 2990,
"payment_id": "payment_id",
"signature": "PJkV8ej\/UGSaRfBaNIipTv+AWoXW\/9MTO8yJA=="
},
"customer": {
"ip_address": "192.0.2.0",
"email": "Johnson@example.com",
"first_name": "John",
"last_name": "Johnson",
"id": "customer123"
},
"payment": {
"amount": 1000,
"currency": "EUR"
},
"return_url": {
"return": "http://example.com"
}
}
Формат данных для передачи пользователям
provider_extra_fields с необходимыми данными:service_suppler_id— идентификатор банка, выбранного пользователем для оплаты,payment_reference— номер (идентификатор) платежа для совершения оплаты.
{
"provider_extra_fields": {
"service_suppler_id": "11854",
"payment_reference": "646511672",
"merchant_site_url": "https://example.com/"
}
}
Формат итоговых оповещений
Для оповещений о результатах оплат с применением метода Multibanсo используется типовой формат, описание которого представлено в разделе Работа с оповещениями.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 238 была проведена оплата в размере 10,00 EUR.
{
{
"project_id": 238,
"payment": {
"id": "TEST_1560760354708",
"type": "purchase",
"status": "success",
"date": "2019-06-17T08:56:47+0000",
"method": "multibanco",
"sum": {
"amount": 1000,
"currency": "EUR"
},
"description": ""
},
"operation": {
"id": 29891000002914,
"type": "sale",
"status": "success",
"date": "2019-06-17T08:56:47+0000",
"created_date": "2019-06-17T08:50:34+0000",
"request_id": "0d6aabd20c7925f1719b7cb63f728b32a3450cf0",
"sum_initial": {
"amount": 1000,
"currency": "EUR"
},
"sum_converted": {
"amount": 1000,
"currency": "EUR"
},
"provider": {
"id": 1208,
"payment_id": "148907",
"date": "2019-06-17T08:56:46+0000",
"auth_code": ""
},
"code": "0",
"message": "Success"
},
"signature": "V0zYWk7OzwfcMJeQIHwj75hpkuXFNqHjYGMdfhycMw=="
}
}
В следующем примере оповещение свидетельствует об отклонённой оплате.
{
{
"project_id": 238,
"payment": {
"id": "TEST_15593086938557",
"type": "purchase",
"status": "decline",
"date": "2019-05-31T13:36:03+0000",
"method": "multibanco",
"sum": {
"amount": 100,
"currency": "EUR"
},
"description": "TEST_15593086938557"
},
"customer": {
"id": "1"
},
"operation": {
"id": 24680000002456,
"type": "sale",
"status": "decline",
"date": "2019-05-31T13:36:03+0000",
"created_date": "2019-05-31T13:20:11+0000",
"request_id": "c4a6cb475cf610bac95feba1",
"sum_initial": {
"amount": 100,
"currency": "EUR"
},
"sum_converted": {
"amount": 100,
"currency": "EUR"
},
"provider": {
"id": 1208,
"payment_id": ""
},
"code": "603",
"message": "Auto decline"
},
"signature": "KDgghuSnXgvc9V9smeF+resLz/88b/uRrI04ggf2ALg=="
}
}
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
- Организация взаимодействия — о том, как взаимодействовать с платёжной платформой через Gate.
- Работа с подписью к данным — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Проведение платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Разовая оплата в одну стадию — о том, как проводить разовые оплаты через Gate.
- Работа с информацией об операциях — о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций.
Анализ результатов проведения платежей
Для анализа информации о платежах и операциях, как в отдельности по методу Multibanсo, так и в совокупности с другими методами, можно использовать:
- инструментарий интерфейса Dashboard, с различными реестрами и аналитическими панелями;,
- отчёты в формате CSV, выгружаемые (как разово, так и периодически) через раздел Отчёты интерфейса Dashboard;,
- данные в формате JSON, получаемые по программным запросам через интерфейс Data API.
С вопросами по анализу информации можно обращаться к разделам документации (Dashboard и Использование Data API) и специалистам ecommpay.