Мы создадим пример приложения для электронной коммерции, состоящего из нескольких отдельных приложений: внешнего интерфейса (который обслуживает контент для конечного пользователя в виде веб-страниц); внутренний API (который вызывается внешним интерфейсом по мере необходимости) и микросервис, который выполняет только одну задачу, но выполняет ее очень хорошо (динамическое создание счетов в формате PDF и отправка их клиентам в виде вложения электронной почты).
Приложение будет продавать отдельные предметы, а также позволит пользователям приобретать ежемесячную подписку. Все транзакции по кредитным картам будут обрабатываться через Stripe, которая, возможно, является одной из самых популярных систем обработки платежей, доступных сегодня, и не зря: разработчики ее любят. Stripe предлагает богатый API (интерфейс прикладного программирования), он доступен более чем в 35 странах мира и работает с более чем 135 валютами. Буквально миллионы организаций и предприятий используют программное обеспечение и API-интерфейсы Stripe для приема платежей, отправки выплат и управления своим бизнесом в Интернете с помощью панели инструментов Stripe. Однако во многих случаях разработчики хотят иметь возможность создавать более индивидуальные решения и не требовать от конечных пользователей входа как в веб-приложение, так и в панель управления Stripe. Это именно то, что мы будем рассматривать в этом курсе.
Мы начнем с простого виртуального терминала, который можно использовать для обработки так называемых транзакций «при отсутствии карты». Это будет полнофункциональное веб-приложение, созданное с нуля на Go (иногда называемом Golang). Внешний интерфейс будет отображаться с использованием богатого пакета html/template Go, а аутентифицированные пользователи смогут обрабатывать платежи по кредитным картам из защищенной формы, интегрированной с Stripe API. В этом разделе курса мы рассмотрим следующее:
Как создать безопасное, готовое к работе веб-приложение на Go
Как получить необходимую информацию для безопасной онлайн-транзакции по кредитной карте
Как вызвать Stripe API из серверной части Go для создания платежного намерения (объект Stripe для авторизации и совершения транзакции)
Как только это будет завершено, мы создадим второе веб-приложение в следующем разделе курса, состоящее из простого веб-сайта, который позволяет пользователям приобретать продукт или приобретать ежемесячную подписку. Опять же, это будет веб-приложение, созданное с нуля на Go. В этом разделе курса мы рассмотрим следующее:
Как разрешить пользователям покупать один продукт
Как разрешить пользователям приобретать повторяющуюся ежемесячную подписку (план Stripe)
Как обрабатывать отмены и возвраты
Как сохранить всю информацию о транзакциях в базе данных (для возвратов, отчетности и т. д.).
Как вернуть транзакцию
Как отменить подписку
Как защитить доступ к внешнему интерфейсу (через сеансовую аутентификацию)
Как защитить доступ к серверному API (используя токены с отслеживанием состояния)
Как управлять пользователями (добавлять/редактировать/удалять)
Как разрешить пользователям безопасно и надежно сбрасывать свои пароли
Как выйти из системы и мгновенно удалить свою учетную запись через веб-сокеты
Как только это будет завершено, мы начнем работу над микросервисом. Микросервис — это особый подход к разработке программного обеспечения, основной предпосылкой которого является создание очень маленьких приложений, которые делают одну вещь, но делают это очень хорошо. Микросервис нисколько не заботится о том, какое приложение его вызывает; оно совершенно отдельно и совершенно агностично. Мы создадим микросервис, который делает следующее:
Принимает полезную нагрузку JSON, описывающую отдельную покупку.
Создает счет в формате PDF с информацией из полезной нагрузки JSON.
Создает электронное письмо клиенту и прикрепляет к нему PDF-файл
Отправляет электронное письмо
Все эти компоненты (внешний интерфейс, серверная часть и микросервис) будут созданы с использованием единой кодовой базы, которая создает несколько двоичных файлов с помощью Gnu Make.
Посмотреть больше
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Udemy - одна из самых больших площадок в мире по доставке обучающего контента от разных авторов всего мира. Присутсвуют курсы практически на любую тему.