Skip to content

Django Stripe automatically syncs your Stripe data to your local database as pre-implemented Django Models allowing you to use the Django ORM, in your code, to work with the data making it easier and faster.

License

Notifications You must be signed in to change notification settings

purnendukar/django-stripe

Django Stripe

PyPI - Python Version PyPI version Downloads Build Status codecov License

django-stripe is an open source Python package that simplifies the integration of Stripe payments into your Django web application. Its key features include:

  • Full support for Stripe's B2C Subscription.
  • Built-in webhook handling for secure communication with Stripe.
  • A wide range of functions for creating and managing customers, subscriptions, and other Stripe-related operations within your Django web application.

Table of Contents

💾 Installation

You can easily install or upgrade to the latest version of the package using pip:

pip install django-stripe-plus

🚀 Quickstart

To get started quickly, follow these steps:

  1. Install the package using pip:
pip install django-stripe-plus
  1. Add django_stripe to your INSTALLED_APPS setting:
INSTALLED_APPS = [
    ...,
    'django_stripe',
]
  1. Database migration

After implementing the models, create a migration file using the following command:

python manage.py makemigrations

Once the migration file has been created, apply the migrations to the database using the following command:

python manage.py migrate
  1. In your settings, update the model paths in STRIPE_CONFIG:
STRIPE_CONFIG = {
    "API_VERSION": "2024-06-20", # Stripe API Version
    "API_KEY": "api_key", # Stripe Secret Key
}
  1. Implement APIs

You can use the appropriate actions to build payment APIs. Here are some examples: You can use the appropriate actions to build payment APIs. Here are some examples:

  • Syncing a customer
from django.contrib.auth.models import  User
from django_stripe.actions import StripeCustomerAction
from django_stripe.models import StripeCustomer
import stripe

user = User.objects.get(email="test@example.com")
action = StripeCustomerAction()
stripe_customer = StripeCustomer.objects.get(user=user)

stripe_customer_data = stripe.Customer.retrieve(stripe_customer.stripe_id)

customer = StripeCustomerAction().sync(stripe_data=stripe_customer_data)

Code of Conduct

In order to foster a kind, inclusive, and harassment-free community, we have a code of conduct, which can be found here. We ask you to treat everyone as a smart human programmer that shares an interest in Python and django-stripe with you.

About

Django Stripe automatically syncs your Stripe data to your local database as pre-implemented Django Models allowing you to use the Django ORM, in your code, to work with the data making it easier and faster.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published