Skip to content

lsanpablo/dj-stripe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8b6e669 · Apr 9, 2020
Oct 21, 2019
Apr 9, 2020
Feb 20, 2020
Apr 6, 2020
Aug 3, 2019
Apr 15, 2019
Jan 13, 2020
Feb 4, 2019
Dec 21, 2019
Apr 6, 2020
Feb 18, 2017
Jun 2, 2015
Jan 13, 2020
Aug 3, 2019
Feb 25, 2020
Aug 3, 2019
Jan 13, 2020

Repository files navigation

dj-stripe

Build Status Documentation Status

Stripe Models for Django.

Introduction

dj-stripe implements all of the Stripe models, for Django. Set up your webhook and start receiving model updates. You will then have a copy of all the Stripe models available in Django models, no API traffic required!

The full documentation is available here: https://dj-stripe.readthedocs.io/

Features

Requirements

  • Django >= 2.2
  • Python >= 3.6
  • Supports Stripe exclusively. For PayPal, see dj-paypal instead.
  • PostgreSQL engine (recommended): >= 9.4
  • MySQL engine: MariaDB >= 10.2 or MySQL >= 5.7

Quickstart

Install dj-stripe:

pip install dj-stripe

Add djstripe to your INSTALLED_APPS:

INSTALLED_APPS =(
    ...
    "djstripe",
    ...
)

Add to urls.py:

path("stripe/", include("djstripe.urls", namespace="djstripe")),

Tell Stripe about the webhook (Stripe webhook docs can be found here) using the full URL of your endpoint from the urls.py step above (e.g. https://example.com/stripe/webhook).

Add your Stripe keys and set the operating mode:

STRIPE_LIVE_PUBLIC_KEY = os.environ.get("STRIPE_LIVE_PUBLIC_KEY", "<your publishable key>")
STRIPE_LIVE_SECRET_KEY = os.environ.get("STRIPE_LIVE_SECRET_KEY", "<your secret key>")
STRIPE_TEST_PUBLIC_KEY = os.environ.get("STRIPE_TEST_PUBLIC_KEY", "<your publishable key>")
STRIPE_TEST_SECRET_KEY = os.environ.get("STRIPE_TEST_SECRET_KEY", "<your secret key>")
STRIPE_LIVE_MODE = False  # Change to True in production
DJSTRIPE_WEBHOOK_SECRET = "whsec_xxx"  # Get it from the section in the Stripe dashboard where you added the webhook endpoint

Add some payment plans via the Stripe.com dashboard.

Run the commands:

python manage.py migrate

python manage.py djstripe_init_customers

python manage.py djstripe_sync_plans_from_stripe

See https://dj-stripe.readthedocs.io/en/latest/stripe_elements_js.html for notes about usage of the Stripe Elements frontend JS library.

Running the Tests

Assuming the tests are run against PostgreSQL:

createdb djstripe
pip install tox
tox

Follows Best Practices

This project follows best practices as espoused in Two Scoops of Django: Best Practices for Django 1.11.

About

Django + Stripe Made Easy

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.9%
  • HTML 1.1%