Описание основного бизнес‑процесса
Немного определений:
- Площадка (система) — сервис организации или предпринимателя, которому нужно интегрироваться с банком для автоматизации оплат, владелец номинального счёта.
- Номинальный счёт — счёт, открываемый площадке для операций с деньгами, права на которые принадлежат другим лицам — бенефициарам.
- Бенефициар — лицо, которому принадлежат деньги на номинальном счёте (может быть как заказчик, так и исполнитель — зависит от бизнес‑схемы площадки).
- Сделка — сущность в API, в которой указываются плательщики и получатели денег для проведения платежей.
- Договор оферты, правила площадки — в документации
contract_offer, документ, который загружается после создания бенефициара. Он регулирует отношения между площадкой и бенефициаром. - Договор оказания услуг или акт выполненных работ — в документации
service_agreement, документ, который загружается после создания сделки. Служит обоснованием распоряжения на выплату для банка.
Основной процесс
- Клиент пополняет номинальный счёт по реквизитам, через QR‑код по СБП или через эквайринг с целью оплаты услуги по договору.
- После поступления денег площадке нужно передать данные по бенефициару (
create_beneficiary_*) и Загрузить договор оферты (если ранее бенефициар не был создан). - После регистрации бенефициара нужно Создать виртуальный счёт, если он ещё не создан.
- Затем — Идентифицировать платёж. Деньги будут зачислены на виртуальный счёт бенефициара.
- После этого нужно Создать сделку и Загрузить к ней документ для каждого плательщика.
- И Исполнить сделку — будут произведены выплаты по указанным реквизитам.
Управление бенефициарами
Создание бенефициара
В системе в рамках номинального счёта для проведения денежных операций обязательно нужно предоставлять информацию о владельцах денег — бенефициарах.
Бенефициары делятся на 3 типа:
- Юридические лица
- Индивидуальные предприниматели (в том числе самозанятые)
- Физические лица (в том числе самозанятые)
Для создания бенефициара в системе используйте соответствующие методы:
Основной ключ для бенефициара — его идентификатор id. В системе не может быть несколько одинаковых ИНН у разных бенефициаров в пределах одного счёта, за исключением ИП. Его можно зарегистрировать и как физлицо, и как ИП с одним ИНН. Поэтому бенефициара нужно создавать только один раз, а затем актуализировать данные через методы обновления.
После создания бенефициара:
- Загрузите договор оферты методом Загрузить документ по бенефициару, чтобы бенефициар мог участвовать в сделках
- Если бенефициар ИП или физлицо, добавьте документы методом Добавить документы бенефициара — ИП или физлица (v3)
- Проверяйте статус валидации документов с помощью метода Получить документы бенефициара — ИП или физлица (v3)
Бенефициар может совершать сделки только после добавления договора оферты.
Изменения информации по бенефициару
При изменении данных у бенефициаров вам нужно передать актуальную информацию банку. Возможно обновление бенефициара в деактивированном состоянии. Для обновления данных используйте методы:
- Добавить документы бенефициара — ИП или физлица (v3) (ФИО, паспортные данные, ИНН)
- Обновить бенефициара — юрлицо
Активация и деактивация бенефициара
Деактивировать бенефициара нужно, если:
- Прекращаются договорные отношения между площадкой и бенефициаром
- Бенефициар вступает в процедуру банкротства или ликвидации
- Бенефициара‑физлица или ИП больше нет в живых
Если клиента в дальнейшем нужно пометить как активного, вызовите метод Активировать бенефициара.
В соответствии с договором площадка должна вести актуальную информацию о действующих бенефициарах и предоставлять её своевременно. Методы активации и деактивации бенефициаров обязательны для реализации.
Текущие зарегистрированные бенефициары
Посмотреть всех зарегистрированных бенефициаров можно через метод Получить список бенефициаров, а подробную информацию — через Получить данные бенефициара.
Управление виртуальными счетами
Чтобы присвоить бенефициару деньги, используется виртуальный счёт (тип standard). Виртуальный счёт — сущность, в рамках которой отслеживается текущий баланс бенефициара. У бенефициара может быть несколько виртуальных счетов.
Виртуальный счёт хранит информацию о принадлежности к бенефициару, доступных и заблокированных средствах.
- Доступные средства — можно вывести или использовать в сделке.
- Заблокированные средства — деньги, участвующие в процессе. Например, при создании сделки они блокируются; при выводе средств — блокируются до момента проведения платежа.
Типы виртуальных счетов
standard— предназначен для основного процесса сервиса (используется по умолчанию). Позволяет зачислять деньги, участвовать в сделках как плательщик и выводить средства бенефициара.for_ndfl— предназначен для накопления денег для дальнейшей оплаты налогов. Позволяет пополнять счёт стандартно и через сделку с типом получателяndfl_to_virtual_account, а затем оплачивать налоги (подробнее в разделе Накопление и оплата налогов).
Основные методы для работы с виртуальными счетами:
- Создать виртуальный счёт — после этого можно проводить финансовые операции
- Получить данные виртуального счёта — например, чтобы узнать баланс
- Получить список виртуальных счетов
Счёт типа for_ndfl используется для накопления налогов и их уплаты методом Выплатить налоги исполнителю. Виртуальный счёт можно пополнять стандартным способом, если требуется срочная оплата налогов до накопления нужной суммы по сделкам.
Идентификация платежа
После того как клиент отправил деньги на номинальный счёт, площадке нужно идентифицировать их — указать, кому они принадлежат.
Чтобы узнать о пришедших деньгах, используйте метод Получить список платежей с параметром фильтра "identify": false. В ответе будет список неидентифицированных платежей.
Подробная информация по платежу — метод Получить данные платежа. Данные по платежу не преобразуются — банк возвращает то, что получил.
Идентификация платежа выполняется методом Идентифицировать платёж. Один платёж может принадлежать нескольким клиентам — это нужно указать в параметрах идентификации.
Площадке необходимо идентифицировать платёж в течение 96 часов, иначе сервис автоматически вернёт деньги отправителю — через 96 часов с момента их поступления на номинальный счёт. Неидентифицированный платёж с выполненным возвратом будет иметь тип unrecognized_refund.
Для идентификации платежа в системе должен быть зарегистрирован бенефициар и создан виртуальный счёт.
Если платёж вернулся из‑за неверных реквизитов, его можно идентифицировать к виртуальному счёту параметром is_returned_payment в методе Идентифицировать платёж.
Если исходящий платёж по сделке был возвращён банком‑получателем (неверные реквизиты, счёт получателя закрыт и прочее), используйте метод Идентифицировать возврат. Возврат будет идентифицирован к первоначальной сделке для повторной отправки денег.
Эмуляция входящих платежей
Эмуляция пополнения номинального счёта описана здесь.
На тестовом слое время на идентификацию платежа до автовозврата денег сокращено до 30 минут.
Управление сделками
Создание сделки
Метод Создать сделку — начало процесса оплаты услуги. В сделке нужно указать стороны получателей и отправителей.
Отправители/плательщики (payers) — список виртуальных счетов и сумм по сделке. При создании сделки на счетах будет блокировка денег, чтобы они не были доступны для других операций.
Получатели (recipients) могут быть следующих типов:
payment_contract— получателем является исполнитель. Передаются банковские реквизиты, будет сформирован платёж по реквизитам.commission— получателем является площадка. Будет сформирован платёж на расчётный счёт площадки.ndfl— получателем является налоговый орган. Передаются реквизиты и дополнительные поля для налоговой, будет сформирован платёж по реквизитам.ndfl_to_virtual_account— получателем является виртуальный счёт бенефициара (накопление денег для оплаты налогов, например для самозанятых).payment_contract_by_sbp— отправка денег получателю через СБП B2C. Опция подключается по согласованию, лимит до 1 000 000 рублей на операцию.payment_contract_by_sbp_v2— отправка денег получателю через СБП B2C по новому способу без процессинга. Переключение между старым и новым способом происходит через поддержку.payment_contract_to_card— отправка денег получателю на банковскую карту. Минимальная сумма операции — 1 рубль, остальные лимиты зависят от платёжной системы получателя.
Чтобы сделку можно было оплатить, нужно добавить документы по сделке для каждого плательщика. Сделать это можно через метод Загрузить документ по сделке.
Входящий параметр ext_key — ключ идемпотентности. Он нужен, чтобы избежать дублирования сделок. Если при создании сделки произошла, например, сетевая ошибка и неизвестно, создалась ли сделка, то при повторном запросе с тем же ext_key сервис вернёт, что такая сделка уже есть.
Изменение сделки
Для изменения реквизитов или ранее указанных сумм используйте Обновить сделку.
Сделку можно отменить методом Отменить сделку — деньги будут разблокированы на виртуальных счетах плательщиков.
Сделку в статусе correction, в которой один плательщик, можно отменить методом Отменить сделку в коррекции с одним плательщиком, но прошедшие платежи уже нельзя будет вернуть.
Изменение сделки возможно при наличии у неё статуса new (создана) или correction (исправление). Изменить сделку после исполнения или отмены не получится.
После создания сделки нельзя менять количество получателей или плательщиков.
- В случае с плательщиками можно менять только суммы платежей
- В случае с получателями можно изменить сумму и реквизиты платежей, а также заменить один тип получателя на другой (только для типов
payment_contract,payment_contract_by_sbp,payment_contract_by_sbp_v2,payment_contract_to_card)
Исполнение сделки
Когда по сделке нужно произвести выплаты, используйте метод Исполнить сделку. После вызова будут сформированы платежи с номинального счёта по указанным реквизитам получателей. Отследить выполнение платежей можно методом Получить данные сделки — он возвращает данные по сделке и сформированным платежам.
Платежи для получателей payment_contract исполняются не моментально. В момент вызова формируется платёжное поручение, которое будет исполнено при первой возможности. Узнать подробнее вы можете в Графике проведения платежей.
Сделку нельзя исполнить, если:
- По сделке у плательщиков не добавлен договор оказания услуг
- У плательщиков не прикреплён договор оферты
Если в платёжном поручении допущена ошибка и банк получателя просит уточнить реквизиты, напишите в чат интернет‑банка Точки:
«Прошу уточнить реквизиты по платежу (номер/дата/сумма) со счёта (номер номинального счёта площадки). Верным считать: (указать только верные реквизиты, которые нужно уточнить — например, наименование получателя или номер счёта)».
Накопление и оплата налогов
Система позволяет при исполнении сделки отчислять определённую сумму на специальный виртуальный счёт типа for_ndfl. При создании сделки для получателя с типом ndfl_to_virtual_account нужно указать номер виртуального счёта for_ndfl. Деньги перейдут с виртуального счёта плательщика на виртуальный счёт получателя.
При наступлении срока уплаты налогов методом Выплатить налоги исполнителю можно совершить платёж в бюджет или вернуть деньги бенефициару, если оплата налогов не потребовалась.
Правила использования метода:
- Если оплата идёт на счёт исполнителя, ИНН получателя сверяется с ИНН бенефициара, которому принадлежит виртуальный счёт
- В методе может быть выбрано сразу два получателя (ФНС и бенефициар) либо один из них
После выполнения метода сначала создаётся платёж в налоговую (если он есть), затем — платёж исполнителю (если он есть). На виртуальном счёте деньги сразу блокируются до обработки платежей.
- Платёж в налоговую будет иметь тип
ndfl_from_virtual_account - Платёж исполнителю будет иметь тип
ndfl_to_executor
По мере прохождения платежей сумма блокировки уменьшается:
- Если платёж прошёл успешно, заблокированная сумма уменьшается на сумму платежа (в итоге блокировка станет 0)
- Если платёж исполнителю не прошёл, заблокированная сумма перейдёт в доступные средства, и можно повторить операцию уже без оплаты в налоговую
Возможна ситуация, когда платёж ушёл из банка, банк получателя начал его обрабатывать и отменил. Например, из‑за отсутствия нужного счёта. В этом случае платёж будет помечен как отменённый, и деньги вернутся на виртуальный счёт в доступные средства.
Для отслеживания статуса платежа используйте Получить данные платежа до статуса PAID или CANCELED.
Чтобы отслеживать возвраты платежей банком получателя, используйте list_payments с частотой, например, раз в час и фильтрами type = ndfl_from_virtual_account / ndfl_to_executor, status = CANCELED. Также можно использовать фильтр update_date, чтобы не отображать ранее полученные платежи.
Правило заполнения назначения платежа при оплате налога за третье лицо:
ИНН того, кто платит // КПП того, кто платит // Наименование того, за кого платим // дополнительная информация (налог, период и т. д.), НДС не предусмотрен
СБП C2B — пополнение номинального счёта
Чтобы пополнять номинальный счёт через СБП, нужно протестировать метод Создать QR-код для C2B пополнения. На продакшене он включается по запросу.
Таким способом счёт могут пополнить только клиенты банков‑участников СБП. Их список вы можете найти здесь, на вкладке «Оплаты». Лимит на пополнение — до 1 000 000 ₽ за одну операцию.
Уникальный QR‑код и ссылка (актуально для мобильных приложений) генерируются для каждого пополнения. После использования QR‑кода или по истечении 3 суток (если QR‑кодом не воспользовались) он становится недействителен.
После пополнения счёта через QR‑код в системе появится платёж с типом incoming_sbp и дополнительным полем qrcode_id, которое соответствует идентификатору QR‑кода.
Комиссия за пополнение указана в тарифах банка.
Перед использованием метода на продакшене нужно зарегистрировать организацию в Системе быстрых платежей. Для этого обратитесь в поддержку сервиса.
Вам понадобятся: ОГРН, название ТСП (торгово‑сервисное предприятие), номер телефона ТСП (мобильный) и фраза‑заявление от руководителя организации (фразу сообщат в чате поддержки интеграции).
График проведения платежей
Платежи по реквизитам
Во всех пунктах время указано по Москве.
- 01:10 – 19:50 по будням
- 11:10 – 16:50 по воскресеньям, если банк получателя принимает деньги по воскресеньям
Особенности перевода денег в Сбербанк на счета 40702, 40802, 40817, 40820:
- 01:00 – 21:15 по будням
- 03:00 – 21:15 по субботам
- 07:00 – 21:15 по воскресеньям
По регламенту проведения платежей в праздники мы сообщаем дополнительно, получив информацию о работе РКЦ от ЦБ РФ. Новости по платежам в праздничные дни размещаем также в Telegram-канале «Номинальный счёт для онлайн-платформ от Точка Банк».
Платежи внутри Точка Банка
24х7, проходят мгновенно, даже в выходные. Поэтому получатель увидит их сразу.
Платежи по номеру карты
24х7, обычно с момента создания до исполнения платежа проходит не более 2 минут. Максимально возможное время платежа в процессе исполнения — 1 час. Затем платёж переходит в один из конечных статусов.
Платежи по номеру телефона (СБП)
24х7, деньги получатель увидит у себя в течение 5 минут после создания выплаты. Но если вы используете старый способ выплат по СБП, то статус проведения платежа может измениться в течение 1,5 часов. Если хотите перейти на новый способ выплат, сообщите об этом в нашу техподдержку.