Get the distribution

Install dj-stripe:

pip install dj-stripe


Add djstripe to your INSTALLED_APPS:


Add to

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 step above (e.g.

Add your Stripe keys and set the operating mode:

STRIPE_LIVE_SECRET_KEY = os.environ.get("STRIPE_LIVE_SECRET_KEY", "<your secret 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


djstripe expects STRIPE_LIVE_MODE to be a Boolean Type. In case you use Bash env vars or equivalent to inject its value, make sure to convert it to a Boolean type. We highly recommended the library django-environ

Add some payment plans via the dashboard.

Run the commands:

python migrate

python djstripe_sync_models

See here for notes about usage of the Stripe Elements frontend JS library.

Running Tests

Assuming the tests are run against PostgreSQL:

createdb djstripe
pip install tox