Выплаты на банковские счета в России

Обзор

«Выплаты на банковские счета в России» — платёжный метод, позволяющий проводить выплаты пользователям с помощью банковских переводов в России. Выплаты осуществляются через Gate или Dashboard.

Характеристика

Тип платёжного метода банковские платежи
Платёжные инструменты банковские счета
Регионы использования RU
Валюты платежей RUB
Конвертация валют
Оплаты
Выплаты +
Оплаты по сохранённым данным
Полные возвраты
Частичные возвраты
Опротестования
Особенности
  • Поддерживается возможность проводить срочные выплаты через систему банковских электронных срочных платежей (БЭСП). Срок проведения таких выплат составляет от 2 часов до 1 банковского дня в зависимости от банка. Информацию о проведении срочных выплат следует уточнять у курирующего менеджера ecommpay
  • В некоторых случаях проведённая выплата может быть возвращена банком; также возврат может быть инициирован самим пользователем через банк. Срок проведения возврата составляет от 1 до 5 рабочих дней в зависимости от банка
Организация и стоимость подключения по согласованию с курирующим менеджером ecommpay

Схема работы

В проведении отдельного платежа с использованием «Выплаты на банковские счета в России» задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также технические средства провайдера.



Основные операции

Интерфейсы Суммы, RUB Время**
Payment Page CMS Plug-ins Gate Dashboard минимум максимум базовое предельное
Выплаты + + *

* Максимальная сумма выплат в одном календарном месяце на один банковский счёт составляет 2 000 000,00 RUB.

** Базовое и предельное время определяются следующим образом:
  • Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время, определяемое для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа.
  • Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус decline. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ecommpay.

Сценарии использования

Проведение выплат с использованием метода «Выплаты на банковские счета в России» выполняется с уведомлением пользователей через веб-сервис мерчанта.

Рис.: Выплата через Gate



Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения платежей, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.

Выплаты через Gate

Общая информация

Для выплаты через Gate с использованием метода «Выплаты на банковские счета в России» со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате выплаты. Полная схема проведения выплаты представлена далее.



Рис.: Проведение выплаты через Gate

  1. Пользователь на стороне веб-сервиса инициирует выплату.
  2. От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение выплаты через Gate.
  3. Запрос на проведение выплаты поступает в платёжную платформу.
  4. Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
  5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности (подробнее).
  6. В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис провайдера.
  7. На стороне сервиса провайдера выполняется обработка платежа.
  8. От сервиса провайдера к платёжной платформе направляется информация о результате.
  9. От платёжной платформы к веб-сервису направляется оповещение о результате.
  10. От веб-сервиса пользователю направляется информация о результате выплаты.

Информация о формате запросов и параметрах инициирования выплат методом «Выплаты на банковские счета в России» через Gate, а также о формате оповещений о результатах выплат приведена далее, общая информация о работе с API представлена в разделе Работа с API.

Формат запросов

При работе с запросами на выплаты с применением метода «Выплаты на банковские счета в России» необходимо учитывать следующее:

  1. Должен использоваться запрос к конечной точке /v2/payment/banks/russia/payout, отправляемый методом POST. Этот запрос относится к группе запросов для проведения выплат на банковские счета пользователей /v2/payment/banks/{payment_method}/payout.
  2. В запросе должны использоваться следующие объекты и параметры:
    • general — основные сведения:
      • project_id — идентификатор проекта,
      • payment_id — идентификатор платежа,
      • signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
    • customer — сведения о пользователе:
      • ip_address — используемый IP-адрес;
      • id — идентификатор пользователя, уникальный в рамках проекта;
    • account — сведения о счёте пользователя:
      • number — номер счёта;
      • bik — банковский идентификационный код (БИК), который используется для банков, зарегистрированных в России;
      • customer_name — полные фамилия, имя и отчество пользователя;
    • payment — сведения о платеже:
      • amount — сумма платежа в дробных единицах валюты;
      • currency — код валюты платежа в формате ISO-4217 alpha-3;
      • description — описание платежа, в состав которого рекомендуется включать:
        • Код валютной операции. Этот код можно получить через курирующего менеджера ecommpay. В описании платежа этот код должен указываться первым и заключаться в фигурные скобки, внутри которых должны указываться символы VO и следующие за ними 5 цифр, без использования пробелов (например: {VO12345}).
        • Вид операции (например: перевод средств).
        • Основание платежа (например: договор № 1234567890).
        • Наименование работ, услуг, товаров (например: ремонт часов).
        • Указание на то, включается ли в сумму платежа НДС или нет (например: НДС не облагается).

        Например: {VO12345} Перевод средств по договору № 1234567890 ремонт часов НДС не облагается

  3. Дополнительно в запросе может требоваться указание следующих объектов и параметров:
    • customer — объект, содержащий сведения о пользователе:
      • first_name — имя пользователя;
      • middle_name — отчество пользователя;
      • last_name — фамилия пользователя;
    • sender — данные отправителя:
      • first_name — имя отправителя;
      • middle_name — отчество отправителя;
      • last_name — фамилия отправителя;
      • billing — объект с информацией о юридическом адресе отправителя:
        • address — юридический адрес отправителя;
        • country — код страны в формате ISO 3166-1 alpha-2;
        • city — название города;
    • payment — сведения о платеже:
      • is_fast — признак срочной выплаты (БЭСП). Допустимые значения: true — проведение срочной выплаты, false — проведение обычной выплаты.

        Этот параметр может указываться в запросе в том случае, когда подключена такая функциональность (проведение срочных выплат через систему БЭСП) и необходимо выбрать тип выплаты (срочная или обычная) для конкретного платежа. Информацию о проведении срочных выплат следует уточнять у курирующего менеджера ecommpay.

    Необходимость использования этих параметров следует уточнять у курирующего менеджера ecommpay. Если хотя бы один из тех параметров, которые должны использоваться, отсутствует в запросе, платёж отклоняется и к веб-сервису отправляется сообщение об ошибке. В этом случае для проведения выплаты необходимо повторное её инициирование.

  4. Валютой платежа может быть только RUB.
  5. Дополнительно могут использоваться все параметры, указанные в спецификации.

Таким образом, корректный запрос на выплату с применением метода «Выплаты на банковские счета в России» должен содержать идентификаторы проекта, пользователя и платежа, данные банковского счёта, IP-адрес и данные пользователя, данные отправителя, валюту, сумму и описание платежа, а также подпись:

Рис.: Пример запроса на выплату

{
    "general": {
        "project_id": 11111,
        "payment_id": "abc1234567",
        "signature": "signature"
    },
    "customer": {
        "id": "customer1",
        "ip_address": "1.1.1.1",
        "first_name": "Иван",
        "middle_name": "Иванович",
        "last_name": "Иванов"
    },
    "sender": {
        "first_name": "Петр",
        "middle_name": "Петрович",
        "last_name": "Петров",
        "billing":{
            "address": "ул. Мира",
            "country": "RU",
            "city": "г. Санкт-Петербург",
            "postal": "123321"
        }
    },
    "account": {
        "number": "01234567890000123456",
        "bik": "123456789",
        "customer_name": "Иванов Иван Иванович"
    },
    "payment": {
        "amount": 10000,
        "currency": "RUB",
        "description": "{VO12345} Перевод средств по договору № 1234567890 ремонт часов НДС не облагается",
        "is_fast": "false"
    }
}

Формат оповещений

Для оповещений о результатах выплат с применением метода «Выплаты на банковские счета в России» используется стандартный формат, описание которого представлено в разделе Оповещения.

В следующем примере оповещение свидетельствует о том, что в рамках проекта 123 для пользователя customer1 была успешно проведена выплата в размере 100,00 RUB на счёт № 01234567890.

Рис.: Пример оповещения о проведенной выплате

{
        "customer": {
            "id": "customer1"
        },
        "account": {
            "number": "01234567890"
        },
        "project_id": 123,
        "payment": {
            "id": "TEST_PAYMENT_20210819_001",
            "type": "payout",
            "status": "success",
            "date": "2021-08-19T07:59:50+0000",
            "method": "russian-banks",
            "sum": {
                "amount": 10000,
                "currency": "RUB"
            },
            "description": "example"
        },
        "operation": {
            "id": 50541010068181,
            "type": "payout",
            "status": "success",
            "date": "2021-08-19T07:59:50+0000",
            "created_date": "2021-08-19T07:59:28+0000",
            "request_id": "2d4df26c24a15eac604c...a7e932a8acb694f79ff75-00050542",
            "sum_initial": {
                "amount": 10000,
                "currency": "RUB"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "RUB"
            },
            "code": "0",
            "message": "Success",
            "provider": {
                "id": 5911,
                "payment_id": "12347368",
                "auth_code": "",
                "date": "2021-08-19T07:59:39+0000"
            }
        },
        "signature": "r9zjPkwOn4sd4n8Cdn8ZEU...adXmuJDolqJMj8kQxTnvh7dxg=="
    }
}

В следующем примере выплата была отклонена.

Рис.: Пример оповещения об отказе в проведении выплаты

{
        "customer": {
            "id": "customer2"
        },
        "account": {
            "number": "01234567890"
        },
        "project_id": 10801,
        "payment": {
            "id": "TEST_PAYMENT_20210819_001",
            "type": "payout",
            "status": "decline",
            "date": "2021-08-19T07:59:50+0000",
            "method": "russian-banks",
            "sum": {
                "amount": 10000,
                "currency": "RUB"
            },
            "description": "example"
        },
        "operation": {
            "id": 50541010068181,
            "type": "payout",
            "status": "decline",
            "date": "2021-08-19T07:59:50+0000",
            "created_date": "2021-08-19T07:59:28+0000",
            "request_id": "2d4df26c24a15eac604c...a7e932a8acb694f79ff75-00050542",
            "sum_initial": {
                "amount": 10000,
                "currency": "RUB"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "RUB"
            },
            "code": "20000",
            "message": "General decline",
            "provider": {
                "id": 5911,
                "payment_id": "12347",
                "auth_code": "",
                "date": "2021-08-19T07:59:39+0000"
            }
        },
        "signature": "r9zjPkwOn4sd4n8Cdn8ZEUHY9YlI1UL...adXmuJDolqJMj8kQxTnvh7dxg=="
    }
}

Дополнительные материалы

Для организации работы с выплатами через Gate также могут быть полезны следующие материалы:

Выплаты через Dashboard

При использовании интерфейса Dashboard можно проводить одиночные и массовые выплаты методом «Выплаты на банковские счета в России» с единичной и пакетной отправкой запросов, называемые соответственно одиночными и массовыми.

  • Для проведения одиночной выплаты необходимо открыть форму выплаты, задать все необходимые параметры (включая метод), отправить запрос и убедиться в проведении выплаты.
  • Для проведения массовой выплаты необходимо подготовить и загрузить файл с информацией обо всех целевых выплатах, отправить пакет запросов и убедиться в проведении выплат.

    При этом должен использоваться файл формата CSV, структура которого соответствует требованиям, представленным в разделе Сведения о массовых платежах, а параметры выплат должны соответствовать требованиям, представленным в разделе Payout by using Gate этой статьи (за исключением пункта о подписи).

Более подробная информация о проведении выплат через Dashboard представлена в отдельной статье.

Анализ результатов проведения платежей

Как и при работе с другими платёжными методами, которые предоставляет ecommpay, при использовании метода «Выплаты на банковские счета в России» доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.

Всю необходимую информацию можно получать и анализировать средствами Dashboard, в том числе с помощью аналитических панелей на вкладке Analytics.

Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:

  • Dashboard позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
  • Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.

С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ecommpay.