# Multibanсo {#pm_multibanco} **На уровень выше:**[Банковские платежи](ru_pm_bankpayments.md) ## Обзор {#ru_pm_multibanco_overview} статья о работе с платёжным методом Multibanсo, который позволяет проводить платежи в евро с использованием банковских счетов в Португалии и для которого в платформе Ecommpay поддерживаются оплаты ### Введение {#section_ql3_5fj_stb .section} Multibanсo — метод, позволяющий проводить платежи в евро с использованием банковских счетов в Португалии. Для этого метода в платёжной платформе Ecommpay поддерживаются оплаты. В этой статье представлена информация о работе с методом Multibanсo: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач. ### Характеристика {#section_tbf_2zk_ggb .section} |Тип платёжного метода|банковские платежи| |Платёжные инструменты|банковские счета| |Регионы использования|[PT](references/ru/countries/PT.md)| |Валюты платежей|[EUR](references/ru/currencies/EUR.md)| |Конвертация валют|–| |Разовые оплаты|+| |Повторяемые оплаты|–| |Полные возвраты|–| |Частичные возвраты|–| |Выплаты|–| |Опротестования|–| |Особенности|–| |Организация и стоимость подключения|по согласованию с курирующим менеджером Ecommpay; дополнительную информацию можно получить в [ecommshop](https://ecommpay.com/shop/payment-methods/multibanco/)| ### Схема работы {#section_tsp_gzk_ggb .section} В проведении отдельного платежа с использованием метода Multibanсo задействуются веб-сервис мерчанта, один из интерфейсов, а также технические средства сервиса Multibanсo. ![](images/pm/ru_multibanco_functional.svg) ### Основные операции {#section_rnx_4cl_ggb .section} Для проведения платежей и выполнения операций с использованием метода Multibanсo могут применяться различные интерфейсы платёжной платформы. Так, оплаты могут проводиться через Payment Page, Gate и Dashboard \(с применением платёжных ссылок\). При этом, независимо от используемых интерфейсов, для этого метода характерны следующие свойства и ограничения. ||Суммы, [EUR](references/ru/currencies/EUR.md)|Время¹| |минимум|максимум|базовое|предельное| |--|---------------------------------------------|------| |-------|--------|-------|----------| |Оплаты|–|99 999,99|–|7 дней| **Прим.:** 1. Базовое и предельное время определяются следующим образом: - Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время определяется для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя. Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа \([подробнее](ru_Gate_payment_status_request.md#)\). - Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус `decline`. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки Ecommpay. ### Сценарии использования {#section_fgt_sdl_ggb .section} Проведение оплат с использованием метода Multibanсo осуществляется с отображением платёжной инструкции пользователям. ![](images/pm/ru_multibanco_interfaces_pp.svg "Оплата через Payment Page") ![](images/pm/ru_multibanco_interfaces_gate.svg "Оплата через Gate") ## Оплаты через Payment Page {#ru_pm_multibanco_pp_purchase} ### Общая информация {#section_gtg_vxk_m2b .section} Для проведения оплаты через Payment Pageс использованием метода Multibanсo со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay и принять оповещение о результате.Полная схема проведения оплаты выглядит следующим образом. ![](images/pm/ru_multibanco_uml_pp.svg) 1. Пользователь на стороне веб-сервиса инициирует оплату. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проведение оплаты через Payment Page. 3. Запрос на проведение оплаты поступает в платёжную платформу. 4. В платёжной платформе выполняется приём запроса, с проверкой наличия обязательных параметров и корректной подписи. 5. Осуществляется подготовка Payment Page согласно параметрам проекта и вызова. 6. Пользователю отображается платёжная форма. 7. Пользователь выбирает для оплаты метод Multibanсo. 8. В платёжную платформу передаётся запрос на проведение оплаты с использованием метода Multibanсo. 9. В платёжной платформе выполняются обработка полученного запроса и подготовка данных для отображения платёжной инструкции пользователю. 10. Данные для отображения инструкции пользователю передаются к Payment Page. 11. Пользователю отображается сгенерированная платёжная форма и инструкция для завершения оплаты. 12. Пользователь выбирает банк, самостоятельно переходит на сайт банка или перенаправляется автоматически с Payment Page в сервис Multibanсo и выполняет необходимые действия для оплаты по полученной инструкции. Оплата может быть осуществлена в течение 30 дней. 13. Выполняются дальнейшая обработка запроса и отправка его в Multibanсo. 14. В сервисе Multibanсo выполняется обработка платежа. 15. От сервиса Multibanсo к платёжной платформе направляется информация о результате оплаты. 16. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. 17. От платёжной платформы к Payment Page направляется информация о результате оплаты. 18. Информация о результате оплаты отображается пользователю на Payment Page. Информация о форматах запросов и оповещений, используемых для проведения оплат методом Multibanсo через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье [Организация взаимодействия](ru_pp_interaction_organisation.md#). ### Формат запросов {#section_p5j_fgl_ggb .section} При формировании запросов на открытие платёжной формы с применением метода Multibanсo необходимо учитывать следующее: 1. Должен использоваться базовый минимум параметров, обязательный для любого платежа: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `payment_currency` — код валюты платежа в формате ISO-4217 alpha-3; - `payment_amount` — сумма платежа в дробных единицах валюты; - `customer_id` — идентификатор пользователя в рамках проекта. 2. Валютой платежа может быть только [EUR](references/ru/currencies/EUR.md). 3. Дополнительно рекомендуется указывать имя, фамилию и адрес электронной почты в параметрах `customer_first_name`, `customer_last_name` и `customer_email`. Если какие-либо из этих параметров отсутствуют в запросе, в платёжной форме могут отображаться поля для ввода пользователем недостающих значений \(подробнее — в разделе [Дополнение информации о платежах](ru_pp_clarification.md)\). 4. Для предварительного выбора метода Multibanсo необходимо указывать код этого метода в параметре `force_payment_method` — `multibanco`. 5. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page \([подробнее](ru_PP_Parameters.md)\). 6. После указания всех целевых параметров необходимо составлять подпись \([подробнее](ru_platform_signature.md#)\). Таким образом, корректный запрос на открытие платёжной формы с применением метода Multibanсo должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), информацию о пользователе и подпись. ```language-json { "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==" } ``` ```language-json { "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==" } ``` ### Формат оповещений {#section_dpx_2hl_ggb .section} Для оповещений о результатах оплат с применением метода Multibanсo используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `238` была проведена оплата в размере `10,00 EUR`. ```language-json { { "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==" } } ``` В следующем примере оповещение свидетельствует об отклонённой оплате. ```language-json { { "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==" } } ``` ### Дополнительные материалы {#section_xpz_thl_ggb .section} Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы: - [Организация взаимодействия](ru_pp_interaction_organisation.md#)— о том, как организовать взаимодействие веб-сервиса с платёжной платформой через Payment Page. - [Работа с подписью к данным](ru_platform_signature.md#)— о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой. - [Проведение платежей](ru_platform_payment_model.md)— о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций. - [Проведение оплат](ru_pp_purchase.md)— о том, как проводить разовые оплаты через Payment Page. - [Работа с информацией об операциях](ru_platform_payment_info_codes.md)— о служебных кодах, которые используются в платёжной платформе, чтобы фиксировать информацию о выполнении операций. ## Оплаты через Gate {#ru_pm_multibanco_gate_purchase} ### Общая информация {#section_lsx_3jl_ggb .section} Для проведения оплаты через Gate с использованием метода Multibanсo со стороны веб-сервиса необходимо: 1. Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay. 2. Принять промежуточное оповещение от платёжной платформы и осуществить отображение инструкции пользователю. 3. Принять итоговое оповещение от платёжной платформы. Полная схема проведения оплаты выглядит следующим образом. ![](images/pm/ru_multibanco_uml_gate.svg) 1. Пользователь на стороне веб-сервиса инициирует оплату с использованием метода Multibanсo. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проведение оплаты через Gate. 3. Запрос на проведение оплаты поступает в платёжную платформу Ecommpay. 4. В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи. 5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности \([подробнее](ru_gate_interaction_organisation.md#)\). 6. В платёжной платформе выполняются дальнейшая обработка запроса \(с проверкой согласованности параметров\) и его отправка в сервис Multibanсo. 7. В сервисе Multibanсo выполняется обработка запроса на оплату. 8. От сервиса Multibanсo к платёжной платформе передаются данные для перенаправления пользователя к сервису Multibanсo. 9. От платёжной платформы к веб-сервису направляется оповещение с данными для отображения платёжной инструкции пользователю. 10. Пользователю отображается инструкция для совершения банковского перевода и он самостоятельно переходит на сайт банка. 11. Пользователь выполняет необходимые действия для оплаты по полученной инструкции. Оплата может быть осуществлена в течение 30 дней. 12. В сервисе Multibanсo выполняется обработка платежа. 13. Пользователю отображается информация о результате оплаты. 14. Пользователь перенаправляется к веб-сервису. 15. От сервиса Multibanсo к платёжной платформе направляется информация о результате оплаты. 16. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. 17. На стороне веб-сервиса обеспечивается информирование пользователя о результате оплаты. Информация о форматах запросов и оповещений, используемых для проведения оплат методом Multibanсo через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье [Организация взаимодействия](ru_gate_interaction_organisation.md#). ### Формат запросов {#section_osx_3jl_ggb .section} При работе с запросами на оплаты с применением метода Multibanсo необходимо учитывать следующее: 1. Для инициирования каждой оплаты должен использоваться отдельный POST-запрос к конечной точке `/v2/payment/bank-transfer/multibanco/sale`. Эта точка относится к группе [/v2/payment/bank-transfer/\{payment\_method\}/sale](https://api-developers.ecommpay.com/api-specification/bank-transfer/post-v2-payment-bank-transfer-payment-method-sale). 2. В каждом запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `signature` — подпись запроса, составленная после указания всех целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\); - `payment` — объект, содержащий сведения о платеже: - `amount` — сумма платежа в дробных единицах валюты; - `currency` — код валюты платежав формате ISO-4217 alpha-3; - `customer` — объект, содержащий сведения о пользователе: - `id` — идентификатор пользователя, уникальный в рамках проекта; - `ip_address` — IP-адрес пользователя, актуальный для инициируемого платежа; - `first_name` — имя пользователя; - `last_name` — фамилия пользователя; - `email` — адрес электронной почты пользователя; - `return_url` — объект, содержащий URL для перенаправления пользователя в веб-сервис: - `return` — URL для перенаправления пользователя на любом шаге оплаты. 3. Валютой платежа может быть только [EUR](references/ru/currencies/EUR.md). 4. Дополнительно могут использоваться все параметры, указанные в спецификации. Таким образом, корректный запрос на оплату с применением метода Multibanсo должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), информацию о пользователе, URL для перенаправления, а также подпись. ```language-json { "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" } } ``` ```language-json { "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" } } ``` ### Формат данных для передачи пользователям {#section_x23_cpg_vgb .section} Для отображения пользователю инструкции по оплате необходимо принять оповещение от платёжной платформы, содержащее объект `provider_extra_fields` с необходимыми данными: - `service_suppler_id` — идентификатор банка, выбранного пользователем для оплаты, - `payment_reference` — номер \(идентификатор\) платежа для совершения оплаты. ```language-json { "provider_extra_fields": { "service_suppler_id": "11854", "payment_reference": "646511672", "merchant_site_url": "https://example.com/" } } ``` ### Формат итоговых оповещений {#section_dpx_2hl_ggb .section} Для оповещений о результатах оплат с применением метода Multibanсo используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `238` была проведена оплата в размере `10,00 EUR`. ```language-json { { "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==" } } ``` В следующем примере оповещение свидетельствует об отклонённой оплате. ```language-json { { "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==" } } ``` ### Дополнительные материалы {#section_xsx_3jl_ggb .section} Для организации работы с оплатами через Gate также могут быть полезны следующие материалы: - [Организация взаимодействия](ru_gate_interaction_organisation.md#)— о том, как взаимодействовать с платёжной платформой через Gate. - [Работа с подписью к данным](ru_platform_signature.md#)— о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой. - [Проведение платежей](ru_platform_payment_model.md)— о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций. - [Разовая оплата в одну стадию](ru_platform_sms_model.md)— о том, как проводить разовые оплаты через Gate. - [Работа с информацией об операциях](ru_platform_payment_info_codes.md)— о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций. ## Анализ результатов проведения платежей {#ru_pm_multibanco_dash_analysis} Для анализа информации о платежах и операциях, как в отдельности по методу Multibanсo, так и в совокупности с другими методами, можно использовать: - инструментарийинтерфейса Dashboard, с различными реестрами и аналитическими панелями; - отчёты в формате CSV, выгружаемые\(как разово, так и периодически\) черезраздел **Отчёты** интерфейса Dashboard; - данные в формате JSON, получаемыепо программным запросам черезинтерфейс Data API. С вопросами по анализу информации можно обращаться к разделам документации \([Dashboard](ru_dbl_about.md) и [Использование Data API](ru_dbl_api_protocol.md)\) и специалистам Ecommpay.