1)Сделано с помощью какого-то серверного языка программирования. Клиентская логика заканчивается на местечковых jquery и bootstrap
2)Начинать подобный проект надо с ТЗ. Прием платежей,в частности, начинают с того что ищут банк, который вас приютит.
3)Зависит от ереси, которую вы напишете в ТЗ. Но при любых раскладах - заключение договоров с банками и платежными системами, а также тестирование на соответствие требованиям безопасности - это месяцы возни и скучного документооборота.
4)Зависит от того что собственно хотите обезопасить.