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.15.tar.gz (9.6 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.15-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: django_askell-0.1.15.tar.gz
  • Upload date:
  • Size: 9.6 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.15.tar.gz
Algorithm Hash digest
SHA256 c0bea8c45c87566a45c727cf3ff5caaf60bdb0c6a52795830bcf9ffc600142b1
MD5 1236eadb4bc71a2397578e6ac78e16d8
BLAKE2b-256 167f7c5b7652ec3e9785cf851f827a97fa6fac101e1514bccf63cc84fdff5098

See more details on using hashes here.

File details

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

File metadata

  • Download URL: django_askell-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 10.4 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.15-py3-none-any.whl
Algorithm Hash digest
SHA256 5719a14dd00066d62bd4dc2fc727d6a0bf9c55ae63e2b5b7cf639f34bd887be9
MD5 fd89dccfd08e03edc2fcf44ed1abc3d3
BLAKE2b-256 a2ed3b7bc12165d1b8dfe07d3de31d5ca86841afdf6185b26f40853b0117189e

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