Общая информация
Средства, поступившие в результате оплаты счета, обычно поступают на банковские реквизиты, указанные при настройке Маркетплейса (если не было сделано иных корректировок).
В случае, если нужно разделить полученные средства на разные счета (разные подрядчики, поставщики услуг и т.п.), используется поле
amountDistribution при создании счета.
Поле amountDistribution - это json массив, состоящий из объектов следующего вида:typescripttype TDistribution = { "recipient": { "name": string, "tin": string, "bic": string, "bankName": string, "bankAccount": string }, "amount": string, "order": number, "vor": boolean, "isFeePayer": boolean, "overpaymentPart": number }
| поле | тип | Обязательно | описание |
|---|---|---|---|
| recipient | object | да | Это реквизиты получателя средств. Соответствует типу RecipientField. Описание можно увидеть в Playground API DOCS. |
| amount | string | да | Сумма, которая будет перечислена. |
| order | number | нет | Очередность распределения средств. По умолчанию равно нулю (0). Используется для тонкой настройки в случае частичной оплаты. |
| vor | boolean | нет | Аббревиатура от Victim of Rounding. Указывает кто будет брать на себя результат округления. Например, если делить 100 на 3, то два получателя получат по 33.33, а тот, у кого указано vor: true, получит 33,34. |
| isFeePayer | boolean | нет | Показывает кто из получателей средств будет платить комиссию домов. |
| overpaymentPart | number | нет | Задает долю от переплаты, которая отправится к получателю. Например, если только у одного получателя будет указано overpaymentPart: 1, то ему отправится вся переплата. Если у двоих получателей будет указано overpaymentPart: 1, то каждый из них получит по половине переплаты. Все поля и их типы указаны в схеме данных, которые можно найти в песочнице: https://condo.d.doma.ai/admin/api. |
Реквизиты получателя должны быть предварительно провалидированы через техподдержку.
Ограничения:
- Максимальное количество получателей: 5.
- Реквизиты получателей должны быть предварительно добавлены в систему. Это делается через обращение в техподдержку.
- Получатели должны быть уникальными. Нельзя задать два получателя в распределении с одинаковыми реквизитами.
- Сумма распределения должна совпадать с суммой счета. Нельзя распределить только часть средств.
- В каждой группе (получатели с одинаковым
order) должен быть строго один получатель сvor: true. - Получатель, у которого указано
vor: true, обязательно должен быть среди плательщиков комиссии (isFeePayer: true) и получателей переплаты (overpaymentPart).
Примеры распределения
Для упрощения вместо объекта recipient укажем строку.
Пример 1: базовый
Самое простое распределение. Нет частичной оплаты, нет переплаты. Просто оплата счета с двумя получателями.
Сумма счета: 1000
json{ "amountDistribution": [ {"recipient": "recipient1", "amount": "200", "vor": true, "isFeePayer": true, "overpaymentPart": 1 }, {"recipient": "recipient2", "amount": "800" } ] }
Сумма платежа: 1000
Комиссия: 5%
Результат распределения:
| Получатель | Сумма |
|---|---|
| recipient1 | 150 |
| recipient2 | 800 |
| комиссия | 50 |
Пример 2: округление
Пример, показывающий как работает
vor: true. Здесь три получателя и все они платят комиссию.
Нет частичной оплаты, нет переплаты. Просто оплата счета с тремя получателями.Сумма счета: 300
json{ "amountDistribution": [ {"recipient": "recipient1", "amount": "100", "isFeePayer": true }, {"recipient": "recipient2", "amount": "100", "vor": true, "overpaymentPart": 1, "isFeePayer": true }, {"recipient": "recipient3", "amount": "100", "isFeePayer": true } ] }
Сумма платежа: 300
Комиссия: 10 (3,33333%)
Результат распределения:
| Получатель | Сумма |
|---|---|
| recipient1 | 96.67 |
| recipient2 | 96.66 |
| recipient3 | 96.67 |
| комиссия | 10 |
Калькулятор
Ниже представлена песочница, позволяющая делать расчеты распределения.
Параметры платежа
Получатели
Дополнительные настройки
Сумма платежа:
Комиссия с платежа: