# Boost Wallet {#pm_boost} статья о работе с платёжным методом Boost Wallet, который позволяет проводить платежи в малайзийских ринггитах с использованием электронного кошелька в Малайзии и для которого в платформе Ecommpay поддерживаются оплаты **На уровень выше:**[Платежи с использованием электронных кошельков](ru_pm_ewallet.md) ## Обзор {#ru_pm_boost_overview} статья о работе с платёжным методом Boost Wallet, который позволяет проводить платежи в малайзийских ринггитах с использованием электронного кошелька в Малайзии и для которого в платформе Ecommpay поддерживаются оплаты ### Введение {#section_ql3_5fj_stb .section} Boost Wallet — метод, позволяющий проводить платежи в малайзийских ринггитах с использованием электронного кошелька в Малайзии. Для этого метода в платёжной платформе Ecommpay поддерживаются оплаты. В этой статье представлена информация о работе с методом Boost Wallet: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач. ### Характеристика {#section_tbf_2zk_ggb .section} |Тип платёжного метода|платежи с использованием электронных кошельков| |Платёжные инструменты|электронные кошельки| |Регионы использования|[MY](references/ru/countries/MY.md)| |Валюты платежей|[MYR](references/ru/currencies/MYR.md)| |Конвертация валют|–| |Разовые оплаты|+| |Повторяемые оплаты|–| |Полные возвраты|–| |Частичные возвраты|–| |Выплаты|–| |Опротестования|–| |Особенности|–| |Организация и стоимость подключения|по согласованию с курирующим менеджером Ecommpay| ### Схема работы {#section_tsp_gzk_ggb .section} В проведении отдельного платежа с использованием метода Boost Wallet задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа Ecommpay, а также технические средства сервиса Boost Wallet. ![](images/pm/ru_boost_functional.svg) ### Основные операции {#section_rnx_4cl_ggb .section} Для проведения платежей и выполнения операций с использованием метода Boost Wallet могут применяться различные интерфейсы платёжной платформы. Так, оплаты могут проводиться через Payment Page, Gate и Dashboard \(с применением платёжных ссылок\). ### Сценарии использования {#section_fgt_sdl_ggb .section} Проведение оплат с использованием метода Boost Wallet осуществляется с отображением пользователю на Payment Page или в веб-сервисе мерчанта QR-кода и оплату через электронный кошелек с использованием полученного кода. Пользовательский сценарий оплаты через Payment Page выглядит следующим образом. ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_boost_1.svg "Переход к оплате") ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_boost_2.svg "Выбор метода") ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_boost_3.svg "Аутентификация") ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_boost_4.svg "Подтверждение платежа") ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_boost_5.svg "Возвращение к форме") ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_boost_6.svg "Возвращение к веб-сервису") Общие сценарии проведения оплат и выплат можно представить следующим образом. ![](images/pm/ru_boost_interfaces_pp.svg "Оплата через Payment Page") ![](images/pm/ru_boost_interfaces_gate.svg "Оплата через Gate") ## Оплаты через Payment Page {#ru_pm_boost_pp_purchase} ### Общая информация {#section_gtg_vxk_m2b .section} Для проведения оплаты через Payment Pageс использованием метода Boost Wallet со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay и принять оповещение о результате.Полная схема проведения оплаты выглядит следующим образом. ![](images/pm/ru_boost_uml_pp.svg) 1. Пользователь на стороне веб-сервиса инициирует оплату. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проведение оплаты через Payment Page. 3. Запрос на проведение оплаты поступает в платёжную платформу. 4. В платёжной платформе выполняется приём запроса, с проверкой наличия обязательных параметров и корректной подписи. 5. Осуществляется подготовка Payment Page согласно параметрам проекта и вызова. 6. Пользователю отображается платёжная форма. 7. Пользователь выбирает для оплаты метод Boost Wallet. 8. Пользователю отображается платёжная форма, соответствующая запросу. 9. Пользователь вводит данные для оплаты. 10. В платёжную платформу передаётся запрос на проведение оплаты с использованием метода Boost Wallet. 11. В платёжной платформе выполняются обработка полученного запроса и его отправка в сервис Boost Wallet. 12. На стороне Boost Wallet выполняется обработка запроса и генерируется QR-код для оплаты. 13. От Boost Wallet в платёжную платформу направляется сгенерированные QR-код оплаты. 14. От платёжной платформы к Payment Page перенаправляются QR-код для оплаты, а также инструкция с руководством по оплате. 15. Пользователю на Payment Page отображаются QR-код и инструкция. 16. Пользователь завершает оплату по QR-коду, сканируя его с помощью мобильного приложения Boost Wallet или другим удобным способом. 17. В сервисе Boost Wallet происходит обработка платежа. 18. Пользователю отображается результат оплаты в приложении Boost Wallet. 19. От сервиса Boost Wallet к платёжной платформе направляется информация о результате оплаты. 20. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. Информация о форматах запросов и оповещений, используемых для проведения оплат методом Boost Wallet через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье [Организация взаимодействия](ru_pp_interaction_organisation.md#). ### Формат запросов {#section_p5j_fgl_ggb .section} При формировании запросов на открытие платёжной формы с применением метода Boost Wallet необходимо учитывать следующее: 1. Должен использоваться базовый минимум параметров, обязательный для любого платежа: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `payment_currency` — код валюты платежа в формате ISO-4217 alpha-3; - `payment_amount` — сумма платежа в дробных единицах валюты; - `customer_id` — идентификатор пользователя в рамках проекта. 2. Валютой платежа может быть только MYR. 3. Дополнительно должны использоваться параметры `customer_first_name`, `customer_last_name`, `customer_email`, `customer_phone` — имя и фамилия, адрес электронной почты и номер телефона пользователя. 4. Для предварительного выбора метода Boost Wallet необходимо указывать код этого метода в параметре `force_payment_method` — `boost`. 5. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page \([подробнее](ru_PP_Parameters.md)\). 6. После указания всех целевых параметров необходимо составлять подпись \([подробнее](ru_platform_signature.md#)\). Таким образом, корректный запрос на открытие платёжной формы с применением метода Boost Wallet должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), информацию о пользователе и подпись. ```language-json { "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "MYR", "customer_id": "customer1", "customer_first_name": "Putra", "customer_last_name": "Cane", "customer_phone": "60321669552", "customer_email": "customer@example.com", "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" } ``` ```language-json { "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "MYR", "customer_id": "customer1", "customer_first_name": "Putra", "customer_last_name": "Cane", "customer_phone": "60321669552", "customer_email": "customer@example.com", "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" } ``` ### Формат оповещений {#section_dpx_2hl_ggb .section} Для оповещений о результатах оплат с применением метода Boost Wallet используется типовой формат, описание которого представлено в статье [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `635` была проведена оплата в размере `1000,00 MYR`. ```language-json { "project_id": 635, "payment": { "id": "EP9a11-3704", "type": "purchase", "status": "success", "date": "2019-03-22T06:20:51+0000", "method": "boostViaEGHL", "sum": { "amount": 10000, "currency": "MYR" }, "description": "123" }, "account": { "number": "qwe@qwe.qwqw" }, "customer": { "id": "sasha", "phone": "555" }, "operation": { "id": 126, "type": "sale", "status": "success", "date": "2019-03-22T06:20:51+0000", "created_date": "2019-03-22T06:20:35+0000", "request_id": "f587b6309ccb", "sum_initial": { "amount": 10000, "currency": "MYR" }, "sum_converted": { "amount": 10000, "currency": "MYR" }, "provider": { "id": 1352, "payment_id": "123123", "date": "2019-03-22T06:20:49+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "AoBE429Tp7suALwVK81YfHPVW75FFHYyezXIZ1ZopQZDRjGEBx9kXpi5Q==" } ``` В следующем примере оповещение свидетельствует об отклонённой оплате. ```language-json { "project_id": 635, "payment": { "id": "EP0ec0-9074", "type": "purchase", "status": "decline", "date": "2019-03-22T06:23:56+0000", "method": "boostViaEGHL", "sum": { "amount": 10, "currency": "MYR" }, "description": "123" }, "account": { "number": "qwe@qwe.qwqw" }, "customer": { "id": "sasha", "phone": "555" }, "operation": { "id": 1000000126, "type": "sale", "status": "decline", "date": "2019-03-22T06:23:56+0000", "created_date": "2019-03-22T06:23:32+0000", "request_id": "73201c0a413f", "sum_initial": { "amount": 10, "currency": "MYR" }, "sum_converted": { "amount": 10, "currency": "MYR" }, "provider": { "id": 1352, "payment_id": "123123", "date": "2019-03-22T06:23:54+0000", "auth_code": "" }, "code": "20000", "message": "General decline" }, "signature": "LDuxQYuGsgNXeV6aCKbsfNec7J8pRoliCf2n0/RkmXfRL1ElQ8vTw3v0f4SFg==" } ``` ### Дополнительные материалы {#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_boost_gate_purchase} ### Общая информация {#section_lsx_3jl_ggb .section} Для проведения оплаты через Gate с использованием метода Boost Wallet со стороны веб-сервиса необходимо: 1. Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay. 2. Принять промежуточное оповещение от платёжной платформы и осуществить перенаправление пользователя к сервису Boost Wallet. 3. Принять итоговое оповещение от платёжной платформы. Полная схема проведения оплаты выглядит следующим образом. ![](images/pm/ru_boost_uml_gate.svg) 1. Пользователь на стороне веб-сервиса инициирует оплату с использованием метода Boost Wallet. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проведение оплаты через Gate. 3. Запрос на проведение оплаты поступает в платёжную платформу Ecommpay. 4. В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи. 5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности \([подробнее](ru_gate_interaction_organisation.md#)\). 6. В платёжной платформе выполняются дальнейшая обработка запроса \(с проверкой согласованности параметров\) и его отправка в сервис Boost Wallet. 7. В сервисе Boost Wallet выполняется обработка запроса на оплату. 8. От сервиса Boost Wallet к платёжной платформе передаются данные для перенаправления пользователя в сервис Boost Wallet, а также сгенерированный QR-код для оплаты. 9. От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя в сервис Boost Wallet и QR-код в объекте redirect\_data. 10. Пользователю на веб-сервисе отображается сгенерированные QR-код и инструкция к оплате. 11. Пользователь перенаправляется в сервис Boost Wallet, при необходимости осуществляя вход, и завершает оплату по QR-коду. 12. В сервисе Boost Wallet выполняется обработка платежа. 13. Пользователю отображается информация о результате оплаты. 14. От сервиса Boost Wallet к платёжной платформе направляется информация о результате оплаты. 15. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. Информация о форматах запросов и оповещений, используемых для проведения оплат методом Boost Wallet через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье [Организация взаимодействия](ru_gate_interaction_organisation.md#). ### Формат запросов {#section_osx_3jl_ggb .section} При работе с запросами на оплаты с применением метода Boost Wallet необходимо учитывать следующее: 1. Для инициирования каждой оплаты должен использоваться отдельный POST-запрос к конечной точке `/v2/payment/wallet/boost/sale`. Эта точка относится к группе [/v2/payment/wallet/\{payment\_method\}/sale](https://api-developers.ecommpay.com/api-specification/wallet/post-v2-payment-wallet-payment-method-sale). 2. В каждом запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `signature` — подпись запроса, составленная после указания всех целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\); - `payment` — объект, содержащий сведения о платеже: - `amount` — сумма платежа в дробных единицах валюты; - `currency` — код валюты платежав формате ISO-4217 alpha-3; - `description` — описание или комментарий к платежу. - `customer` — сведения о пользователе: - `id` — идентификатор пользователя, уникальный в рамках проекта; - `ip_address` — IP-адрес пользователя, актуальный для инициируемого платежа; - `first_name` — имя пользователя; - `last_name` — фамилия пользователя; - `email` — адрес электронной почты пользователя; - `phone` — номер телефона пользователя. 3. Валютой платежа может быть только MYR. 4. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации. Таким образом, корректный запрос на оплату с применением метода Boost Wallet должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), информацию о пользователе, а также подпись. ```language-json { "general": { "project_id": 318, "payment_id": "EP5fb7-bdg6", "signature": "testiuhgfcvbnm8f/kjhg\lkjhgvxbnmcvgfjdssAPOPKSJiojhbnm", }, "payment": { "amount": 50000, "currency": "MYR", "description": "payment" }, "customer": { "id":"2990", "first_name":"Petra", "last_name":"Davis", "ip_address":"192.0.2.0", "phone":"123456", "email":"customer@example.com", } } ``` ```language-json { "general": { "project_id": 318, "payment_id": "EP5fb7-bdg6", "signature": "testiuhgfcvbnm8f/kjhg\lkjhgvxbnmcvgfjdssAPOPKSJiojhbnm", }, "payment": { "amount": 50000, "currency": "MYR", "description": "payment" }, "customer": { "id":"2990", "first_name":"Petra", "last_name":"Davis", "ip_address":"192.0.2.0", "phone":"123456", "email":"customer@example.com", } } ``` ### Формат промежуточных оповещений для перенаправления пользователей {#section_lm4_pmb_nzb .section} Для перенаправления пользователей от веб-сервиса мерчанта к сервису Boost Wallet при проведении каждого платежа с использованием метода Boost Wallet необходимо принять промежуточное оповещение от платёжной платформы и использовать информацию из него, включённую в объект `redirect_data`. Формат таких оповещений является типовым \([подробнее](ru_platform_callbacks.md#)\), при этом в состав объекта `redirect_data` включаются следующие объекты и параметры: - `body` — объект с данными для отправки в теле запроса; - `method` — параметр с указанием HTTP-метода отправки запроса\(`GET` или `POST`\); - `url` — параметр со ссылкой для перенаправления. ```language-json "redirect_data": { "body": [], "method": "GET", "url": "https://onlinepayment.boost-my.com/index.php?token=c639de48340c4a532ba6a03d5" } ``` ### Формат итоговых оповещений {#section_wsx_3jl_ggb .section} Для оповещений о результатах оплат с применением метода Boost Wallet используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `635` была проведена оплата в размере `1000,00 MYR`. ```language-json { "project_id": 635, "payment": { "id": "EP9a11-3704", "type": "purchase", "status": "success", "date": "2019-03-22T06:20:51+0000", "method": "boostViaEGHL", "sum": { "amount": 10000, "currency": "MYR" }, "description": "123" }, "account": { "number": "qwe@qwe.qwqw" }, "customer": { "id": "sasha", "phone": "555" }, "operation": { "id": 126, "type": "sale", "status": "success", "date": "2019-03-22T06:20:51+0000", "created_date": "2019-03-22T06:20:35+0000", "request_id": "f587b6309ccb", "sum_initial": { "amount": 10000, "currency": "MYR" }, "sum_converted": { "amount": 10000, "currency": "MYR" }, "provider": { "id": 1352, "payment_id": "123123", "date": "2019-03-22T06:20:49+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "AoBE429Tp7suALwVK81YfHPVW75FFHYyezXIZ1ZopQZDRjGEBx9kXpi5Q==" } ``` В следующем примере оповещение свидетельствует об отклонённой оплате. ```language-json { "project_id": 635, "payment": { "id": "EPe02d-985c", "type": "purchase", "status": "decline", "date": "2019-03-22T06:29:59+0000", "method": "ePayViaEGHL", "sum": { "amount": 10, "currency": "MYR" }, "description": "123" }, "customer": { "phone": "640991025894" }, "operation": { "id": 1000000127, "type": "sale", "status": "decline", "date": "2019-03-22T06:30:00+0000", "created_date": "2019-03-22T06:29:28+0000", "request_id": "201ed6b216c", "sum_initial": { "amount": 10, "currency": "MYR" }, "sum_converted": { "amount": 10, "currency": "MYR" }, "provider": { "id": 1353, "payment_id": "123123", "date": "2019-03-22T06:29:57+0000", "auth_code": "" }, "code": "20105", "message": "Insufficient funds on customer account" }, "signature": "3nAGOrfkfY/+VqUqhSVkzpMh6eVE7ipxDRNz1IO4AxA3A==" } } ``` ### Дополнительные материалы {#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_boost_dash_analysis} Для анализа информации о платежах и операциях, как в отдельности по методу Boost Wallet, так и в совокупности с другими методами, можно использовать: - инструментарийинтерфейса Dashboard, с различными реестрами и аналитическими панелями; - отчёты в формате CSV, выгружаемые\(как разово, так и периодически\) черезраздел **Отчёты** интерфейса Dashboard; - данные в формате JSON, получаемыепо программным запросам черезинтерфейс Data API. С вопросами по анализу информации можно обращаться к разделам документации \([Dashboard](ru_dbl_about.md) и [Использование Data API](ru_dbl_api_protocol.md)\) и специалистам Ecommpay.