Позволяет совершать покупки товаров с платежами через сервис Stripe Payment.
Приложение развернуто и доступно для тестирования по адресу https://alexanderup.pythonanywhere.com
Для тестирования сайта необходима регистрация или вы можете воспользоваться следующими данными для входа:
- Логин:
leo
- Пароль:
qwerty1990
NB. При использовании логина leo
административная часть сайта будет недоступна, но выможете использовать для покупок учетную запись администратора (смотри примечания).
- Django Модель Item с полями (name, description, price);
- API с двумя методами:
GET /buy/{id}
;GET /item/{id}
.
- Доступен выбор одного или нескольких товаров, их добавление в корзину, проведение оплаты на общую сумму добавленных в корзину товаров;
- Использованы переменные окружения для храниния чувствительной информации;
- Модели доступны в административной части сайта (смотри примечания);
- Реализованы модели Discount, Tax.
Смотри файл TASK_DESCRIPTION.md
.
-
Клонируем репозиторий:
git clone https://github.com/AlexanderUp/stripe_payment.git
-
Переходим в папку
stripe_payment
.cd stripe_payment
-
Настраиваем виртуальное окружение:
python3 -m pip venv venv
-
Активируем виртуальное окружение:
source venv/bin/activate
-
Устанавливаем зависимости.
-
Для запуска приложения на рабочем сервере:
python3 -m pip install -r requirements/requirements_base.txt
-
Для запуска приложения при разработке (установка линтеров, etc.):
python3 -m pip install -r requirements/requirements_dev.txt
-
-
Переходим в папку
dj_payment
(расположенную внутри одноименной папки).cd dj_payment/dj_payment
-
В файле
.env
указываем значения необходимых ключей по образцу из файлаexample.env
. Для получения ключей Stripe API обратитесь к документации (https://stripe.com). -
Переходим в папку проекта:
cd ..
-
Создаем и применяем миграции БД:
python3 manage.py makemigrations
python3 manage.py migrate
-
Создаем суперпользователя для доступа в административную часть сайта, следуем инструкциям из терминала:
python3 manage.py createsuperuser
-
Запускаем отладочный сервер:
python3 manage.py runserver
- Python 3.12
- Django 4.2.7
- Stripe 7.6.0
- python-dotenv 1.0.0
-
Для тестирования оплаты товаров используйте следующие номера тестовых банковских карт:
- Успешная оплата -
4242 4242 4242 4242
- Необходима аутентификация -
4000 0025 0000 3155
- Платеж отклонен -
4000 0000 0000 9995
- Успешная оплата -
-
Модели доступны в административной части сайта. Для демонстрационных целей установлены следующие авторизационные данные:
- Логин
admin
- Пароль
qwerty1990
- Логин
-
В роли БД использована sqlite, потому что pythonanywhere.com не позволяет использовать PostgreSQL на бесплатных аккаунтах.