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

### Общие обозначения:&#x20;

**inAmount** - сумма обмена отдаем, с округлением в меньшую сторону к кол знаков после запятой указаной для валюте отдаем\
**outAmount** - сумма обмена получаем, с округлением в меньшую сторону к кол знаков после запятой указаной для валюты получаем

{% hint style="info" %}
**Пример округления:**  Точностью валюты 2 сумма \
&#x20; 1.234 = 1.23\
&#x20; 6.789 = 6.78
{% endhint %}

\ <img src="https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FTpXHtgCQYn0PHaTs4idz%2Fimage.png?alt=media&#x26;token=78b419b2-89c7-4507-b12a-de587ebd7644" alt="" data-size="original">\
**rate** - курс обмена по заявке  (out / in)

курс обмена может быть установлен вручную или  по кому либо сервису вне зависимости от источника курсов на курс еще добавляется комиссия установленная в админ панели. **FeePercent** - *(Процент комиссии)*

![FeePercent](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FUDWcAoqkhpY5fynsh0gt%2Fimage.png?alt=media\&token=a3959d8f-bae6-4d64-982f-d73d02c28e13)

&#x20;Также при расчете курса обмена учитывается также персональная скидка на обмен для данного клиента если имеется  <img src="https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FXxRrgk1DINjsQ3nQbEWB%2Fimage.png?alt=media&#x26;token=218a30a3-0867-4d8f-9bdb-06ea56b205d4" alt="" data-size="line"> \
\
Формула расчета курса обмена&#x20;

### Формула расчета курса обмена

Соотношение курса входящей и исходящей валюты  далее как in и out&#x20;

&#x20; Пример  1 USD = 80 KZT  значит  in = 1 , out = 80&#x20;

```
feeRate = FeePercent / 100;
in = in + (in * feeRate)

discountRate = discount / 100
in = in - (in * discountRate);


RATE = out / in
```

Пример расчетов по формуле \
&#x20; Возьмем 1 USD = 80 KZT  комиссия  2%  \
&#x20; 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](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FmU6KeWMa5xFbhKsxS3Cb%2Fimage.png?alt=media\&token=609baa1c-fcda-44b3-aa2e-998566deb570)

### Фо**рмула расчета обмена:**&#x20;

&#x20;`outAmount = (inAmount *` [`rate`](#formula-rascheta-kursa-obmena)`) - outFeeAmount`<br>

### Обозначение переменных

<table><thead><tr><th width="215.4285714285714"></th><th width="150"></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>inAmount</strong></td><td>Сумма обмена отдаем</td><td></td></tr><tr><td><strong>outAmount</strong></td><td>Сумма обмена получаем</td><td></td></tr><tr><td><strong>outFeeAmount</strong></td><td>Сумма статичной комиссии</td><td></td></tr><tr><td><strong>FeePercent</strong></td><td>Процент комиссии</td><td></td></tr><tr><td><strong>rate</strong></td><td>Курс обмена (out/in)</td><td></td></tr></tbody></table>
