Тестовый проект по использованию фреймворка Django и API сервиса приема платежей Stripe (https://stripe.com/).
Для запуска проекта локально следует выполнить следующие дествия:
-
Склонировать код из репозитория:
git clone https://github.com/eduard353/stripe_api_test.git -
Перейти в папку stripe_api_test:
cd stripe_api_test -
Обновить pip и установить завистмости проекта:
python -m pip install --upgrade pip pip install -r req.txt -
Для создания БД необходимо призвести миграцию:
python manage.py makemigrations python manage.py migrate -
Создать пользователя с правами администратора:
python manage.py createsuperuser -
Сохранить секретный ключ Django, секретный API ключ и публичный API ключ Stripe в системных переменных
SECRET_KEY,STRIPE_API_KEYиSTRIPE_PUB_KEY: -
Запускаем проект командой:
python manage.py runserver -
Доступ к сервису будет доступен по адресу http://127.0.0.1:8000/
Реализован Django + Stripe API бэкенд со следующим функционалом:
- API с двумя методами:
- GET /buy/{id}, c помощью которого можно получить Stripe Session Id для оплаты выбранного Товара(Item).
- GET /item/{id}, c помощью которого отображается простейшая HTML страница, на которой представлена информация о выбранном Товаре(Item) и кнопка Buy. По нажатию на кнопку Buy происходит запрос на /buy/{id}, получение session_id и далее с помощью JS библиотеки Stripe происходить редирект на форму оплаты.
- GET /buy_order/{id}, c помощью которого можно получить Stripe Session Id для оплаты выбранного Заказа(Order).
- GET /order/{id}, c помощью которого отображается простейшая HTML страница, на которой представлена информация о выбранном Заказе(Order), который может включать в себя несколько Товаров(Itrm) и кнопка Buy. По нажатию на кнопку Buy происходит запрос на /buy_order/{id}, получение session_id и далее с помощью JS библиотеки Stripe происходить редирект на форму оплаты.
- GET / , вызывает HTML страницу со списком всех товаров
- Панель администратора доступна по адресу http://127.0.0.1:8000/admin. Имя пользователя для доступа использовать те, что были использованы при создании супер пользователя.
В панели администратора доступны для просмотра и редактирования следующие модели:
* Товары
* Заказы
* Купоны
* Налоги
При создании объектов в моделях Товары, Купоны, Налоги - они автоматически создаются в вашем аккаунте Stripe. Использование Купонов или Налогов к Заказу, автоматически увеличивает или уменьшает стоимость заказа в зависимости от выбора.
Демо проекта доступно по адресу http://eduard353.pythonanywhere.com/
Данные тестовых карт для оплаты доступны по ссылке