Skip to content

Message Service based on Django & Vue.js & Stripe (JWT Auth)

Notifications You must be signed in to change notification settings

KD3821/message_service_stripe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

message_service_stripe

Message Service with Stripe payments

Управляйте рассылками с MESSAGE SERVICE!


  • Создайте .env файл в папке 'email_app' на одном уровне вложенности с файлом manage.py (используйте пример из файла env.example)
  • Для .env файла также понадобятся данные вашего аккаунта Stripe (Secret key, Publishable key, Webhook Secret)
  • Также необходимо создать в Stripe товар 'Campaign' (можно использовать любое ваше название) - с ценой $10 - и указать его 'price_id' в .env файле
  • Перед запуском docker-compose из консоли установите пароль для БД в переменную среды командой: export POSTGRES_PASSWORD=EmailApp123 (пароль должен совпадать с паролем в .env файле)
  • Также измените дефолтное значение таймаута для HTTP-соединения у контейнеров в момент сборки - из консоли запустите команду: export COMPOSE_HTTP_TIMEOUT=300 (300 сек. вместо 60 сек.)
  • Запустите команду в консоли: docker-compose -f docker-compose.yml up --build (дождитесь завершения сборки сети контейнеров)
  • Если по какой-то причине процесс остановился с ошибкой - вызовите команду из консоли: docker-compose down и дождитесь остановки. Затем повторите предыдущий шаг
  • После завершения сборки сети нужно создать superuser для Django Admin в контейнере с приложением Django: docker exec -it message_backend /bin/bash (и далее: python manage.py createsuperuser)
  • Авторизуйтесь в Django Admin ( http://127.0.0.1/admin ) и установите 'IntervalSchedule' для Celery Beat: 5, 10, 30 секунд (три интервала)
  • Установите утилиту Stripe CLI и авторизуйтесь в ней с помощью вашего Stripe аккаунта - теперь вы сможете принимать запросы от Stripe на локальной машине
  • Запустите утилиту на прослушивание событий от сервиса Stripe с помощью команды: stripe listen --forward-to 127.0.0.1:8000/api/webhook/
  • Больше информации об использовании утилиты Stripe CLI и в целом модуля 'stripe' - рекомендуется ознакомиться с серией видеоуроков от компании Sripe: https://www.youtube.com/playlist?list=PLy1nL-pvL2M55YVn0mGoQ5r-39A1-ZypO
  • Регистрируйтесь >> Входите в ЛК >> Добавляйте клиентов >> Создавайте рассылки >> Редактируйте и подтверждайте >> Проверяйте статус рассылки >> Оплачивайте счет за рассылку
  • Тестовые карты для оплаты счета: 4242 4242 4242 4242 (успешная оплата), 4000 0000 0000 9995 (оплата не проходит). Срок действия и код могут быть любыми
  • Если сообщение не будет отправлено с первого раза - повторная попытка произойдет через минимум 5 секунд. И так будет происходить пока не наступит таймаут - после первой попытки 60 секунд
  • Если время окончания рассылки наступит раньше чем таймаут - попытки отправки сообщения будут остановлены
  • Страница со Swagger-UI доступна по адресу: http://127.0.0.1/api/schema/swagger-ui/
  • Страница с Redoc доступна по адресу: http://127.0.0.1/api/schema/redoc/
  • Есть заготовка приложения с авторизацией по OAuth (частично реализована - сервис авторизации реализован на FastAPI & Vue.js - https://github.com/KD3821/email_app/tree/oauth
  • Сервис авторизации (DOLLAR SERVICE) на FastAPI - https://github.com/KD3821/dollar_app & минимальным фронтендом на Vue.js + Vuetify- https://github.com/KD3821/dollar_vue

About

Message Service based on Django & Vue.js & Stripe (JWT Auth)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published