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. Эти параметры используются для выбора правила обработки.
После создания транзакции система:
- анализирует переданные параметры;
- находит подходящее правило;
- создает одну или несколько операций;
- присваивает транзакции статус;
- передает уведомление о созданных операциях в очередь.
Если правило не найдено, транзакция получает отдельный статус. После этого ее можно обновить через API и повторить обработку.
Операции движения денежных средств
Операция — это отдельное движение денежных средств внутри Routing 2.0.
Для каждой операции фиксируется:
- счет списания;
- счет зачисления;
- сумма;
- дополнительные теги, если они заданы в правиле.
Одна транзакция может создать одну или несколько операций.
После создания всех операций по транзакции система отправляет уведомление в очередь. Коннекторы к внешним системам получают эти данные и преобразуют их в формат, который требуется расчетному банку, учетной системе или другому внешнему сервису.
Интеграция со сторонними системами
Routing 2.0 может использоваться не только с процессингом Mandarin.
Если клиент работает со сторонним процессингом, банк-эквайером, расчетным банком или собственной учетной системой, транзакции можно передавать в Mandarin через API для дальнейшего учета и обработки по правилам.
Это позволяет использовать Routing 2.0 как единый слой для:
- учета транзакций из разных источников;
- настройки правил распределения;
- подготовки данных для внешних систем;
- автоматизации обмена с банками и учетными платформами.