Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Скрипт подсчета процентов за переводпри обмене валюты.

Смысл скрипта в следующем:

У нас есть несколько платежных системи необходимо подсчитать по каким направлениям будет процент меньше всего.

Входные данные:

У каждой валюты есть свои комиссии за перевод в другую валюту.

К примеру, WebMoney при переводе с одного WMZ кошелька на другой WMZ кошелекберет 0,8% от перевода, но не более 50 WMZ и не менее 0.01 WMZ.

Пополнение счета AdvCash через EPESE будет стоить – 1.95%

AdvCash при переводе долларов в BTC-E берет 0% комиссии.

Capitalist при переводе долларов в BTC-Eберет 3.00% комиссии.

Теперь, допустим, у нас есть EPESE,но нужно получить BTC-E, и у нас по предложеннымвыше вариантам есть 2 выбора:

№1 EPESE-1,95%->AdvCash-1,95%->BTC-E итого 3.9% комиссии(Условно.Объяснение будет ниже)

№2 EPESE-0.00%->Capitalist-3%->BTC-E итого 3% комиссии

Соответственно, второй вариант становится более предпочтительным и дешевым для

нас.

Это простая схема состоящая из двух переводов и трёх платежных систем, но всё

может состоять и из 3,4,5-и переводов, чтобы обеспечить наименьший процент

потерь.

Приведу еще пример возможного бага в подсчетах.

Допустим нам нужно получить BTC-E, но у нас стартовая валюта– WMZ.

Пополнение счета в EPESE через WMZ стоит 0%, но не забываем, что сама WebMoney беретза перевод 0.8% с max снятием 50 WMZ и min0.01 WMZ. (Есть ещевалюту, которые берут фиксированную сумму за перевод и не важно какая сумма

перевода, к примеру, 0,25$ за перевод)

Самый лучший из возможных озвученных вариантов выше будет:

WMZ-0.8%(min 0.01 WMZ & max 50 WMZ)->EPESE-0%->Capitalist-3%->BTC-E

Итак, какой же будет составлять % потерь при обмене 100WMZ в BTC-E?

В данном случае простой подсчет по формуле 0,8%+3%=3.8% будет неверен.

Продемонстрирую на примере:

100 WMZ мы отправляем в  EPESE итам у нас на счету станет 99.2 EPESE(0,8%комиссии), а далее эту сумму мы отправляем в Capitalist и там тоже станет 99.2 Capitalist-a(0% комиссии), а оттуда отправляем ужена BTC-E за3% комиссии, но эти 3% считаем не от суммы в 100, а уже от суммы 99.2, что

вполне логично. Итого 99,2 Capitalist-3%->BTC-E=96,224 BTC-E

Итого: у нас процент потерь составил не 3.8%, а 3,776%

Если бы у нас изначально сумма была для обмена 10000 WMZ, то мы бы на первой комиссиизаплатили бы не 80 WMZ,а 50 WMZ.

Что мы получим: 10000 WMZ-> 9950 EPESE ->9950 Capitalist ->9651.5 BTC-E

Процент потерь в таком случае: 3.485%

Что же необходимо:

Написать скрипт, которому задается входная е-валюта, выходная е-валюта, сумма и

он будет показывать оптимальную(самую дешевую) цепочку для перевода и %

комиссий.

Также должна быть возможность для того, чтобы можно было исключать какие-то

валюты при выборе оптимального варианта, если вдруг кошелек с данной валютой

недоступен.

И чтобы можно было сделать так, что некоторые валюты по умолчанию сразу

отключены были, если они добавлены в настройках в список на отключение.

И конечно же должна быть возможность, чтобы создать/добавить валюты в

интерфейсе и ввести актуальные комиссии для перевода в другую валюту.

Также не забыть указать при расчетах, кто платит комиссию – получатель или

отправитель.

Как вариант – еще сделать табличку с курсами

Делать всё с расчётом на то, что в будущем курсы будут автоматически

подтягиваться по разным линкам для каждой ЭПС. Это пока реализовывать не нужно.

Колонки таблицы:

Payment System– ЭПС

Type – тип перевода (In/Out)

From – из платежной системы

To – в платежную систему

% of commission – процент комиссииза перевод

Fixed commission – фиксированная комиссия

Min commission – минимальная комиссия

Max commission – максимальная комиссия

Add fixed commission to % of commission – добавить фиксировануюкомиссию к проценту комиссии за перевод

Additional commission for payments less than– дополнительная комиссия за перевод, когда сумма перевода меньше чем….(тут еще

надо будет добавить колонку, т.к. надо будет обозначить сумму меньше которой включается

эта дополнительная комиссия)

Additional commission for payments more than– дополнительная комиссия за переводы больше чем на… (тут тоже еще колонка с

суммой, где указываем цифру, что больше такой-то суммы – будет включаться

больше комиссия)

7 лет назад
denisv5
Денис 
40 летУкраина
7 лет в сервисе
Был
7 лет назад
Выбранный исполнитель
codejs_pro
Игорь 
35 летУкраина
7 лет в сервисе
Был
7 лет назад
27 отзывов(-3)
7 лет назад
$100
7 дней
Выполнено качественно. Исполнитель всегда был на связи и вежлив. Старался решить проблему. когда она возникала. Рекомендую.
Очень ответственный заказчик. Предоставляет четкое ТЗ. Доволен сотрудничеством. Рекомендую