Skip to main content

Recurring payments solution Askell integration for Django and Wagtail (optional)

Project description

django-askell

Áskell integration for Django and Wagtail (optional)

Build Status

Installation

pip install django-askell

Add the app to your INSTALLED_APPS

INSTALLED_APPS = [
    # ... other apps
    
    'askell',

    # ... other apps
]

Add the app urls to your project urls.py:

from django.urls import path, include

from askell.urls import urls as askell_urls

urlpatterns = [
    # ... your other urls
    path('askell/', include(askell_urls)),
    # ... more urls
]

To complete your setup, it is recommended to set up a webhook in Áskell's dashboard pointing to your website's URL. If your website has the domain https://example.com and you have added the app urls to your project, then the view that receives the webhooks is located at https://example.com/askell/webhook/.

Create your webhook, and then obtain your webhook secret and put it in your settings file or environment in your project:

ASKELL_WEBHOOK_SECRET = 'my-secret'

Webhook handlers

You can register new webhook handlers if you want to implement custom logic when something happens in Áskell. These are the default webhook handlers:

askell.webhook_handlers.payment_created
askell.webhook_handlers.payment_changed

Registering a new handler is simple:

from askell.webhooks import register_webhook_handler

@register_webhook_handler
def payment_settled(request, event, data):
    from .models import Payment
    if event == 'payment.changed':
        if data['state'] == 'settled':
            # do something here
    return True

TODO

  • Document webhook handlers
  • [ ] Document views
  • Implement subscription handling

Release notes

Version 0.1.7

  • Fixed a bug in creating a customer

Version 0.1.6

  • Added support for multiple states

Version 0.1.5

  • Fixed a bug with imports

Version 0.1.4

  • Fixed a bug in the Payment detail view

Version 0.1.3

  • Fixed a bug in webhook handler

Version 0.1.2

  • Added logging mechanism for debugging

Version 0.1.1

  • Changed the way webhook handlers are imported and documented

Version 0.1

  • Support for creating Payment objects
  • Support for webhooks processing and verification
  • Default webhook handlers for payment created, and changed

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_askell-0.1.14.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_askell-0.1.14-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file django_askell-0.1.14.tar.gz.

File metadata

  • Download URL: django_askell-0.1.14.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for django_askell-0.1.14.tar.gz
Algorithm Hash digest
SHA256 3719ae3fe8c9c3a247eff3e85b54100a1b8f46472f321a3fabad5eb36ada04c1
MD5 7e2e2f912cf40783ac26b4957d61948a
BLAKE2b-256 8ef045e68b6d15c165d6a274579b2076711a8ddb61ad41f1f514df44fdcc606f

See more details on using hashes here.

File details

Details for the file django_askell-0.1.14-py3-none-any.whl.

File metadata

  • Download URL: django_askell-0.1.14-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for django_askell-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 69c799c44a9916c0503954c36e211fa34e4679f0da2a147a5a079662bdffc189
MD5 4f90b879d3d7d5c93bb48a507990cd45
BLAKE2b-256 96e4f417b20b34eaa67f4c0a471268996441b09b940390e8a4081fd31a9d9a3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page