Распределение комиссии и НДС
Для каждого счёта отдельно выберите, какую долю комиссии и НДС оплачивает покупатель. Два независимых ползунка задают долю от 0 до 100% с шагом 1%. Итог виден до создания ссылки.
В этой статье
Две настройки для одного заказа#
Ползунок «Комиссия платежа» распределяет всю комиссию за приём: процентную и фиксированную части вместе. Ползунок «НДС» распределяет только налог. Настройки не меняют тариф, ставку налога или базовую цену товара.
Крайнее левое положение означает, что расход полностью оплачивает покупатель; крайнее правое — магазин. Подписи показывают точные проценты и суммы каждой стороны. Для быстрого выбора доступны «Покупатель», «Поровну» и «Магазин».
- Доля покупателя добавляется к сумме оплаты.
- Доля магазина удерживается из базовой цены заказа.
- СБП и криптовалюта: НДС равен нулю, поэтому его ползунок не влияет на итог.
- Кнопки и ползунки доступны с клавиатуры; движение не требуется для понимания результата.
Одна база, два независимых расхода#
Для международных карт и Alipay комиссия равна 10% базовой цены плюс $0,50, НДС — 16% базовой цены. Для СБП комиссия равна 8%, для криптовалюты — 4%; НДС для этих двух способов не начисляется.
НДС не включён внутрь исходной цены по формуле 16/116. Комиссия не пересчитывается от суммы вместе с добавленным налогом или долей комиссии покупателя. Вторые 5% комиссии платформы не добавляются: они уже входят в опубликованный тариф.
fee = roundHalfUp(base × rate / 100) + fixed
vat = vatApplies ? roundHalfUp(base × 16 / 100) : 0
customerFee = roundHalfUp(fee × feeCustomerPercent / 100)
customerVat = roundHalfUp(vat × vatCustomerPercent / 100)
merchantFee = fee − customerFee
merchantVat = vat − customerVat
customerTotal = base + customerFee + customerVat
merchantNet = base − merchantFee − merchantVatКак распределяется заказ на $5#
В каждом примере ниже базовая цена равна $5,00, полная комиссия по карте — $1,00, НДС — $0,80. Проценты меняют только распределение этих расходов.
| Доли покупателя: НДС / комиссия | Покупатель платит | Магазину после удержаний |
|---|---|---|
| 100% / 0% · исходное правило | $5,80 | $4,00 |
| 0% / 0% · всё покрывает магазин | $5,00 | $3,20 |
| 100% / 100% · всё оплачивает покупатель | $6,80 | $5,00 |
| 50% / 23% · своё распределение | $5,63 | $3,83 |
Округление без потерянной копейки#
Суммы хранятся целыми минимальными единицами валюты. Сначала отдельно округляются полная комиссия и полный налог. Затем доля покупателя округляется по half-up, а магазин получает точный остаток каждого расхода. Поэтому две доли всегда складываются в исходную сумму.
Например, при расходе 1 цент и делении 50/50 покупателю назначается 1 цент, магазину — 0. Процент остаётся 50%, а денежные суммы отражают доступную точность валюты. Сервер отклоняет расчёт с отрицательным зачислением магазину.
Настройка через API#
Передавайте vatCustomerPercent и feeCustomerPercent как целые числа 0–100. Они относятся к одному создаваемому счёту. Пустая строка, дробный процент и число вне диапазона отклоняются.
Если feeCustomerPercent пропущен, комиссию полностью покрывает магазин. Если vatCustomerPercent пропущен, применяется прежнее поле vatPayer или правило аккаунта. Старые значения customer и merchant соответствуют 100% и 0% НДС покупателя. Не передавайте противоречащие друг другу vatPayer и vatCustomerPercent.
В ответе промежуточная доля НДС отображается как vatPayer=shared. Для нового запроса используйте числовую долю; строка shared не является допустимым значением старого входного поля vatPayer.
{
"title": "Design project · order 1042",
"description": "One-time payment for the agreed design work",
"amountMinor": 500,
"currency": "USD",
"methods": [
"card",
"alipay"
],
"vatCustomerPercent": 100,
"feeCustomerPercent": 0,
"orderId": "order-1042",
"metadata": {
"campaign": "autumn"
}
}Зафиксированные условия#
Сумма, валюта, методы и обе доли фиксируются в счёте. Смена предпочтений магазина не изменяет старые ссылки. Расчёт ползунков показывает распределение, а доступность реального списания определяется возможностями подключённого канала.
Для нового реального платежа картой или Alipay текущий шлюз поддерживает только feeCustomerPercent=0 и vatCustomerPercent=100: комиссию полностью покрывает магазин, НДС полностью добавляется покупателю. Остальные доли можно сохранить в счёте и рассчитать, но такой платёж не запускается и получает unsupported_allocation. Сервер не меняет сохранённые условия автоматически. Для СБП и USDT-криптооплаты доступны все доли комиссии; НДС у них отсутствует.