Skip to content

eduard353/stripe_api_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django + Stripe API

Тестовый проект по использованию фреймворка Django и API сервиса приема платежей Stripe (https://stripe.com/).


Для запуска проекта локально следует выполнить следующие дествия:

  1. Склонировать код из репозитория:

    git clone https://github.com/eduard353/stripe_api_test.git
    
  2. Перейти в папку stripe_api_test:

    cd stripe_api_test
    
  3. Обновить pip и установить завистмости проекта:

    python -m pip install --upgrade pip
    pip install -r req.txt
    
  4. Для создания БД необходимо призвести миграцию:

    python manage.py makemigrations
    python manage.py migrate
    
  5. Создать пользователя с правами администратора:

    python manage.py createsuperuser
    
  6. Сохранить секретный ключ Django, секретный API ключ и публичный API ключ Stripe в системных переменных SECRET_KEY, STRIPE_API_KEY и STRIPE_PUB_KEY:

  7. Запускаем проект командой:

    python manage.py runserver
    
  8. Доступ к сервису будет доступен по адресу http://127.0.0.1:8000/


Реализован Django + Stripe API бэкенд со следующим функционалом:

  1. 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 страницу со списком всех товаров
  2. Панель администратора доступна по адресу http://127.0.0.1:8000/admin. Имя пользователя для доступа использовать те, что были использованы при создании супер пользователя.

В панели администратора доступны для просмотра и редактирования следующие модели:

* Товары

* Заказы

* Купоны

* Налоги

При создании объектов в моделях Товары, Купоны, Налоги - они автоматически создаются в вашем аккаунте Stripe. Использование Купонов или Налогов к Заказу, автоматически увеличивает или уменьшает стоимость заказа в зависимости от выбора.


Демо проекта доступно по адресу http://eduard353.pythonanywhere.com/

Данные тестовых карт для оплаты доступны по ссылке

About

Test task. Using Django + DRF + STRIPE API + Docker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors