Оплаты с банковских счетов Mbank
Обзор
Введение
«Оплаты с банковских счетов Mbank» — метод, позволяющий проводить платежи в киргизских сомах с использованием интернет-банкинга в Кыргызстане. Для этого метода в платёжной платформе Flashpay поддерживаются оплаты.
В этой статье представлена информация о работе с методом «Оплаты с банковских счетов Mbank»: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач.
Характеристика
| Тип платёжного метода | банковские платежи |
|---|---|
| Платёжные инструменты | банковские счета |
| Регионы использования | KG |
| Валюты платежей | KGS |
| Конвертация валют | – |
| Разовые оплаты | + |
| Повторяемые оплаты | – |
| Полные возвраты | – |
| Частичные возвраты | – |
| Выплаты | – |
| Опротестования | – |
| Особенности | – |
| Организация и стоимость подключения | по согласованию с курирующим менеджером Flashpay |
Схема работы
В проведении отдельного платежа с использованием метода «Оплаты с банковских счетов Mbank» задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа Flashpay, а также технические средства сервиса Mbank.
Основные операции
Для проведения платежей и выполнения операций с использованием метода «Оплаты с банковских счетов Mbank» могут применяться различные интерфейсы платёжной платформы. Так, оплаты могут проводиться через Payment Page, Gate и Dashboard (с применением платёжных ссылок). При этом, независимо от используемых интерфейсов, для этого метода характерны следующие свойства и ограничения.
При работе с методом «Оплаты с банковских счетов Mbank», независимо от используемых интерфейсов, актуальны следующие свойства и ограничения.
| Суммы, KGS | Время ¹ | |||
|---|---|---|---|---|
| минимум | максимум | базовое | предельное | |
| Оплаты | 50,00 | 50 000,00 | 1 минута | 60 минут |
- Базовое и предельное время определяются следующим образом:
- Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время определяется для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа (подробнее).
- Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус
decline. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки Flashpay.
Сценарии использования
Проведение оплат с использованием метода «Оплаты с банковских счетов Mbank» осуществляется с перенаправлением пользователей к сервису Mbank.
Оплаты через Payment Page
Общая информация
Для проведения оплаты через Payment Page с использованием метода «Оплаты с банковских счетов Mbank» со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Flashpay и принять оповещение о результате.
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL Flashpay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- В платёжной платформе выполняется приём запроса, с проверкой наличия обязательных параметров и корректной подписи.
- Осуществляется подготовка к открытию платёжной формы согласно параметрам проекта и вызова.
- Пользователю отображается платёжная форма.
- Пользователь выбирает для оплаты метод «Оплаты с банковских счетов Mbank» и указывает номер телефона, ассоциированный с учётной записью в банке.
- В платёжную платформу передаётся запрос на проведение оплаты с использованием метода «Оплаты с банковских счетов Mbank».
- В платёжной платформе выполняются обработка полученного запроса и его отправка в сервис Mbank.
- В сервисе Mbank выполняется обработка запроса на оплату.
- От сервиса Mbank к платёжной платформе передаётся информация о необходимости подтвердить платёж с использованием кода подтверждения оплаты.
- От платформы к Payment Page передаётся информация о необходимости подтвердить платёж с использованием кода подтверждения оплаты.
- На Payment Page пользователю отображается форма для ввода кода подтверждения.
- Со стороны Mbank пользователю отправляется код подтверждения оплаты.
- Пользователь указывает код подтверждения на Payment Page и подтверждает оплату
- В сервисе Mbank выполняется обработка платежа.
- Информация о результате оплаты отображается пользователю в сервисе Mbank.
- От сервиса Mbank к платёжной платформе направляется информация о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется информация о результате оплаты.
- Информация о результате оплаты отображается пользователю на Payment Page.
Информация о форматах запросов и оповещений, используемых для проведения оплат методом «Оплаты с банковских счетов Mbank» через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье Организация взаимодействия.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода «Оплаты с банковских счетов Mbank» необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров, обязательный для любого платежа:
project_id— идентификатор проекта, полученный от Flashpay при интеграции;payment_id— идентификатор платежа, уникальный в рамках проекта;payment_currency— буквенный код валюты платежа в формате ISO-4217 alpha-3;payment_amount— сумма платежа в дробных единицах валюты;customer_id— идентификатор пользователя в рамках проекта.
- Должен использоваться базовый минимум параметров:
project_id,payment_id,payment_currency,payment_amount,customer_id. - Для предварительного выбора метода «Оплаты с банковских счетов Mbank» необходимо указывать код этого метода в параметре
force_payment_method—mbank. - Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page (подробнее).
- После указания всех целевых параметров необходимо составлять подпись (подробнее).
Таким образом, корректный запрос на открытие платёжной формы с применением метода «Оплаты с банковских счетов Mbank» должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), идентификатор пользователя и подпись, а также может содержать различные дополнительные параметры.
{
"project_id": 120,
"payment_id": "580",
"payment_amount": 1000,
"payment_currency": "KGS",
"customer_id": "customer1",
"signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}
{
"project_id": 120,
"payment_id": "580",
"payment_amount": 1000,
"payment_currency": "KGS",
"customer_id": "customer1",
"signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}
Формат оповещений
Для оповещений о результатах оплат с применением метода «Оплаты с банковских счетов Mbank» используется типовой формат, описание которого представлено в статье Работа с оповещениями (подробнее).
В следующем примере оповещение свидетельствует о том, что в рамках проекта 137493 была проведена оплата в размере 50,00 KGS.
{
"customer": {
"id": "1"
},
"account": {
"number": "341******554"
},
"project_id": 137493,
"payment": {
"id": "TEST_PAYMENT_212105",
"type": "purchase",
"status": "success",
"date": "2025-01-27T08:15:24+0000",
"method": "mbank",
"sum": {
"amount": 50000,
"currency": "KGS"
},
"description": "TEST_PAYMENT_212105"
},
"operation": {
"sum_initial": {
"amount": 5000,
"currency": "KGS"
},
"sum_converted": {
"amount": 5000,
"currency": "KGS"
},
"code": "0",
"message": "Success",
"provider": {
"id": 17101,
"payment_id": "0194a6d2-ff53-762a-a493-d0f017bd4875",
"auth_code": ""
},
"id": 6503010168993,
"type": "sale",
"status": "success",
"date": "2025-01-27T08:15:24+0000",
"created_date": "2025-01-27T08:13:50+0000",
"request_id": "d5156dd4af333bfbfd24ca-00006504"
},
"signature": "fXUbnU5Zff/hGskEkG8k2+Gyz3SKcQ=="
}
В следующем примере оповещение свидетельствует об отклонённой оплате.
{
"customer": {
"id": "1"
},
"account": {
"number": "123******432"
},
"project_id": 137493,
"payment": {
"id": "TEST_PAYMENT_331631",
"type": "purchase",
"status": "decline",
"date": "2025-01-28T10:45:41+0000",
"method": "mbank",
"sum": {
"amount": 5000,
"currency": "KGS"
},
"description": "TEST_PAYMENT_331631"
},
"operation": {
"sum_initial": {
"amount": 5000,
"currency": "KGS"
},
"sum_converted": {
"amount": 5000,
"currency": "KGS"
},
"code": "20000",
"message": "General decline",
"provider": {
"id": 17101,
"payment_id": "0194ac84-0992-7bf3-bd8e-0b1170cc2b8b",
"auth_code": ""
},
"id": 6296010169189,
"type": "sale",
"status": "decline",
"date": "2025-01-28T10:45:41+0000",
"created_date": "2025-01-28T10:45:18+0000",
"request_id": "080bc706bb3fa2f3ec4509055e-00006297"
},
"signature": "WpWZ+gvMPe9ldONXZEUZpRisl3m+udOyy21XZBYftVTWg=="
}
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
- Быстрый старт и Организация взаимодействия — о том, как организовать взаимодействие веб-сервиса с платёжной платформой через Payment Page.
- Работа с подписью к данным — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Проведение платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Проведение оплат — о том, как проводить разовые оплаты с незамедлительным списанием средств через Payment Page.
- Работа с информацией об операциях — о служебных кодах, которые используются в платёжной платформе, чтобы фиксировать информацию о выполнении операций.
Оплаты через Gate
Общая информация
Для проведения оплаты через Gate с использованием метода «Оплаты с банковских счетов Mbank» со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Flashpay.
- Принять промежуточное оповещение о необходимости дополнения данных и отправить запрос для продолжения платежа. Подробнее о дополнении данных — в разделе Дополнение информации о платеже.
- Принять итоговое оповещение от платёжной платформы.
- Пользователь на стороне веб-сервиса инициирует оплату с использованием метода «Оплаты с банковских счетов Mbank».
- От веб-сервиса на заданный URL Flashpay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу Flashpay.
- В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности (подробнее).
- В платёжной платформе выполняются дальнейшая обработка запроса (с проверкой согласованности параметров) и его отправка в сервис Mbank.
- В сервисе Mbank выполняется обработка запроса на оплату.
- От сервиса Mbank к платёжной платформе передаётся информация о необходимости подтвердить платёж с использованием кода подтверждения оплаты.
- От платформы к веб-сервису передаётся информация о необходимости подтвердить платёж с использованием кода подтверждения оплаты.
- На стороне веб-сервиса пользователю отображается форма для ввода кода подтверждения.
- Со стороны Mbank пользователю отправляется код подтверждения оплаты.
- Пользователь указывает код подтверждения на стороне веб-сервиса и подтверждает оплату
- В сервисе Mbank выполняется обработка платежа.
- Пользователю отображается информация о результате оплаты.
- От сервиса Mbank к платёжной платформе направляется информация о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- На стороне веб-сервиса обеспечивается информирование пользователя о результате оплаты.
Информация о форматах запросов и оповещений, используемых для проведения оплат методом «Оплаты с банковских счетов Mbank» через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье Организация взаимодействия.
Формат запросов
При работе с запросами на оплаты с применением метода «Оплаты с банковских счетов Mbank» необходимо учитывать следующее:
- Для инициирования каждой оплаты должен использоваться отдельный POST-запрос к конечной точке
/v2/payment/wallet/mbank/sale. Эта точка относится к группе /v2/payment/wallet/{payment_method}/sale. - В каждом запросе должны использоваться следующие объекты и параметры:
general— объект, содержащий основные идентификационные сведения запроса:project_id— идентификатор проекта, полученный от Flashpay при интеграции;,payment_id— идентификатор платежа, уникальный в рамках проекта;,signature— подпись запроса, составленная после указания всех целевых параметров (подробнее — в разделе Работа с подписью к данным); (подробнее),
payment— объект, содержащий сведения о платеже:amount— сумма платежа в дробных единицах валюты;,currency— буквенный код валюты платежа в формате ISO-4217 alpha-3;,
customer— объект, содержащий сведения о пользователе:id— идентификатор пользователя, уникальный в рамках проекта;,ip_address— IP-адрес пользователя, актуальный для инициируемого платежа.
account— объект, содержащий сведения о счёте получателя:number— номер телефона, ассоциированный с учётной записью в банке.
- Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации.
Таким образом, корректный запрос на оплату с применением метода «Оплаты с банковских счетов Mbank» должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), информацию о пользователе и счёте, подпись, а также может содержать различные дополнительные параметры.
{
"general": {
"project_id": 210,
"payment_id": "test_payment",
"signature": "PJkV8ej\/UG0Di8hTng6JvipTv+AWoXW\/9MTO8yJA=="
},
"payment": {
"amount": 1000,
"currency": "KGS"
},
"customer": {
"id": "customer123",
"ip_address": "192.0.2.0"
},
"account": {
"number": "189011234567"
},
}
{
"general": {
"project_id": 210,
"payment_id": "test_payment",
"signature": "PJkV8ej\/UG0Di8hTng6JvipTv+AWoXW\/9MTO8yJA=="
},
"payment": {
"amount": 1000,
"currency": "KGS"
},
"customer": {
"id": "customer123",
"ip_address": "192.0.2.0"
},
"account": {
"number": "189011234567"
},
}
Форматы оповещений и запросов для дополнения информации о платеже
Когда от платёжной платформы поступает оповещение о необходимости дополнения информации о платеже, для проведения платежа необходимо отправить POST-запрос к конечной точке /v2/payment/clarification с кодом подтверждения платежа, полученным от пользователя, и получить ответ о приёме этого запроса в обработку.
В таком оповещении содержится объект clarification_fields с параметром approval_code — кодом подтверждения платежа, который пользователь указывает на стороне веб-сервиса. Время действия такого кода по умолчанию составляет 60 минут с момента его создания на стороне сервиса Mbank. Для изменения этого времени следует обращаться к курирующему менеджеру Flashpay.
Далее приведён фрагмент оповещения, содержащего названия параметров для дополнения информации о платеже.
{
"clarification_fields": {
"approval_code"
}
}
Запрос для продолжения платежа с учётом дополнения данных отправляется методом POST к конечной точке /v2/payment/clarification и должен содержать следующие объекты и параметры:
general— объект, содержащий основные идентификационные сведения запроса:project_id— идентификатор проекта, к которому относится проводимый платёж;payment_id— идентификатор платежа, к которому относятся отправляемые данные;signature— подпись, составленная после указания целевых параметров (подробнее — в разделе Работа с подписью к данным).
additional_data— объект с запрошенными данными:approval_code— код подтверждения платежа, который пользователь указывает на стороне веб-сервиса.
Таким образом, корректный запрос должен содержать идентификаторы проекта и платежа, подпись и данные, которые требуются для продолжения платежа.
{
"general": {
"project_id": 11,
"payment_id": "EPr-bf14",
"signature": "v7KNMpfogAthg1ZZ5D/aZAeb0VMdeR+CqghwSm...=="
},
"additional_data": {
"approval_code": "1234"
}
}
{
"general": {
"project_id": 11,
"payment_id": "EPr-bf14",
"signature": "v7KNMpfogAthg1ZZ5D/aZAeb0VMdeR+CqghwSm...=="
},
"additional_data": {
"approval_code": "1234"
}
}
decline.Формат итоговых оповещений
Для итоговых оповещений об оплатах с применением метода «Оплаты с банковских счетов Mbank» используется типовой формат, описание которого представлено в статье Работа с оповещениями (подробнее).
В следующем примере оповещение свидетельствует о том, что в рамках проекта 137493 была проведена оплата в размере 50,00 KGS.
{
"customer": {
"id": "1"
},
"account": {
"number": "341******554"
},
"project_id": 137493,
"payment": {
"id": "TEST_PAYMENT_212105",
"type": "purchase",
"status": "success",
"date": "2025-01-27T08:15:24+0000",
"method": "mbank",
"sum": {
"amount": 50000,
"currency": "KGS"
},
"description": "TEST_PAYMENT_212105"
},
"operation": {
"sum_initial": {
"amount": 5000,
"currency": "KGS"
},
"sum_converted": {
"amount": 5000,
"currency": "KGS"
},
"code": "0",
"message": "Success",
"provider": {
"id": 17101,
"payment_id": "0194a6d2-ff53-762a-a493-d0f017bd4875",
"auth_code": ""
},
"id": 6503010168993,
"type": "sale",
"status": "success",
"date": "2025-01-27T08:15:24+0000",
"created_date": "2025-01-27T08:13:50+0000",
"request_id": "d5156dd4af333bfbfd24ca-00006504"
},
"signature": "fXUbnU5Zff/hGskEkG8k2+Gyz3SKcQ=="
}
В следующем примере оповещение свидетельствует об отклонённой оплате.
{
"customer": {
"id": "1"
},
"account": {
"number": "123******432"
},
"project_id": 137493,
"payment": {
"id": "TEST_PAYMENT_331631",
"type": "purchase",
"status": "decline",
"date": "2025-01-28T10:45:41+0000",
"method": "mbank",
"sum": {
"amount": 5000,
"currency": "KGS"
},
"description": "TEST_PAYMENT_331631"
},
"operation": {
"sum_initial": {
"amount": 5000,
"currency": "KGS"
},
"sum_converted": {
"amount": 5000,
"currency": "KGS"
},
"code": "20000",
"message": "General decline",
"provider": {
"id": 17101,
"payment_id": "0194ac84-0992-7bf3-bd8e-0b1170cc2b8b",
"auth_code": ""
},
"id": 6296010169189,
"type": "sale",
"status": "decline",
"date": "2025-01-28T10:45:41+0000",
"created_date": "2025-01-28T10:45:18+0000",
"request_id": "080bc706bb3fa2f3ec4509055e-00006297"
},
"signature": "WpWZ+gvMPe9ldONXZEUZpRisl3m+udOyy21XZBYftVTWg=="
}
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
- Быстрый старт и Организация взаимодействия — о том, как взаимодействовать с платёжной платформой через Gate.
- Работа с подписью к данным — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Проведение платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Разовая оплата в одну стадию — о том, как проводить разовые оплаты через Gate.
- Работа с информацией об операциях — о служебных кодах, которые используются в платёжной платформе, чтобы фиксировать информацию о выполнении операций.
Анализ результатов проведения платежей
Для анализа информации о платежах и операциях, как в отдельности по методу «Оплаты с банковских счетов Mbank», так и в совокупности с другими методами, можно использовать:
- инструментарий интерфейса Dashboard, с различными реестрами и аналитическими панелями;,
- отчёты в формате CSV, выгружаемые (как разово, так и периодически) через раздел Отчёты интерфейса Dashboard;,
- данные в формате JSON, получаемые по программным запросам через интерфейс Data API.
С вопросами по анализу информации можно обращаться к разделам документации (Dashboard и Использование Data API) и специалистам Flashpay.