Расчет суммы обмена

inAmount - сумма обмена отдаем, с округлением в меньшую сторону к кол знаков после запятой указаной для валюте отдаем outAmount - сумма обмена получаем, с округлением в меньшую сторону к кол знаков после запятой указаной для валюты получаем
Пример округления: Точностью валюты 2 сумма 1.234 = 1.23 6.789 = 6.78
rate - курс обмена по заявке (out / in)
Rate for one route
курс обмена может быть установлен вручную или по кому либо сервису вне зависимости от источника курсов на курс еще добавляется комиссия установленная в админ панели. FeePercent - (Процент комиссии)
FeePercent
Также при расчете курса обмена учитывается также персональная скидка на обмен для данного клиента если имеется
Формула расчета курса обмена

Соотношение курса входящей и исходящей валюты далее как in и out
Пример 1 USD = 80 RUB значит in = 1 , out = 80
feeRate = FeePercent / 100;
in = in + (in * feeRate)
discountRate = discount / 100
in = in - (in * discountRate);
RATE = out / in
Пример расчетов по формуле Возьмем 1 USD = 80 RUB комиссия 2% in = 1 , out = 80, FeePercent = 2, discount = 0
2 / 100 = 0.02(feeRate)
1 + (1 * 0.02) = 1.02 (in)
0 / 100 = 0 (discountRate)
1.02 - (1.02 * 0) = 1.02 (in)
80 / 1.02 = 78.431372549 (RATE)
outFeeAmount - Сумма комиссии (указывается в валюте outAmount)
outFeeAmount

outAmount = (inAmount * rate) - outFeeAmount

inAmount
Сумма обмена отдаем
outAmount
Сумма обмена получаем
outFeeAmount
Сумма статичной комиссии
FeePercent
Процент комиссии
rate
Курс обмена (out/in)
Copy link
On this page
Общие обозначения:
Формула расчета курса обмена
Формула расчета обмена:
Обозначение переменных