Скрипт виджета Копилка на чистом JavaScript для приема оплаты в BTC
Привет всем! В рамках портфолио, хочу поделиться с вами результатом очередного проекта: «Скрипт виджета «Копилка» на чистом JavaScript для приема платежей в BTC». Ко мне обратился клиент, администратор платформы крипто-платежных шлюзов. Его компания предлагает бесплатные плагины для популярных CMS, виджеты для пожертвований, платежные кнопки и формы, выставление счетов, массовые выплаты и RestAPI для white label платежей. Он нашел меня на фриланс-бирже Kwork и предложил сотрудничество. Работа с клиентом велась через платформу Kwork, и все финансовые операции проходили через систему «безопасной сделки». При необходимости мы могли обратиться к арбитражу, но в итоге все прошло гладко, как обычно.
Поставленные задачи
В рамках данного проекта, были поставлены и реализованы следующие задачи:
Реализовать виджет донатов на чистом JS, с минимальными сторонними библиотеками.
При клике на кнопку Pay (оплатить), открывается окно с реквизитами н оплату BTC:
Общие требования
Тип: Виджет для встраивания на сайт с помощью готового скрипта.
Страница управления: На сайте должна быть создана отдельная страница для управления виджетом, включающая в себя настройку параметров и получение готового кода для вставки.
Адаптивность: Виджет должен быть полностью адаптивным, корректно отображаться как в горизонтальной, так и в вертикальной ориентации.
Примеры и фреймы: Все необходимые примеры и фреймы для реализации уже подготовлены.
Основной блок: Содержит все обязательные элементы (за исключением опций отображения дополнительной информации, которые можно отключить через чекбоксы).
Дизайн
Пресеты. Должна быть возможность выбора из заранее созданных пресетов дизайна.
Фон. Настройка цвета фона или загрузка собственного изображения. Изображение выравнивается по краю блока, но вся область должна быть заполнена фоном. При выборе цвета фона автоматически добавляется плашка для размещения информационного контента.
Цвета. Основной цвет. Изменяет все элементы, которые в текущей версии оформлены в синий цвет.
Дополнительный цвет: Применяется к тексту, за исключением заголовков и подзаголовков.
Ориентация. Виджет должен быть адаптирован к зеркальному отображению с изменением размеров, аналогично самой нижней версии на макете.
Функционал оплаты. При нажатии на кнопку «Pay» блок переворачивается, показывая QR-код и ссылку для оплаты.
Слева. Значок ссылки, открывающий в новом окне страницу с оплатой.
Справа. Кнопка для копирования адреса.
Плашка. Всегда белая, независимо от выбранных настроек дизайна.
Дополнительные требования
Должна быть реализована возможность отключения ненужных элементов виджета с помощью чекбоксов.
Виджет должен быть оптимизирован для мобильных устройств.
Необходимо предоставить документацию по настройке и использованию виджета.
Примечание
Данные требования носят общий характер и могут быть дополнены или изменены в ходе разработки.
Сфера проведения работ
- Фронтэнд (работа со скриптами JavaScript, HTML, CSS, обеспечивающих работу фронтенда, личного кабинета пользователей, раздела сайта, виджетов);
Стек технологий
Языки программирования и фреймворки:
- JavaScript;
- HTML 5;
- CSS 3;
Внешние сервисы
- Изучение документации, подключение и настройка внешнего сервиса по API (Application Programming Interface);
Возникшие сложности
- Проект оказался гораздо больше, чем изначально планировалось. В итоге в ходе проекта несколько раз существенно дополнялось техническое задание, функционала становилось больше. Это разумеется требовало больших усилий, времени и компетенций;
Похожие записи
Оставить комментарий
Full Stack
Senior, Architect
предложить оффер
- jQuery: как получить значение атрибута?
- PHP работа с изображением, класс SimpleImage
- Интеграция с API ОСАГО сайта sravni.ru
- Комментарии на PHP, Ajax, mySQL
- PHP: Категории бесконечного уровня вложенности.
- Nginx редирект на другой сервис с сохранением URL спросил (а) Сергей
- Исполнитель пропал, почему такое случается и понять с кем работать? спросил (а) Артем
- Можно ли WordPress считать универсальным движком? спросил (а) Андрей
- Что такое самописный скрипт или CMS? спросил (а) Антон
- Как при поиске в linux используя grep, добавить исключения? спросил (а) Алексей
- Обзор Insurance CMS — платформы для сайтов по страхованию к записи
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Как создать Telegram-бота с авторизацией через сайт к записи
- PHP скрипт: каталог закладок на сайты к записи
- Валидация на PHP к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
Archive
- +2025 (16)
- Март 2025 (1)
- Февраль 2025 (9)
- Январь 2025 (6)
- +2024 (35)
- Декабрь 2024 (7)
- Ноябрь 2024 (13)
- Октябрь 2024 (8)
- Сентябрь 2024 (1)
- Август 2024 (5)
- Май 2024 (1)
- +2023 (27)
- Ноябрь 2023 (1)
- Октябрь 2023 (13)
- Сентябрь 2023 (10)
- Апрель 2023 (1)
- Март 2023 (1)
- Февраль 2023 (1)
- +2022 (21)
- Декабрь 2022 (11)
- Ноябрь 2022 (1)
- Май 2022 (2)
- Апрель 2022 (2)
- Март 2022 (3)
- Февраль 2022 (1)
- Январь 2022 (1)
- +2021 (17)
- Декабрь 2021 (5)
- Ноябрь 2021 (2)
- Июль 2021 (1)
- Июнь 2021 (2)
- Май 2021 (5)
- Апрель 2021 (1)
- Март 2021 (1)
- +2020 (20)
- Декабрь 2020 (6)
- Сентябрь 2020 (2)
- Август 2020 (1)
- Июль 2020 (2)
- Май 2020 (2)
- Апрель 2020 (2)
- Март 2020 (2)
- Февраль 2020 (1)
- Январь 2020 (2)
- +2019 (18)
- Декабрь 2019 (3)
- Ноябрь 2019 (2)
- Октябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (2)
- Июль 2019 (1)
- Июнь 2019 (1)
- Апрель 2019 (2)
- Март 2019 (1)
- Февраль 2019 (3)
- +2018 (44)
- Декабрь 2018 (4)
- Ноябрь 2018 (7)
- Октябрь 2018 (8)
- Сентябрь 2018 (1)
- Август 2018 (4)
- Июль 2018 (5)
- Май 2018 (3)
- Апрель 2018 (7)
- Март 2018 (1)
- Февраль 2018 (2)
- Январь 2018 (2)
- +2017 (19)
- Декабрь 2017 (2)
- Ноябрь 2017 (1)
- Октябрь 2017 (1)
- Сентябрь 2017 (2)
- Июль 2017 (1)
- Июнь 2017 (1)
- Май 2017 (2)
- Апрель 2017 (3)
- Март 2017 (2)
- Февраль 2017 (1)
- Январь 2017 (3)
- +2016 (36)
- Декабрь 2016 (3)
- Ноябрь 2016 (3)
- Октябрь 2016 (2)
- Сентябрь 2016 (3)
- Август 2016 (7)
- Июнь 2016 (3)
- Май 2016 (3)
- Апрель 2016 (3)
- Февраль 2016 (1)
- Январь 2016 (8)
- +2015 (36)
- Ноябрь 2015 (5)
- Октябрь 2015 (4)
- Сентябрь 2015 (1)
- Август 2015 (8)
- Июнь 2015 (1)
- Май 2015 (4)
- Апрель 2015 (8)
- Март 2015 (3)
- Февраль 2015 (2)
- +2014 (26)
- Ноябрь 2014 (2)
- Октябрь 2014 (5)
- Сентябрь 2014 (6)
- Июль 2014 (1)
- Июнь 2014 (2)
- Май 2014 (3)
- Апрель 2014 (6)
- Февраль 2014 (1)
- +2013 (27)
- Декабрь 2013 (2)
- Ноябрь 2013 (1)
- Октябрь 2013 (1)
- Август 2013 (1)
- Июль 2013 (3)
- Июнь 2013 (10)
- Май 2013 (1)
- Апрель 2013 (2)
- Февраль 2013 (3)
- Январь 2013 (3)
- +2012 (41)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (7)
- Сентябрь 2012 (2)
- Август 2012 (1)
- Июль 2012 (3)
- Июнь 2012 (2)
- Май 2012 (6)
- Апрель 2012 (2)
- Март 2012 (7)
- Февраль 2012 (5)
- Январь 2012 (1)
- +2011 (57)
- Декабрь 2011 (6)
- Ноябрь 2011 (2)
- Октябрь 2011 (3)
- Сентябрь 2011 (5)
- Август 2011 (4)
- Июль 2011 (3)
- Июнь 2011 (3)
- Май 2011 (3)
- Апрель 2011 (4)
- Март 2011 (10)
- Февраль 2011 (5)
- Январь 2011 (9)
- +2010 (43)
- Декабрь 2010 (7)
- Ноябрь 2010 (21)
- Октябрь 2010 (14)
- Сентябрь 2010 (1)
Свежие записи
- Скрипт виджета Копилка на чистом JavaScript для приема оплаты в BTC 02.03.2025
- Установка Qlogick QLE7430 в CentOS 7 23.02.2025
- Тестирование доступности WebSocke онлайн 20.02.2025
- Конвертация JSON — Serialize онлайн 20.02.2025
- Конвертация JSON — CSV онлайн 15.02.2025