/stripe_testcase

Stripe implementation testcase

Primary LanguagePython

Тестовое задание на Django + Stripe API.

Реализован простой сервер, который общается со Stripe и создает платежные формы для товаров.

Запуск проекта локально

Необходимо склонировать проект к себе:

git clone git@github.com:z00k0/stripe_testcase.git

Перед запуском проекта необходимо в файле .env ввести апи ключи от системы Stripe (PUBLIC_KEY, SECRET_KEY).

Запуск проекта: docker compose build, docker compose up -d

По адресу http://127.0.0.1:8080/admin будет доступна админка.

Реализован API с двумя методами:

  • GET /buy/{id}, c помощью которого можно получить Stripe Session Id для оплаты выбранного Item.
  • GET /item/{id}, c помощью которого можно получить простейшую HTML страницу, на которой будет информация о выбранном Item и кнопка Buy. По нажатию на кнопку Buy происходит запрос на /buy/{id}, получение session_id и далее с помощью JS библиотеки Stripe происходит редирект на Checkout форму stripe.redirectToCheckout(sessionId=session_id).

Бонусные задачи

  • Запуск используя Docker
  • Использование environment variables
  • Просмотр Django Моделей в Django Admin панели
  • Запуск приложения на удаленном сервере, доступном для тестирования
  • Модель Order, в которой можно объединить несколько Item и сделать платёж в Stripe на содержимое Order c общей стоимостью всех Items