Перейти к основному содержимому

Routing 2.0 с использованием стороннего процессинга

Routing 2.0 — сервис Mandarin для учета транзакций, их обработки по заданным правилам и передачи данных во внешние процессинговые, расчетные и учетные системы.

Сервис можно использовать как вместе с процессингом Mandarin, так и со сторонним процессингом клиента. Например, если платежи проходят через банк-эквайер, расчетный банк или другую платежную инфраструктуру, Routing 2.0 помогает отразить эти транзакции внутри Mandarin, разложить их на отдельные операции и передать данные дальше: в банк, 1С или другую учетную систему.

Для чего нужен Routing 2.0

Routing 2.0 помогает компаниям автоматизировать учет и обработку транзакций в сложных платежных сценариях.

Сервис позволяет:

  • загружать транзакции через API;
  • учитывать операции, которые проходят через процессинг Mandarin или сторонние системы;
  • разделять одну транзакцию на несколько движений денежных средств;
  • настраивать правила обработки по параметрам транзакции;
  • вести раздельный аналитический учет по счетам;
  • передавать данные во внешние расчетные и учетные системы;
  • контролировать статусы транзакций и операций.

Например, если клиент оплачивает товар или услугу банковской картой, Routing 2.0 может принять данные о транзакции, определить подходящее правило обработки и создать несколько операций: в пользу продавца, платформы, расчетного банка или другого участника схемы.

Как работает Routing 2.0

В основе сервиса — четыре основные сущности:

  • accounts — счета для аналитического учета;
  • transactions — транзакции бизнес-клиента;
  • operations — операции движения денежных средств;
  • operation rules — правила обработки транзакций.

Компания передает транзакцию в Routing 2.0 через API. Вместе с транзакцией можно передать дополнительные параметры: param1, param2 и другие значения, которые нужны для выбора правила обработки.

После получения транзакции система проверяет ее параметры, находит подходящее правило и создает одну или несколько операций движения денежных средств.

У каждой операции есть:

  • source — счет списания;
  • destination — счет зачисления;
  • сумма операции;
  • дополнительные теги, если они предусмотрены правилами обработки.

По сути, операция похожа на банковскую или бухгалтерскую проводку: она фиксирует, откуда и куда должна быть отражена сумма внутри расчетной модели.

Правила обработки транзакций

Правила обработки определяют, как система должна работать с транзакцией.

В правиле задается:

  • по каким параметрам транзакции его применять;
  • какие операции нужно создать;
  • сколько таких операций будет;
  • какие счета использовать как source и destination;
  • какие суммы указывать;
  • в каком порядке выполнять операции;
  • какие теги присваивать операциям.

Правила создаются через API и исполняются в порядке приоритета.

Если для транзакции не найдено подходящее правило, ей присваивается соответствующий статус. После этого данные можно скорректировать через API и повторно запустить поиск правила обработки.

Счета в Routing 2.0

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

В системе доступны следующие типы счетов:

  • Business Merchant Account / Master Merchant;
  • Business Merchant Account / Sub Merchant;
  • Individual Merchant Account;
  • Settlement Account;
  • Mandarin Account;
  • Bank Account.

Для счетов, кроме Mandarin Account и Bank Account, доступен просмотр баланса через API. Для всех счетов, кроме Bank Account, можно получать список операций.

Business Merchant Account / Master Merchant

Счет создается для основного контрагента — юридического лица или ИП, который использует Routing 2.0.

Он применяется для учета комиссии контрагента, дохода платформы и других движений денежных средств. Через Master Merchant можно создавать счета сабмерчантов.

Business Merchant Account / Sub Merchant

Счет создается для юридических лиц или ИП, которые участвуют в расчетах с мастер-мерчантом.

Например, это могут быть продавцы, исполнители, партнеры или другие участники платформы. Создание таких счетов выполняется мастер-мерчантом через API.

Individual Merchant Account

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

Он может применяться в сценариях, где участником расчетов является физическое лицо: исполнитель, продавец, подрядчик или другой получатель. Создание выполняется мастер-мерчантом через API.

Settlement Account

Settlement Account создается через API и используется для аналитического учета в соответствии с бизнес-логикой клиента.

Такие счета помогают отражать взаиморасчеты с участниками платежной схемы, даже если они не являются конечными получателями средств.

Например, Settlement Account можно использовать для учета:

  • взаиморасчетов с эквайером по приему платежей;
  • взаиморасчетов с эквайером по выплатам;
  • доходов расчетного банка по операциям приема платежей;
  • расходов расчетного банка по операциям приема платежей;
  • других внутренних расчетных контуров клиента.

При создании Settlement Account можно передавать параметры param1, param2 и другие значения. В дальнейшем они используются в правилах обработки транзакций для подстановки нужных счетов в source и destination.

Mandarin Account

Mandarin Account создается для учета взаиморасчетов Mandarin с конкретным контрагентом.

Этот счет используется внутри расчетной модели сервиса и не предназначен для самостоятельного управления со стороны клиента.

Bank Account

Bank Account используется для хранения банковских реквизитов.

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

Транзакции

Транзакции передаются в Routing 2.0 через API с помощью POST-запроса.

При создании транзакции клиент может указать дополнительные параметры в объекте params в формате key:value. Эти параметры используются для выбора правила обработки.

После создания транзакции система:

  1. анализирует переданные параметры;
  2. находит подходящее правило;
  3. создает одну или несколько операций;
  4. присваивает транзакции статус;
  5. передает уведомление о созданных операциях в очередь.

Если правило не найдено, транзакция получает отдельный статус. После этого ее можно обновить через API и повторить обработку.

Операции движения денежных средств

Операция — это отдельное движение денежных средств внутри Routing 2.0.

Для каждой операции фиксируется:

  • счет списания;
  • счет зачисления;
  • сумма;
  • дополнительные теги, если они заданы в правиле.

Одна транзакция может создать одну или несколько операций.

После создания всех операций по транзакции система отправляет уведомление в очередь. Коннекторы к внешним системам получают эти данные и преобразуют их в формат, который требуется расчетному банку, учетной системе или другому внешнему сервису.

Интеграция со сторонними системами

Routing 2.0 может использоваться не только с процессингом Mandarin.

Если клиент работает со сторонним процессингом, банк-эквайером, расчетным банком или собственной учетной системой, транзакции можно передавать в Mandarin через API для дальнейшего учета и обработки по правилам.

Это позволяет использовать Routing 2.0 как единый слой для:

  • учета транзакций из разных источников;
  • настройки правил распределения;
  • подготовки данных для внешних систем;
  • автоматизации обмена с банками и учетными платформами.