Skip to content

V-pix/payment_forms

Repository files navigation

Payment_forms - Сервер, который создает платёжные формы для товаров

Оглавление

Описание проекта

Сервер создает платёжные формы для товаров для имитации и тестирования платежей, с помощью платёжной системы Stripe. Реализованы Django + Stripe API бэкенд со следующим функционалом:

  • Django Модель Item с полями (name, description, price)
  • API с двумя методами:
    • GET /buy/{id}, c помощью которого можно получить Stripe Session Id для оплаты выбранного Item. При выполнении этого метода c бэкенда с помощью python библиотеки stripe выполняется запрос stripe.checkout.Session.create(...) и полученный session.id выдавается в результате запроса
    • GET /item/{id}, c помощью которого можно получить простейшую HTML страницу, на которой будет информация о выбранном Item и кнопка Buy. По нажатию на кнопку Buy происходит запрос на /buy/{id}, получение session_id и далее с помощью JS библиотеки Stripe происходит редирект на Checkout форму stripe.redirectToCheckout(sessionId=session_id)
  • Запуск используя Docker
  • Использование environment variables(специально выгружены на github для тестирования)
  • Просмотр Django Моделей в Django Admin панели
  • Модель Order, в которой можно объединить несколько Item и сделать платёж в Stripe на содержимое Order c общей стоимостью всех Items

Используемые технологии:

  • Python 3.10
  • Django 3.2
  • Stripe
  • Docker

Установка и запуск проекта

Клонировать репозиторий:

git clone git@github.com:V-pix/payment_forms.git

Перейти в репозиторий в командной строке:

cd payment_forms

Установить docker и docker-compose, если они не установлены:

https://docs.docker.com/get-docker/
https://docs.docker.com/compose/

Cоберите контейнер и запустите:

docker build -t payment_forms .
docker-compose up -d

Выполните миграции:

docker-compose exec web python manage.py migrate

Заполните тестовые данные:

docker-compose exec web python manage.py loaddata dump.json

Теперь проект доступен по адресам:

http://localhost:8000/

http://localhost:8000/admin/

http://localhost:8000/item/1/

http://localhost:8000/buy/1/

Учетная запись администратора

login: admin
password: 123

About

Сервер, который создает платёжные формы для товаров

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors