Введение
Начиная с версии 3.23.01 доход распределяется между всеми участниками иерархически. Это повышает точность расчётов, позволяет управлять параметрами выплаты удержаний и настраивать модель тарифов в зависимости от платёжного потока.
Эта модель позволяет переопределять тарифы, а также сумму удержания и дату его выплаты.
Порядок распределения дохода для транзакций sale
При обработке транзакции SMS или DMS все участники удерживают свою комиссию из суммы Sale согласно заданным ставкам. Ставки применяются от Bank к Merchant. Каждый участник потока видит только определённые для него ставки, не зная ставок предшествующих участников платёжного потока. Для транзакций Sale последним участником является Reseller, и его ставка будет окончательной.
Порядок распределения дохода для транзакций Transfer
При обработке транзакции Transfer расчёт тарифа выполняется так же, за исключением дополнительного участника — получателя средств. Последний участник этого потока — торговец, а получатель видит свой тариф как окончательный.
Учёт комиссий
Первый элемент на диаграмме — общая комиссия, учтённая для транзакции. Для простоты рассмотрим транзакцию Sale в Проекте без Реселлера. Таким образом, с Торговца удерживается комиссия, определённая в тарифном плане Менеджера. В этом случае расчёт комиссии идёт по приоритетной цепочке Банк → Дилер → Менеджер. Это означает, что Банк первым получает свою долю согласно тарифу Банка, затем удерживается комиссия Дилера, а Менеджер получает остаток.
Существует вероятность, что комиссия не будет соответствовать ожидаемой.
Example 1:
Посмотрим, как изменится расчёт комиссии в зависимости от применённых диапазонов.
Тарифный план дилера определяется следующим образом: если сумма транзакции находится между 0 и 1000 USD, ставка дилера составляет 5 USD; если больше 1000 USD — 8 USD.
Ставка менеджера фиксирована: 10 USD;
Предположим, что Менеджер не заметил диапазоны, заданные Dealer, и ожидает комиссию в 5 USD
Как видно на рисунке, комиссия Dealer рассчитывается раньше комиссии Manager, и фактическая комиссия Manager будет ниже ожидаемой – 2 USD.
Example 2:
Со ставками, заданными для BIN, страны или банка, следует быть гораздо внимательнее. Предположим, что диапазоны Dealer и Manager одинаковы.
Ставка дилера: для всех транзакций 5 USD, за исключением BIN 233445, для которого ставка составляет 12 USD;
Ставка Менеджера: предположим, что Менеджер не учёл ставку Dealer для BIN и задал фиксированную ставку 10 USD.
Рассмотрим транзакцию с BIN 456778. Общая комиссия будет распределена следующим образом: 5 USD для Dealer и 5 USD для Manager. Транзакция с BIN 233445 приносит 12 USD для Dealer, а комиссия Manager будет отрицательной: -2 USD, поскольку общая комиссия в тарифном плане Manager составляет 10 USD.
Удержание и его перенос
Чтобы застраховать риски Торговца, можно определить удержание для конкретных Торговцев. Система управления выплатами обеспечивает учёт замороженных удержаний и сумм удержаний, подлежащих возврату Торговцу. Удержание покрывает риски, связанные с Chargeback, инициированными недовольными клиентами при расторжении договора с Торговцем. Операция переноса выполняется не более чем за 182 календарных дня. Период выплаты и процент удержания определяются в тарифах.
Алгоритм расчёта и переноса удержания
Каждый участник платёжного потока, кроме торговца, может определить собственные процент удержания и период удержания. Процент и период удержания не зависят друг от друга.
Согласно рисунку, для транзакции t1 Банк удерживает из общей комиссии значение HB за период ΔtB, определённый в тарифе Банка. Таким образом, Банк удерживает сумму HB за период [t1, t2] на своём счёте для покрытия рисков Chargeback и мошеннических операций. После истечения периода ΔtB, если не было отрицательных транзакций, Банк выплачивает удержанные средства Дилеру. Этот процесс CB называется переносом. Такая же схема применяется к любому участнику платёжного потока.
Общий доход любого участника составляет: комиссия + холд участника – холд предыдущего участника.
Для банка: в момент t1 за период ΔtB доход будет пополнен на сумму удержания HB, а в момент t2 эта же сумма будет вычтена.
Для дилера: в момент t1 за период ΔtD доход будет пополнен на сумму удержания HD, в момент t3 та же сумма будет списана, а в момент t2 доход дилера пополняется на сумму переноса CB, возвращённую банком.
Для Менеджера: в момент t1 за период ΔtM доход будет пополнен на сумму удержания HM, в момент t4 та же сумма будет списана, а в момент t3 доход Менеджера пополняется на сумму переноса CD, возвращённую Дилером.
Для Реселлера: в момент t1 за период ΔtR доход будет пополнен на сумму удержания HR, в момент t5 та же сумма будет списана, а в момент t4 доход Реселлера пополняется на сумму переноса CM, возвращённую Менеджером.
Для торговца: торговец не может определять значения удержания; в момент t1 за период ΔtR из дохода будет удержана сумма HR, а в момент t5 будет зачислена та же сумма.
При правильном задании параметров удержания процент удержания участника платёжного потока будет не меньше процента удержания предыдущего участника. В противном случае возникают финансовые риски. То же относится к параметру периода удержания.
Конфигурация таблицы тарифов
Для большей гибкости при определении ставок вы можете использовать интерфейс определения таблицы ставок.
Для типов транзакций, инициирующих заказы, кроме перевода, поддерживается таблица ставок диапазона одного уровня. Диапазон можно определить по сумме транзакции, общей сумме и общему числу транзакций, обработанных шлюзом в текущем месяце.
Для транзакций, не инициирующих заказы, можно определить следующие диапазоны: отношение текущего числа транзакций этого типа к общему числу транзакций за текущий или прошлый месяц.
Для транзакций Transfer можно определить два уровня диапазонов в таблице тарифов. Диапазоны первого уровня такие же, как для транзакции, инициирующей заказы. Второй уровень — направление перевода. Направления перевода определяются на уровне экземпляра SBC. Стандартные направления: с карты Visa на любую другую карту, с карты MasterCard на любую другую карту, перевод внутри банка и многие другие. Чтобы выбрать необходимые направления, создайте запрос на улучшение.
Расчёт агрегированных величин (общей суммы, общего количества и соотношения) по умолчанию выполняется на уровне шлюза. Для прозрачности ставок следует выбрать расчёт агрегированных величин на уровне конечной точки или проекта.
Рассмотрим конфигурацию таблицы тарифов для транзакций Transfer
Предположим, что Шлюз поддерживает переводы для различных типов карт. Тариф перевода зависит от общей суммы транзакций, обработанных Шлюзом. Лимит установлен в размере 10 000 000. Можно определить разные тарифы в зависимости от направления перевода. Если общая сумма меньше 10 000 000, применяются тарифы для следующих направлений: Visa2Any, MasterCard2Any, Any2Any; в противном случае устанавливается общий тариф. В этом случае действует следующая иерархия:
Рассмотрим поток транзакции по карте 4444 5555 6666 1111. Поскольку сначала диапазоны первого уровня определяются для общей суммы транзакций, в момент обработки сначала проверяется общая сумма транзакций, обработанных Шлюзом. Предположим, что общая сумма равна 5 000 000 — это означает, что поток идёт по верхней ветви. Затем определяется диапазон для типа карты; обрабатываемая карта — Visa. Для карт Visa существует направление перевода Visa2Any. Это означает, что система выберет в таблице тариф: < 10 000 000, Visa2Any.
Карта может одновременно попасть в несколько направлений. В этом случае направление выбирается в следующем порядке приоритета: перевод внутри банка, затем направление, где определены и отправитель, и получатель (например, Visa2Visa), затем только отправитель (например, Visa2Any), только получатель (например, Any2Visa), направление по умолчанию.
Можно определять диапазоны направлений как первый уровень иерархии. В этом случае при определении таблицы тарифов сумма и число транзакций будут рассчитываться отдельно для каждого направления.
Описание: Complex rates
Чтобы правильно определить тарифный план, необходимо понимать, как это сделать для разных участников платёжного потока. Рассмотрим простой случай. Пусть комиссия участников A и B определяется только минимальным значением и не зависит от суммы транзакции. Участник A ожидает доход ya, участник B — yb. В таком случае определите тарифный план с минимальной ставкой ya+yb.
Та же логика применяется к тарифам, для которых определена только процентная ставка. Предположим, комиссия участников A и B задана только как процент от суммы транзакции. Участник A ожидает комиссию Ra, участник B — Rb. В таком случае необходимо определить тарифный план с комиссией Ra+Rb.
Рассмотрим более сложный случай. Предположим, что оба участника ожидают комиссию как минимальное значение для транзакций ниже определённой суммы, а в противном случае — процент от транзакции. Порог перехода от минимального тарифа к процентному для участника A равен x1, для участника B — x2. Если этот порог одинаков для обоих участников (x1 = x2), применяемый тариф будет равен сумме минимальных тарифов ниже порога и сумме процентных значений выше него.
Если параметры различаются, ставка рассчитывается более сложным образом. Давайте рассмотрим возможные случаи.
На рисунке минимально возможный тариф отмечен зелёным. В диапазоне (x1, x2) тариф определяется иной формулой, чем просто суммой двух минимальных тарифов и суммой процентных тарифов. Точно определить такой тариф невозможно. Необходимо добавить два диапазона: x1, x2. В диапазоне (0, x2] тариф определяется как сумма минимальных комиссий. В [x1, x2] тариф определяется как процентный тариф участника A (или участника B, если его порог срабатывает первым) и абсолютное значение комиссии участника B, равное минимальной комиссии участника B (или A соответственно). В [x2, +∞) тариф определяется как сумма процентных тарифов обоих участников.
Чтобы избежать слишком сложных таблиц ставок, необходимо корректировать минимальное значение ставки и процент. Если увеличить минимальную ставку в диапазоне Δmin, необходимо также увеличить процентную ставку ΔR. Если минимальное значение ставки корректируется более чем на Δmin, процентные ставки корректировать не следует. Границы корректировки обозначены пунктирной линией.
Если игнорировать эти корректировки для сумм транзакций, попадающих в (x1, x2), комиссия участника B будет снижена (предполагается, что B находится ниже в иерархии платёжного потока).