Аннотация
Введение 3
Глоссарий 5
1 Анализ требований, инструменты разработки 6
1.1 Функциональные и нефункциональные требования 6
1.2 Модель предметной области 8
1.3 Формализация требований 9
1.4 Требования регулятора 12
1.5 Архитектурно значимые варианты использования 12
1.5.1 Создание курса обмена 13
1.5.2 Первичная обработка заявки 15
1.5.3 Подтверждение платежа 16
2. Инструменты 19
2.1 PHP 19
2.2 Yii2 20
2.3 MySQL 23
3. Проектирование и разработка системы 25
3.1 Обзор системы 25
3.2 Реализация создания курса обмена 27
3.3 Реализация первичной обработки заявки 31
3.4 Реализация подтверждения платежа 33
3.5 Реализация перевода средств 34
3.6 Реализация работы с криптовалютами 37
3.7 Реализация модуля технической поддержки 40
Заключение 43
Список использованных источников и литературы 44
Приложение А: Первичная обработка заявки 45
Приложение Б: Подтверждение платежа 46
Приложение В: Перевод средств 47
Приложение Г: Скриншоты приложения
С распространением интернет-платежей появлялось множество различных платежных систем, как банковских, так и классических “электронных денег”. Основная их особенность - минимальная комиссия внутри системы или её полное отсутствие.
Однако переводы между системами достаточно дороги, а иногда и совсем невозможны, ввиду особенностей законодательства отдельных государств.
На основе этих особенностей формируется потребность пользователей в использовании альтернативных кросс-системных способов перевода денежных средств.
Решением, удовлетворяющим потребность, указанную выше, является система автоматического обмена валют - web-система, имеющая доступ к аккаунтам с денежными средствами, через которые можно провести двусторонний обмен денежных средств с разных систем. Обмен производится на основе автоматической обработки заявок, оставленных пользователями, а также автоматического мониторинга состояния всех аккаунтов системы.
Система работает следующим образом: пользователь создаёт заявку на перевод денег из одной системы в другую, после этого система обрабатывает заявку и находит в системе счёт, который соответствует исходящему направлению заявки, затем пользователь переводит деньги на этот счёт. После этого система проверяет платеж и после подтверждения находит соответствующий исходящему направлению заявки счёт в системе, после чего отправляет средства на указанный пользователем счёт.
Польза клиенту следующая: межбанковские, а особенно международные переводы достаточно дорогие и/или имеют лимиты. Система имеет множество счетов в различных банках и платежных системах и, как правило, внутрисистемные переводы бесплатны или имеют минимальную комиссию, соответственно для системы входящие и исходящие переводы практически 3
бесплатны, соответственно владелец системы может устанавливать минимальную комиссию за перевод, которая будет существенно ниже чем прямой межбанковский перевод.
В результате проделанной работы была реализована и введена в эксплуатацию система автоматического обмена денежных средств, соответствующая установленным требованиям. Были решены все поставленные задачи, достигнуты поставленные цели, удовлетворены все сформированные требования. Данная может выполнять внутрибанковские переводы, поддерживает обмен базовых валют, а также обмен криптовалют, в системе присутствует техподдержка. Система имеет потенциал к развитию как комплексная система обмена с реферальной системой, легированием действий и разделением прав. Данный функционал будет реализовываться в следующих версиях системы.