Перейти к содержанию

МТС Деньги

Для приема платежей с помощью данного альтернативного способа оплаты вам необходимо:

  1. Отправить запрос проверки подключения услуги "МТС Деньги" у клиента.
  2. Отправить запрос на оплату на указанную клиентом сумму.

Схема приема оплаты через "МТС Деньги"

Шаг Описание
1 Клиент выбирает "МТС Деньги" как способ оплаты.
2 Торговец отправляет запрос проверки подключения услуги у клиента.
3 Система bePaid отправляет запрос проверки в систему "МТС Деньги".
4 "МТС Деньги" информирует bePaid, подключена ли услуга у клиента.
5 bePaid присылает торговцу ответ с результатом проверки, указанным как значение параметра service_activated.
6 Клиент указывает сумму к оплате, соглашается с Правилами сервиса, если требуется, и нажимает кнопку "Оплатить" для завершения оплаты.
7 Торговец отправляет запрос на оплату.
8 bePaid отправляет торговцу ответ со статусом pending, который означает, что запрос на оплату находится в процессе обработки.
9 bePaid формирует и направляет запрос на оплату в "МТС Деньги".
10 После обработки платежа система "МТС Деньги" передает bePaid статус платежа.
11 Система bePaid уведомляет торговца о статусе транзакции.

Проверка активации сервиса

Запрос

Чтобы проверить, является ли покупатель участником сервиса "МТС Деньги", отправьте POST запрос на https://api.bepaid.by/beyag/gateways/mts_money/check_service с дополнительным заголовком X-API-Version: 2 и следующими параметрами:

Параметр Тип данных Описание
customer object Секция информации о покупателе.
phone * обязательный
string Полный номер телефона клиента с кодом страны и без знака +. Например, 375291112233.
Пример запроса проверки
{
    "request":{
        "test": true,
        "customer":{
            "phone":"375295222222"
        }
    }
}

Чтобы проверить, является ли покупатель участником сервиса "МТС Деньги", отправьте POST запрос на https://api.bepaid.by/beyag/gateways/mts_money/check_service с дополнительным заголовком X-API-Version: 3 и следующими параметрами:

Параметр Тип данных Описание
customer object Секция информации о покупателе.
phone * обязательный
string Полный номер телефона покупателя с кодом страны и без знака +. Например, 375291112233.
Пример запроса проверки
{
    "request":{
        "test": true,
        "customer":{
            "phone":"375295222222"
            }
        }
}
Ответ

Ответ на запрос проверки содержит следующие параметры:

Параметр Тип данных Описание
service_activated * обязательный
boolean Результат проверки активации сервиса.
Возможные значения:
true - услуга "МТС Деньги" у покупателя подключена ранее. Торговец может не запрашивать согласие покупателя с Правилами сервиса;
false - услуга "МТС Деньги" у покупателя еще не подключена. Для ее подключения торговцу следует запросить согласие покупателя с Правилами сервиса;
null - Введеный номер не принадлежит оператору MTC. Проверка услуги не выполнена.
message * обязательный
string Сообщение системы МТС.
validation * обязательный
object Секция с результатами проверки принадлежности номера оператору MTC.
operator string Мобильный оператор введенного номера телефона.
Возможные значения:
mts - Оператор MTC,
other - Оператор не MTC;
null - Номер телефона введен в неверном формате.
message string Информационное сообщение системы.
Пример успешного ответа на запрос проверки API v.2
{
 "service_activated": true,
 "message": "Request successfully processed",
 "validation": {
    "operator": "mts",    
    "message": "Request successfully processed" 
 }
}
Пример ответа на запрос проверки API v.2. Номер МТС, услуга МТС Деньги не подключена.
{
 "service_activated": false,
 "message": "Request successfully processed",
 "validation": {
    "operator": "mts",    
    "message": "Request successfully processed" 
 }
}
Пример неуспешного ответа на запрос проверки API v.2. Неверный формат номера телефона. Проверка активации сервиса не выполнена.
{
 "service_activated": null,
 "message": "null",
    "validation": {
        "operator": "null",    
        "message": "Описание ошибки провайдера" 
     }
}

Ответ на запрос проверки содержит следующие параметры:

Параметр Тип данных Описание
code * обязательный
string Код обработанной транзакции
status * обязательный
string Статус проверки.
message * обязательный
string Сообщение системы МТС.
friendly message * обязательный
string Сообщение системы для покупателя.
Пример успешного ответа на запрос проверки API v.3
{
    "code": "S.0000",
    "status": "successful",
    "message": "The operation was successfully processed",
    "friendly_message": "Successfully processed"        
}
Пример ответа на запрос проверки API v.3. Номер МТС, услуга МТС Деньги не подключена.
{
    "code": "F.0213",
    "status": "failed",
    "message": "Нет разрешения: Обратитесь к провайдеру платежных услуг для уточнения причины.",
    "friendly_message": "Нет разрешения: Не удалось завершить транзакцию. Обратитесь к продавцу для уточнения причин или используйте другой способ оплаты."
}
Пример неуспешного ответа на запрос проверки API v.3. Неверный формат номера телефона. Проверка активации сервиса не выполнена.
{
    "code": "F.0202",
    "status": "failed",
    "message": "Аккаунт не найден: Не удалось завершить транзакцию. Проверьте параметры запроса.",
    "friendly_message": "Аккаунт не найден: Не удалось завершить транзакцию. Обратитесь к провайдеру способа оплаты для уточнения причины."       
}

Оплата

Запрос

Отправьте запрос оплаты со следующими дополнительными данными:

Параметр Тип данных Описание
notification_url string URL, на который торговец будет получать уведомления об оплате. Если не указан, уведомления не высылаются.
method object Секция параметров способа оплаты.
type * обязательный
string mts_money
confirm_agreement * обязательный
string Возможные значения:
already_accepted - услуга "МТС Деньги" была подключена ранее;
accept - услуга "МТС Деньги" не была подключена у клиента. Клиент готов ее подключить и дает согласие с Правилами сервиса;
decline - услуга "МТС Деньги" не была подключена у клиента. Клиент не готов ее подключить для завершения оплаты.
customer object Секция информации о покупателе.
phone * обязательный
string Полный номер телефона покупателя с кодом страны и без знака +. Например, 375291112233.
Пример запроса оплаты
{
    "request":{
        "amount":100,
        "currency":"BYN",
        "description":"description",
        "test": true,
        "expired_at": "2023-01-01T15:00:00+01:00",
        "tracking_id":"your_uniq_number",
        "notification_url": "https://notification_url.com",
        "ip":"127.0.0.1",
        "language":"en",
        "return_url": "https://your_shop_URL.by/",
        "customer":{
            "first_name":"John",
            "last_name":"Doe",
            "phone":"375295222222"
        },
        "method":{
            "type": "mts_money",
            "confirm_agreement": "accept"
        }
    }
}
Ответ

Секция mts_money из ответа на запрос будет иметь все те же параметры, что были присланы в запросе. Статус транзакции будет указан как pending, пока запрос оплаты будет находиться в процессе обработки.

Пример ответа со статусом транзакции pending
{
    "transaction": {
        "uid": "d5ac59da-09bf-4f82-826c-f9f96d3fb4ba",
        "type": "payment",
        "status": "pending",
        "amount": 100,
        "currency": "BYN",
        "description": "description",
        "created_at": "2022-03-20T11:44:30Z",
        "updated_at": "2022-03-20T11:44:30Z",
        "method_type": "mts_money",
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/d5ac59da-09bf-4f82-826c-f9f96d3fb4ba/0abb8ceeea66e8bc323cdfa5268efc67905de11cf775a525acf70ba73cafd112?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 395,
            "message": "Transaction was initialized."
        },
        "mts_money": {
            "type": "mts_money",
            "confirm_agreement": "accept"
        },
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "phone": "375295222222",
            "ip": "127.0.0.1"
        },
        "message": "Transaction was initialized.",
        "tracking_id": "your_uniq_number",
        "test": true,
        "language": "en",
        "billing_address": {
            "first_name": "John",
            "last_name": "Doe",
            "phone": "375295222222",
            "ip": "127.0.0.1"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        }
    }
}

Уведомление о финальном статусе транзакции

Когда система "МТС Деньги" обработает платеж и уведомит bePaid, вы получите уведомление о финальном статусе транзакции на URL для уведомлений, указанный в запросе или в вашем личном кабинете bePaid.

Пример уведомления
{
    "transaction": {
        "uid": "d5ac59da-09bf-4f82-826c-f9f96d3fb4ba",
        "type": "payment",
        "status": "successful",
        "amount": 100,
        "currency": "BYN",
        "description": "description",
        "created_at": "2022-03-20T11:44:30Z",
        "updated_at": "2022-03-20T11:44:36Z",
        "method_type": "mts_money",
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/d5ac59da-09bf-4f82-826c-f9f96d3fb4ba/0abb8ceeea66e8bc323cdfa5268efc67905de11cf775a525acf70ba73cafd112?language=en",
        "payment": {
            "status": "successful",
            "gateway_id": 395,
            "message": "Transaction was successfully processed."
        },
        "mts_money": {
            "type": "mts_money",
            "confirm_agreement": "accept"
        },
        "customer": {
            "phone": "375295222222",
            "last_name": "Doe",
            "first_name": "John",
            "ip": "127.0.0.1"
        },
        "message": "Transaction was successfully processed.",
        "tracking_id": "your_uniq_number",
        "test": true,
        "language": "en",
        "paid_at": "2022-03-20T11:44:36Z",
        "billing_address": {
            "phone": "375295222222",
            "last_name": "Doe",
            "first_name": "John",
            "ip": "127.0.0.1"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        }
    }
}

Тестирование

Для тестирования добавьте test: true к параметрам запроса и используйте следующие тестовые номера телефонов:

Номер телефона Результат для запроса проверки Результат для запроса оплаты
375295222222 Услуга активна Успешная оплата
375295111111 Услуга неактивна Неуспешная оплата
375444111111 Неправильный номер телефона Неправильный номер телефона
375290000000 Номер телефона - МТС. Услуга МТС Деньги подключена Недостаточно средств