Сервис «Безопасные сделки»
Информация о сервисе
Безопасные сделки — это технология Сбера для защищенных расчетов между контрагентами через номинальный счет с несколькими бенефициарами. Технология позволяет при помощи API автоматизировать процесс управления сделками между заказчиками (бенефициарами) и поставщиками (исполнителями).
Описание работы сервиса
- Графическое описание
- Текстовое описание
Шаг | Что делаем | Подробности |
---|---|---|
1 | Клиент авторизуется через СберБизнес ID | Шаг реализуется с помощью СберБизнес ID - в рамках процесса авторизации через СберБизнес ID вы получаете access_token клиента и, при необходимости, дополнительную информацию о Клиенте. Подробно о подключении сервиса СберБизнес ID рассказали в соответствующем разделе документации. |
2 | Клиент регистрируется в продукте "Безопасные сделки" | С помощью метода /v1/nominal-account/signup выполняется единоразовый запрос для активации API при регистрации в продукте "Безопасные сделки" |
3 | Работа с реестром бенефициаров | С помощью набора методов для работы с реестром бенефициаров площадка имеет возможность:/v1/nominal-account/beneficiaries/create - отправить запрос на создание бенефициара/v1/nominal-account/beneficiaries/delete - отправить запрос на удаление бенефициара/v1/nominal-account/beneficiaries/update - отправить запрос на изменение информации по бенефициару/v1/nominal-account/beneficiaries/registry - отправить запрос на получение реестра бенефициаров/v1/nominal-account/beneficiaries/details/{id} - отправить запрос на получение сведений о бенефициаре/v1/nominal-account/beneficiaries/state/{id} - отправить запрос на получение состояния бенефициара/v1/nominal-account/beneficiaries/balance-report/{id} - отправить запрос на получение выписки по движению денежных средств на балансе бенефициара/v1/nominal-account/beneficiaries/moneyback - отправить запрос на вывод денежных средств бенефициара с номинального счета на расчетный счет /v1/nominal-account/beneficiaries/{beneficiaryId}/balance/events/{eventId} - отправить запрос на получение информации п ро денежный event конкретного бенефициара |
4 | Работа со смарт-контрактами | С помощью набора методов для работы со смарт-контрактами клиент имеет возможность:/v1/nominal-account/smart-contracts - отправить запрос на создание смарт-контракта/v1/nominal-account/smart-contracts/async - отправить запрос на создание смарт-контракта в асинхронном режиме/v1/nominal-account/smart-contracts/confirmstep - отправить запрос на подверждение шага смарт-контракта (в том числе заплатить налог в ФНС в пользу исполнителя смарт-контракта)/v1/nominal-account/smart-contracts/completion - отправить запрос на завершение смарт-контракта/v1/nominal-account/smart-contracts/{id} - отправить запрос на получение актуальных сведений о смарт-контракте |
5 | Работа с возвратами | С помощью метода /v1/nominal-account/refunds клиент имеет возможность запросить список событий возврата |
Пример реализации
В рамках Платформы клиент самостоятельно разрабатывает ролевую модель и настраивает права доступа к функциональности.
Участники
- Заказчик — ФЛ или представитель ИП/ЮЛ, который приобретает услуги или товары на Площадке;
- Исполнитель — ФЛ или представитель ИП/ЮЛ, который осуществляет продажу услуг или товаров на Площадке;
- Площадка — ИП/ЮЛ, владелец номинального счета, любой ресурс, который используется в рамках клиентского пути;
- Банк — совокупность API-методов в рамках сервиса «Безопасные сделки».
Используемые методы
№ | Метод | Точка вызова | Описание | Шаг в схеме |
---|---|---|---|---|
1 | /v1/beneficiaries/create | Создать бенефициара | 2 | |
2 | /v1/beneficiaries/details/{id} | Запросить сведения о бенефициарe | 4 | |
3 | /v1/smart-contracts | Создать смарт-контракт | 10 | |
4 | /v1/smart-contracts/confirmstep | Подтвердить шаг смарт-контракта | 14 | |
5 | /v1/smart-contracts/{id} | Запросить сведения о смарт-контракте | 18 |
Статусные модели
- Бенефициар
- Смарт-контракт
Инструкция по подключению сервиса "Безопасные сделки"
- Откройте расчетный счет в Сбере и заключите договор дистанционного банковского обслуживания СберБизнес. Открыть счет и заключить договор можно в любом отделении Сбера. Список офисов размещен на сайте Банка .
Результат шага: клиент имеет возможность осуществить вход в личный кабинет СберБизнес ПРОМ .
- Ознакомьтесь с договорной документацией на сайте Банка .
Результат шага: у клиента появляется представление о реализации сервиса на своей стороне.
- Пройдите шаги по подключению к Сбер API по инструкции.
Клиенту необходимо убедиться, что в UI СББОЛ (на тестовом и промышленном стенде) доступен личный кабинет SberAPI (Все продукты и услуги → Подключено), а среди доступных scope есть NOMINAL_ACCOUNTS. Если данного scope нет - напишите письмо в адрес поддержки (supportdbo2@sberbank.ru).
Результат шага: клиент подключен к каналу Сбер API. Личный кабинет клиента настроен и готов для дальнейшей работы.
- Установите \ проверьте TLS сертифкаты для тестового стенда по инструкции.
Результат шага: У клиента установлены и проверены TLS-сертификаты для тестового стенда.
- Откройте номинальный счет на тестовом стенде.
- Получите тестовый ГОСТ сертификат.
На ПРОМ для подписания запросов необходимо использовать УКЭП. Для тестирования использовать настоящий УКЭП нельзя. Следует воспользоваться тестовым сертификатом, выпущенным с помощью любого тестового УЦ. Например, можно воспользоваться тестовым УЦ КриптоПро .
Вспомогательная информация при выпуске тестового сертификата с помощью УЦ КриптоПро:
-
В разделе Тип требуемого сертификата выбрать Сертификат проверки подлинности клиента;
-
В разделе Параметры ключа в поле CSP выбрать Crypto-pro gost r 34.10-2012 cryptographic service provider;
-
В разделе Параметры ключа установить флаг Пометить ключ как экспортируемый (в случае, если хотите разместить сертификат на сервер);
-
В разделе Дополнительные параметры в поле Алгоритм хэширования выбрать ГОСТ Р 34.11-2012 256 бит.
- Передайте в адрес поддержки продукта (prom_teh_safe_pay@sberbank.ru) данные для открытия НС на тестовом стенде и подписанный произвольный контент тестовым ГОСТ сертификатом.
Данные (ИНН, КПП, ОГРН, clientId) необходимо присылать из тестового СберБизнеса (они отличаются от реальных).
Результат шага: Открыт номинальный счет на тестовом стенде. Клиенту в ответ придет письмо с номером номинального счета на тестовом стенде, который необходимо сохранить для дальнейшего использования.
- На тестовом стенде получите код авторизации по инструкции.
Сформируйте ссылку для получения кода авторизации.
Правила заполнения параметров для запроса /v2/oauth/authorize:
Параметр | Как заполнять | Пример | Описание |
---|---|---|---|
scope | openid NOMINAL_ACCOUNTS | openid NOMINAL_ACCOUNTS | Всегда одно и то же значение |
response_type | code | code | Всегда одно и то же значение |
client_id | Взять значение из личного кабинета | 9223376456675586 | Выдается при подключении к SberAPI |
state | Произвольный набор символов | abc123 | Подробное описание соответствующего параметра |
nonce | Произвольный набор символов | abc123 | Подробное описание соответствующего параметра |
По этой ссылке перейдите в браузер на страницу авторизации. После ввода аутентификационных данных браузер вернет Вас на Redirect_uri вместе с кодом авторизации (в адресной строке отобразится значение query parameter «code», что и будет являться кодом авторизации).
Пример кода авторизации:

Результат шага: в адресной строке у клиента отобразится значение query parameter «code», что и будет являться кодом авторизации.
- Обменяйте полученный код авторизации на токены доступа для тестового стенда и реализуйте процесс автоматического обновления токенов по Инструкции.
Результат шага: клиент обменял код авторизации на токены доступов для тестового стенда.
- Зарегистрируйте площадку на тестовом стенд е с помощью вызова метода POST/signup.
Необходимо сформировать отсоединенную подпись в формате BASE64.
Пример формирования подписи утилитой командной строки cryptcp :
/opt/cprocsp/bin/cryptcp -sign -thumbprint 71D1774E947175D8B7CDB5B4F25BCD09BB0CE85F -detached content.json
Значение параметра thumbprint находится в свойствах сертификата (в свойствах сертификата Крипто-Про этот параметр называется SHA1 отпечаток).
- После успешного выполнения операции подписи, появится файл с именем как у пописываемого, но с расширением .sgn (content.json -> content.sgn).
Проверить подпись можно на странице .
Подписывать необходимо значение параметра content (включая фигурные скобки) в кодировке utf8, внутри которого не должно быть переносов строк, табов и пробелов.
Пример подписываемого контента:
{"data":{"nominalAccountNumber":"40702810038000000000"},"agreement":"Клиент подтверждает, что операция совершается в соответствии с условиями Договора номинального счета"}
Такой принцип подписания необходимо использовать для всех POST запросов.
Результат шага: Площадка зарегистрирована на тестовом стенде. Клиенту в ответ придет параметр nominalAccountId, который необходимо сохранить для дальнейшего использования.
- Добавьте бенефициара(-ов) в реестр с помощью вызова метода POST/beneficiaries/create.
Результат шага: Бенефициар(-ы) добавлен в реестр. Клиенту в ответ придет параметр beneficiaryId, который необходимо сохранить для дальнейшего использования.
- Напишите письмо на адрес поддержки продукта (prom_teh_safe_pay@sberbank.ru) для пополнения баланса бенефициара на тестовом стенде.
В письме необходимо указать значения параметров:
- nominalAccountId - ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХХ
- beneficiaryId - ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХХ
- docAmount - ХХХ (сумма в копейках)
- docPurpose - Пополнение счета
Результат шага: Теперь все готово для реализации и тестирования клиентом всех методов API.
- По завершению тестирования напишите письмо в адрес поддержки продукта (prom_teh_safe_pay@sberbank.ru) для демонстрации демо реализации.
Результат шага: Клиент провел демонстрацию демо реализации совместно с командой продукта.
- Напишите письмо в адрес поддержки (supportdbo2@sberbank.ru) для разблокировки промышленного стенда.
Результат шага: Промышленный стенд разблокирован и готов для дальнейшей эксплуатации.
- Откройте номинальный счет для учета средств нескольких бенефициаров.
При открытии номинального счета выберите расчетный счет, с которого будет взиматься комиссия. Открыть счет можно в любом отделении Сбербанка. Список офисов размещен на сайте Банка .
Результат шага: Клиент открыл номинальный счет в отделении Сбера для учета средств нескольких бенефициаров.
- Получите открепляемый УКЭП ФЛ, который можно будет использовать на сервере площадки.
- Передайте в адрес поддержки продукта (prom_teh_safe_pay@sberbank.ru) подпись над произвольным контентом.
- Получите в ответ идентификатор сертификата.
- Обратитесь к территориальному менеджеру для заключения доп. соглашения, указав в нем полученный идентификатор сертификата.
Результат шага: Клиент получил от сертифицированного УЦ открепляемый УКЭП ФЛ.
-
Выполните пункты 4-6 применительно к промышленному стенду.
-
Выполните пункт 8 применительно к промышленному стенду.
🎉 Ваше приложение под ключено к промышленному стенду и готово к работе!
С целью корректного распределения платежей в реестре бенефициаров рекомендуем при формировании документа на пополнения номинального счета указывать в назначении платежа:
- для Бенефициаров — корпоративных клиентов (ЮЛ, ИП)
- ИНН Бенефициара и реквизиты Договора–основания (договор между бенефициаром и владельцем номинального счета).
Пример: «Пополнение ном. счета по бенефициару ИНН 7788995544, по договору от 15.04.2024 № 385-58, без НДС».
- для Бенефициаров — физических лиц
- ФИО в именительном падеже (полностью) и реквизиты Договора–основания (договор между бенефициаром и владельцем номинального счета).
Пример: «Пополнение ном. счета по бенефициару Иванов Иван Иванович, по договору от 15.04.2024 № 385-78, без НДС».
Cпецификация основного API
FAQ
Владельцем номинального счета является владелец площадки (web-ресурса), а зарегистрированные на ней покупатели/заказчики — бенефициары денежных средств по данному счету. В целях проведения безопасной сделки покупатель/заказчик заключает с продавцом сделку на платформе площадки с использованием безопасной сделки от Сбера. Технология таких расчетов позволяет площадке контролировать наличие денег покупателя/заказчика на номинальном счете под конкретную покупку и перечислять их продавцу/исполнителю только тогда, когда товар будет доставлен, услуга исполнена, либо по каким-либо иным признакам подтверждения сделки. В контракте может быть предусмотрено несколько сторон от поставщика/исполнителя, например — транспортная компания. Также допускается финансирование покупателя/заказчика за счет кредитных средств, перечисленных на номинальный счет площадки.
Интеграция с площадкой осуществляется по API. Таким образом, площадке необходимо адаптировать свой интерфейс личного кабинета под логику работы со смарт-контрактами, а также предусмотреть в договорной документации использование номинального счета.
Смарт-контракт создается между Банком и площадкой и подписывается самой площадкой. Подписание смарт-контракта всеми участниками сделки не требуется.
Смарт-контракт не заменяет договор, а является инструментом, помогающим автоматизировать расчеты между участниками сделки, в нем отражается финансово-значимая информация из договорных отношений клиентов площадки.
На номинальный счет можно перечислять средства только в валюте Российской Федерации (рубли)
Главным конкурентным преимуществом расчетов через смарт-контракты является безопасность сделки между покупателем и продавцом/заказчиком. За счет использования технологии холдирования денежных средств на номинальном счете, продавец может быть уверен, что он получит оплату за товар или услугу, а покупатель гарантирует наличие у него необходимой суммы, при этом без риска ее потерять. Это дает площадке больше доверия со стороны пользователей, что позволяет дополнительно привлекать клиентов для безопасных расчетов по сделкам.
Юридическое лицо/индивидуальный предприниматель — резидент РФ, у которого открыт в Сбербанке расчетный счет.
Юридическое лицо, индивидуальный предприниматель или физическое лицо, которое приняло правила платформы и расчеты через номинальный счет, владеющее денежными средствами, находящимися на номинальном счете торговой площадки, (бенефициаром может быть только резидент РФ). Бенефициар может иметь расчетный счет как в Сбербанке, так и в любом другом коммерческом банке РФ.
Вознаграждение банка взимается с расчетного счета площадки в виде процента с каждой сделки по факту перечисления средств с номинального счета по каждой исполненной транзакции согласно тарифам банка (процент от суммы платежа, комиссия включает НДС).
Да, мы предоставляем такую возможность. Тестовый доступ аналогичен промышленному API.
Для работы с нашим сервисом и подписания смарт-контрактов площадке необходимо подключить УКЭП.
Наличие у площадки УКЭП является обязательным условием подключения к сервису. Список уполномоченных УЦ . Подробнее об УКЭП .
Такая информация может быть доступна бенефициару в случае настроек личного кабинета площадки.
Нет. Однако допускается пополнение номинального счета третьим лицом, в том числе за счет кредитных средств.
- Невозможно взыскание денежных средств по обязательствам владельца номинального счета — площадки.
- Невозможно взыскание денежных средств с бенефициаров по запросам ФНС.
- Возможно взыскание денежных средств с бенефициаров по судебному решению.