Если не смогли найти ответ, обратитесь в нашу службу технической поддержки:
care@mandarin.io
Routing - это продукт Mandarin для учета транзакций и их последующей передачи во внешние процессинговые и расчетные системы (банки-эквайеры, расчетные банки, учетные системы типа 1с и т.д.).
Routing позволяет взять обычную транзакцию с использованием банковской карты (функционал не ограничивается именно банковскими картами, использовано в качестве примера) и по заранее определенным правилам осуществить ее учет, например, разделить сумму транзакции на нескольких получателей.
Благодаря публичному API Routing может быть использован как в сочетании с процессингом Mandarin, так и со сторонним процессингом клиента.
Принцип работы
Основные сущности в системе - это счета (accounts), транзакции бизнес-клиента (мерчанта), который использует продукт Роутинг от Mandarin (далее - Контрагента) (transactions), операции движения денежных средств (operations) и правила обработки транзакций (operation rules).
Основной принцип работы заключается в следующем - каждая поступающая в сервис транзакция расщепляется на атомарные движения денежных средств. У каждой такой операции имеется счет плательщика (source) и счет получателя (destination). Правила обработки задаются заранее и содержат произвольный набор параметров транзакции (param1, param2 и т.д.), передаваемых в API при создании транзакции и шаблон движений денежных средств, которые необходимо создать.
Счета (Accounts)
Счета используются в системе для раздельного аналитического учета денежных средств.
К основным типам счетов относятся счета:
- business merchant account (могут иметь подтип sub merchant и master merchant)
- individual merchant account
- settlement account
- mandarin account
- bank account
Для всех счетов кроме mandarin account и bank account имеется api для просмотра баланса , а также получения списка операций (кроме bank account).
Business Merchant Account / Master Merchant
Данный счет создается в системе для каждого Контрагента и используется для учета комиссий Контаргента (ЮЛ/ИП) и прочих движений денежных средств.
Данный счет позволяет создавать счета саб-мерчантов.
Business Merchant Account / Sub Merchant
Данный счет создается для учета денежных средств ЮЛ/ИП, которые участвуют в расчетах с мастер-мерчантом. Создание осуществляется мастер-мерчантом через API.
Individual Merchant Account
Данный счет создается для учета денежных средств физических лиц.
Создание осуществляется мастер-мерчантом через API.
Settlement Account
Данные счета создаются через API мастер-мерчантом и служат для аналитического учета денежных средств в соответствии с бизнес требованиями Контрагента.
При создании таких счетов им присваиваются параметры (param1, param2 и т.д.), которые впоследствии используются в правилах обработки транзакций для мэпинга счетов, подставляемых в source и destination
Примерами таких счетов являются, например:
- Счет учета взаиморасчетов с эквайером по приему платежей
- Счет учета взаиморасчетов с эквайером по выплатам
- Доходы расчетного банка по операциям приема платежей
- Расходы расчетного банка по операциям приема платежей
- и т.д.
Mandarin Account
Данный счет создается специально для каждого Контрагента для учета взаиморасчетов с ним.
Bank Account
Используются для хранения банковских реквизитов. Может быть использован для операций вывода остатков денежных средств с внутренних счетов.
Транзакции Контрагента (transactions)
Для загрузки транзакций в сервис используется API (POST запрос).
При создании транзакций указывается набор дополнительных параметров (param1, param2 и т.д.), которые впоследствии будут использованы в правилах обработки транзакций. Параметры передаются как объект params с массивом key:value внутри.
При создании транзакции система на основании ее параметров находит соответствующее параметрам правило обработки и создает необходимые операции движения денежных средств.
Для каждой транзакции может быть создано 1 и более операций движения денежных средств.
В случае, если для транзакции не найдено ни одного подходящего правила распределения - транзакции будет присвоен соответствующий статус. В этом случае можно через API внести изменения в данную транзакцию и запустить поиск правил обработки повторно.
Операции движения денежных средств (operations)
Данная сущность похожа на банковскую или бухгалтерскую проводку - у каждой записи есть счет списания (source) и счет зачисления (destination), а также сумма. Дополнительно через правила обработки можно задать для каждой записи определенный набор тегов.
По факту создания всех операций, соответствующих транзакции, система отправляет уведомление в очередь.
В эту очередь смотрят коннекторы к учетным системам, которые трансформируют информацию в соответствие с техническими протоколами учетных систем или расчетных банков.
Правила обработки транзакций (operation rules)
Сущность, устанавливающая взаимосвязь между параметрами транзакции и тем, какие операции (их количество и порядок, значения для счета списания и счета зачисления, а также сумму) необходимо создать.
Правила создаются через API и исполняются в порядке приоритета.