Pull to refresh

Comments 6

А что внутри, редис ?какая производитель ность ?

А что внутри, редис ?

Rails, PG, Sidekiq, Redis. Есть планы на эксперименты с Elixir, чтобы сравнить затрату ресурсов сервера с производительностью приложения.

какая производитель ность ?

Если говорить про публичную версию, которая сейчас крутиться на https://irates.io, то при текущей нагрузке, хватает 1 app сервера (4GB RAM, 2 AMD vCPUs, 80 GB SSD). На такой конфигурации app сервера, я делал load test на 80rps, ничего не улетало в потолок, "average response time" запросов был 391ms

Пример 1: У вас карта в евро. Вы совершаете покупки в отпуске в Италии тоже в евро.

Ах как хорошо мы плохо жили...

Все популярные API скупил APILayer, теперь fixer.io & co - платные

Раз уж вы делаете новый эндпоинт, то имеет смысл хотя бы на уровне структуры данных быть похожим на какой-нибудь существующий, иначе чтобы поддержать ещё один - надо будет каждые полгода по новому провайдеру со своей уникальной схемой добавлять

Ситуация настолько плохая, что мне пришлось библиотеку сделать, чтобы не переписывать код под каждый новый сервис. Можете посмотреть и еще пару источников себе в бэкенд утащить:

https://bitbucket.org/gudvinr/multixchange

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

Банк-отправитель обычно предоставляет услугу внутренней конвертации, когда платёж сперва конвертируется в валюту платежа, а потом "выгоняется". Конечно, если валюта платежа экзотическая или сопряжена со сложностями текущего времени, то, наверное, могут быть нюансы и не всякую валюту можно получить.

Я верно понял, что разрабатывается платёжный шлюз, независимый от конкретного банка и платёжной системы?

У вас карта в евро. Вы совершаете покупку в Польше в польских злотых. В этом случае схема пересчёта следующая: польские злотые (PLN) → пересчитываются в USD по курсу Mastercard, далее USD → пересчитываются в CNY по курсу Mastercard, затем CNY → пересчитываются в евро по курсу банка.

Справедливости ради стоит сказать, что базовая валюта карты может разниться от страны/юрисдикции и даже банка, выпустившего ту или иную карточку. В примере, насколько я понимаю, речь про некие нововведения в Беларуси.

"rounding": 2,

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

И ещё. Примера ответа в статье не заметил, поэтому, на всякий случай, отмечу, что некоторые источники курсов оперируют такими параметрами, как:

  • количество единиц валюты в курсе (пример: курс для JPY может быть указан за 100 иен, а не за одноу, см. пример: https://cbr.ru/currency_base/daily/)

  • признак обратного курса (обратной котировки).

Учёт этих особенностей, как в своё время показала практика, было самым сложным в расчёте конвертации.

Sign up to leave a comment.

Articles