diff --git a/handlers/payments/currency_rates.py b/handlers/payments/currency_rates.py index 331e3a37..fc29045b 100644 --- a/handlers/payments/currency_rates.py +++ b/handlers/payments/currency_rates.py @@ -69,7 +69,9 @@ async def get_rub_rate(quote: str, *, session: aiohttp.ClientSession | None = No rate = _q(Decimal("1") / rub_per_unit) if code != "RUB" and FX_MARKUP: - rate = _q(rate * (Decimal("1") + Decimal(str(FX_MARKUP)))) + # FX_MARKUP задаётся в процентах (например, 30 = 30%), поэтому делим на 100 + pct = Decimal(str(FX_MARKUP)) / Decimal("100") + rate = _q(rate * (Decimal("1") + pct)) cache[code] = (now, rate) return rate