satan1437 / Django-Stripe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

wakatime

Доступные переменные окружения:

  • DEBUG — Дебаг-режим Django.
  • SECRET_KEY — Ключ Django.
  • SERVER_NAMES - Разрешённые хосты.
  • STRIPE_PUBLIC_KEY — :)
  • STRIPE_SECRET_KEY — :)
  • STRIPE_WEBHOOK_SECRET — :)

Структура проекта

├───app
│   ├───base
│   │   ├───migrations
│   │   ├───models
│   │   ├───services  # main logic
│   │   ├───static
│   │   │   └───stripe
│   │   │       ├───css
│   │   │       └───js
│   │   ├───templates
│   │   │   └───stripe
│   │   └───views
│   └───config  # settings
└───docker  # dockerfile's
    └───nginx

Url's

/buy/<id>/ - Stripe Session
/cart/checkout/ - Stripe Session
/buy/intent/<id>/ - StipeIntent

/cart/ - Корзина товаров
/webhooks/stripe/ - Stripe WebHook


Docker-compose:

  1.  docker build -t django-stripe
  2. docker compose up

Дополнительные задачи

  • Запуск используя Docker
  • Использование environment variables
  • Просмотр Django Моделей в Django Admin панели
  • Запуск приложения на удаленном сервере, доступном для тестирования
  • Модель Order, в которой можно объединить несколько Item и сделать платёж в Stripe на содержимое Order c общей стоимостью всех Items
  • Модели Discount, Tax, которые можно прикрепить к модели Order и связать с соответствующими атрибутами при создании платежа в Stripe - в таком случае они корректно отображаются в Stripe Checkout форме.
  • Добавить поле Item.currency, создать 2 Stripe Keypair на две разные валюты и в зависимости от валюты выбранного товара предлагать оплату в соответствующей валюте
  • Реализовать не Stripe Session, а Stripe Payment Intent.

About


Languages

Language:Python 60.1%Language:CSS 14.8%Language:JavaScript 11.7%Language:HTML 11.6%Language:Dockerfile 1.9%