/dj-paddle

Django + Paddle made Easy!

Primary LanguagePythonMIT LicenseMIT

dj-paddle

PyPI Travis Documentation Supported Python versions License

Django + Paddle Made Easy

(this project is heavily inspired by dj-stripe)

Introduction

dj-paddle implements Paddle models (currently Subscription only), for Django. Set up your webhook and start receiving model updates. You will then have a copy of all Paddle subscriptions available in Django, no API traffic required!

The full documentation is available at https://dj-paddle.readthedocs.org.

Features

  • Django Signals for all incoming webhook events from paddle
  • Subscriptions

Requirements

  • Django >= 2.1
  • Python >= 3.5

Quickstart

Install dj-paddle:

pip install dj-paddle

Add djpaddle to your INSTALLED_APPS:

INSTALLED_APPS =(
    ...
    "djpaddle",
    ...
)

Add to urls.py:

path("paddle/", include("djpaddle.urls", namespace="djpaddle")),

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

Add your paddle keys and set the operating mode:

# can be found at https://vendors.paddle.com/authentication
DJPADDLE_VENDOR_ID = '<your-vendor-id>'

# create one at https://vendors.paddle.com/authentication
DJPADDLE_API_KEY = '<your-api-key>'

# can be found at https://vendors.paddle.com/public-key
DJPADDLE_PUBLIC_KEY = '<your-public-key>'

Run the commands:

python manage.py migrate

# fetches all subscription plans from paddle
python manage.py djpaddle_sync_plans_from_paddle

Reporting Security Issues

Please do not report security issues in public, but email the authors directly.