SECRET_KEY = ''
DEBUG = 0
DJANGO_ALLOWED_HOSTS = '127.0.0.1 localhost'
ADMIN_PASSWORD = ''
ADMIN_EMAIL = ''
ADMIN_USERNAME = ''
STRIPE_PUBLISHABLE_KEY = ''
STRIPE_SECRET_KEY = ''
STRIPE_ENDPOINT_SECRET = ''
Для удобства, рекомендуется разместить файл .env
в той же директории, что и файл requirements.txt
.
Для использования Stripe необходимо установить соответствующие ключи. В файле .env
присвойте значения ключей переменным:
STRIPE_PUBLISHABLE_KEY = 'Ваш_публичный_ключ'
STRIPE_SECRET_KEY = 'Ваш_секретный_ключ'
STRIPE_ENDPOINT_SECRET = 'Ваш_секретный_ключ_для_веб-хуков' ← Эта переменная необязательна и не требуется в режиме тестирования.
Вы можете найти документацию Stripe по генерации ключей API на их официальном сайте здесь.
Для определения административных данных в файле .env
укажите значения переменных:
ADMIN_PASSWORD = 'Ваш_пароль_администратора'
ADMIN_EMAIL = 'Ваш_адрес_электронной_почты_администратора'
ADMIN_USERNAME = 'Ваше_имя_пользователя_администратора'
Для генерации секретного ключа Django и его установки в файле .env
выполните следующие действия:
- Сгенерируйте секретный ключ, с помощью Python:
python -c "import secrets; print(secrets.token_hex(58))"
- Присвойте сгенерированный ключ переменной в файле .env:
SECRET_KEY = 'Ваш_секретный_ключ_Django'
Для удобства, рекомендуется разместить файл venv
в той же директории, что и файл requirements.txt
.
pip install virtualenv
virtualenv venv
На Windows:
venv\Scripts\activate
На macOS и Linux:
source venv/bin/activate
Установка зависимостей из файла в виртуальное окружение:
pip install -r requirements.txt
- Перейдите в директорию \stripepay\stripepay:
cd ./stripepay
- Выполните следующие команды для создания миграций базы данных:
py manage.py makemigrations
- Примените миграции:
py manage.py migrate
- Чтобы инициализировать учетную запись администратора, используйте следующую команду:
py manage.py initadmin
- Запустите сервер:
py manage.py runserver
-
Все последующие действия производятся в панели администратора. Вы можете создать товары (items) и затем добавить их в корзину (order items). Также вы можете создать купон в разделе (discounts). Созданный вами купон также автоматически создается в системе Stripe.
-
Для выполнения последующих действий с URL-адресами необходимо авторизоваться. Например, если вы перейдете по адресу http://127.0.0.1:8000/swagger/, вы получите подробную документацию по всем API. Если перейти по адресу http://127.0.0.1:8000/item/1/, вы сможете просмотреть детали продукта и сделать заказ. А по адресу http://127.0.0.1:8000/previeworders/1/ вы сможете оплатить несколько товаров и применить ранее созданные купоны.
-
Для переменной
STRIPE_ENDPOINT_SECRET
необходимо выполнить определенные действия, указанные на этой странице здесь. После этого выполните командуstripe listen --forward-to localhost:8000/webhook/
. В результате появится ключ, который нужно будет присвоить переменнойSTRIPE_ENDPOINT_SECRET
. -
Номера тестовых карт Stripe доступны на этой странице.
-
Для тестирования купонов в системе, вы можете выполнить определенные действия, указанные на этой странице. Также можно создать купон через панель администратора во вкладке 'Discount'.
На остальной функционал просто времени не хватило. Основная логика приложения и его работоспособность соответствуют тестовому заданию.