Boost Wallet
Обзор
Введение
Boost Wallet — метод, позволяющий проводить платежи в малайзийских ринггитах с использованием электронного кошелька в Малайзии. Для этого метода в платёжной платформе ecommpay поддерживаются оплаты.
В этой статье представлена информация о работе с методом Boost Wallet: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач.
Характеристика
| Тип платёжного метода | платежи с использованием электронных кошельков |
|---|---|
| Платёжные инструменты | электронные кошельки |
| Регионы использования | MY |
| Валюты платежей | MYR |
| Конвертация валют | – |
| Разовые оплаты | + |
| Повторяемые оплаты | – |
| Полные возвраты | – |
| Частичные возвраты | – |
| Выплаты | – |
| Опротестования | – |
| Особенности | – |
| Организация и стоимость подключения | по согласованию с курирующим менеджером ecommpay |
Схема работы
В проведении отдельного платежа с использованием метода Boost Wallet задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также технические средства сервиса Boost Wallet.
Основные операции
Для проведения платежей и выполнения операций с использованием метода Boost Wallet могут применяться различные интерфейсы платёжной платформы. Так, оплаты могут проводиться через Payment Page, Gate и Dashboard (с применением платёжных ссылок).
Сценарии использования
Проведение оплат с использованием метода Boost Wallet осуществляется с отображением пользователю на Payment Page или в веб-сервисе мерчанта QR-кода и оплату через электронный кошелек с использованием полученного кода.
Пользовательский сценарий оплаты через Payment Page выглядит следующим образом.
Общие сценарии проведения оплат и выплат можно представить следующим образом.
Оплаты через Payment Page
Общая информация
Для проведения оплаты через Payment Page с использованием метода Boost Wallet со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате. Полная схема проведения оплаты выглядит следующим образом.
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- В платёжной платформе выполняется приём запроса, с проверкой наличия обязательных параметров и корректной подписи.
- Осуществляется подготовка Payment Page согласно параметрам проекта и вызова.
- Пользователю отображается платёжная форма.
- Пользователь выбирает для оплаты метод Boost Wallet.
- Пользователю отображается платёжная форма, соответствующая запросу.
- Пользователь вводит данные для оплаты.
- В платёжную платформу передаётся запрос на проведение оплаты с использованием метода Boost Wallet.
- В платёжной платформе выполняются обработка полученного запроса и его отправка в сервис Boost Wallet.
- На стороне Boost Wallet выполняется обработка запроса и генерируется QR-код для оплаты.
- От Boost Wallet в платёжную платформу направляется сгенерированные QR-код оплаты.
- От платёжной платформы к Payment Page перенаправляются QR-код для оплаты, а также инструкция с руководством по оплате.
- Пользователю на Payment Page отображаются QR-код и инструкция.
- Пользователь завершает оплату по QR-коду, сканируя его с помощью мобильного приложения Boost Wallet или другим удобным способом.
- В сервисе Boost Wallet происходит обработка платежа.
- Пользователю отображается результат оплаты в приложении Boost Wallet.
- От сервиса Boost Wallet к платёжной платформе направляется информация о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
Информация о форматах запросов и оповещений, используемых для проведения оплат методом Boost Wallet через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье Организация взаимодействия.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода Boost Wallet необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров, обязательный для любого платежа:
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. - Валютой платежа может быть только MYR.
- Дополнительно должны использоваться параметры
customer_first_name,customer_last_name,customer_email,customer_phone— имя и фамилия, адрес электронной почты и номер телефона пользователя. - Для предварительного выбора метода Boost Wallet необходимо указывать код этого метода в параметре
force_payment_method—boost. - Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page (подробнее).
- После указания всех целевых параметров необходимо составлять подпись (подробнее).
Таким образом, корректный запрос на открытие платёжной формы с применением метода Boost Wallet должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), информацию о пользователе и подпись.
{
"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=="
}
{
"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=="
}
Формат оповещений
Для оповещений о результатах оплат с применением метода Boost Wallet используется типовой формат, описание которого представлено в статье Работа с оповещениями.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 635 была проведена оплата в размере 1000,00 MYR.
{
"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=="
}
В следующем примере оповещение свидетельствует об отклонённой оплате.
{
"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=="
}
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
- Организация взаимодействия — о том, как организовать взаимодействие веб-сервиса с платёжной платформой через Payment Page.
- Работа с подписью к данным — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Проведение платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Проведение оплат — о том, как проводить разовые оплаты через Payment Page.
- Работа с информацией об операциях — о служебных кодах, которые используются в платёжной платформе, чтобы фиксировать информацию о выполнении операций.
Оплаты через Gate
Общая информация
Для проведения оплаты через Gate с использованием метода Boost Wallet со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
- Принять промежуточное оповещение от платёжной платформы и осуществить перенаправление пользователя к сервису Boost Wallet.
- Принять итоговое оповещение от платёжной платформы.
Полная схема проведения оплаты выглядит следующим образом.
- Пользователь на стороне веб-сервиса инициирует оплату с использованием метода Boost Wallet.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу ecommpay.
- В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности (подробнее).
- В платёжной платформе выполняются дальнейшая обработка запроса (с проверкой согласованности параметров) и его отправка в сервис Boost Wallet.
- В сервисе Boost Wallet выполняется обработка запроса на оплату.
- От сервиса Boost Wallet к платёжной платформе передаются данные для перенаправления пользователя в сервис Boost Wallet, а также сгенерированный QR-код для оплаты.
- От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя в сервис Boost Wallet и QR-код в объекте redirect_data.
- Пользователю на веб-сервисе отображается сгенерированные QR-код и инструкция к оплате.
- Пользователь перенаправляется в сервис Boost Wallet, при необходимости осуществляя вход, и завершает оплату по QR-коду.
- В сервисе Boost Wallet выполняется обработка платежа.
- Пользователю отображается информация о результате оплаты.
- От сервиса Boost Wallet к платёжной платформе направляется информация о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
Информация о форматах запросов и оповещений, используемых для проведения оплат методом Boost Wallet через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье Организация взаимодействия.
Формат запросов
При работе с запросами на оплаты с применением метода Boost Wallet необходимо учитывать следующее:
- Для инициирования каждой оплаты должен использоваться отдельный POST-запрос к конечной точке
/v2/payment/wallet/boost/sale. Эта точка относится к группе /v2/payment/wallet/{payment_method}/sale. - В каждом запросе должны использоваться следующие объекты и параметры:
general— объект, содержащий основные идентификационные сведения запроса:project_id— идентификатор проекта, полученный от ecommpay при интеграции;,payment_id— идентификатор платежа, уникальный в рамках проекта;,signature— подпись запроса, составленная после указания всех целевых параметров (подробнее — в разделе Работа с подписью к данным); (подробнее),
payment— объект, содержащий сведения о платеже:amount— сумма платежа в дробных единицах валюты;,currency— код валюты платежа в формате ISO-4217 alpha-3;,description— описание или комментарий к платежу.
customer— сведения о пользователе:id— идентификатор пользователя, уникальный в рамках проекта;,ip_address— IP-адрес пользователя, актуальный для инициируемого платежа;,first_name— имя пользователя;,last_name— фамилия пользователя;,email— адрес электронной почты пользователя;,phone— номер телефона пользователя.
- Валютой платежа может быть только MYR.
- Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации.
Таким образом, корректный запрос на оплату с применением метода Boost Wallet должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), информацию о пользователе, а также подпись.
{
"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",
}
}
{
"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",
}
}
Формат промежуточных оповещений для перенаправления пользователей
Для перенаправления пользователей от веб-сервиса мерчанта к сервису Boost Wallet при проведении каждого платежа с использованием метода Boost Wallet необходимо принять промежуточное оповещение от платёжной платформы и использовать информацию из него, включённую в объект redirect_data. Формат таких оповещений является типовым (подробнее), при этом в состав объекта redirect_data включаются следующие объекты и параметры:
body— объект с данными для отправки в теле запроса;method— параметр с указанием HTTP-метода отправки запроса (GETилиPOST);url— параметр со ссылкой для перенаправления.
"redirect_data": { "body": [], "method": "GET", "url": "https://onlinepayment.boost-my.com/index.php?token=c639de48340c4a532ba6a03d5" }
Формат итоговых оповещений
Для оповещений о результатах оплат с применением метода Boost Wallet используется типовой формат, описание которого представлено в разделе Работа с оповещениями.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 635 была проведена оплата в размере 1000,00 MYR.
{
"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=="
}
В следующем примере оповещение свидетельствует об отклонённой оплате.
{
"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=="
}
}
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
- Организация взаимодействия — о том, как взаимодействовать с платёжной платформой через Gate.
- Работа с подписью к данным — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Проведение платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Разовая оплата в одну стадию — о том, как проводить разовые оплаты через Gate.
- Работа с информацией об операциях — о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций.
Анализ результатов проведения платежей
Для анализа информации о платежах и операциях, как в отдельности по методу Boost Wallet, так и в совокупности с другими методами, можно использовать:
- инструментарий интерфейса Dashboard, с различными реестрами и аналитическими панелями;,
- отчёты в формате CSV, выгружаемые (как разово, так и периодически) через раздел Отчёты интерфейса Dashboard;,
- данные в формате JSON, получаемые по программным запросам через интерфейс Data API.
С вопросами по анализу информации можно обращаться к разделам документации (Dashboard и Использование Data API) и специалистам ecommpay.