Skip to main content

A simple django app to manage Satispay payments following the Web-button flow.

Project description

django-satispaython

A simple django app to manage Satispay payments following the Web-button flow.

Requirements

Installation

You can install this package with pip: pip install django-satispaython.

Usage

Key generation and key-id

In order to use django-satispaython you need to generate a RSA private key and then get a key-id. Django-satispaython is based on satispaython so you can import it, create a key and obtain a key-id.

Configuration

Once you created a RSA key and got a key-id add django-satispaython to your INSTALLED_APPS:

INSTALLED_APPS = (
  #...
  'django_satispaython.apps.DjangoSatispaythonConfig',
  #...
)

Then add the followings to you django settings:

SATISPAYTHON_PRIVATE_KEY_PATH = '/path/to/my/key.pem'
SATISPAYTHON_KEY_ID_PATH = '/path/to/my/key-id.txt'
SATISPAYTHON_STAGING = True
  • SATISPAYTHON_PRIVATE_KEY_PATH: the path of your PEM file containing the RSA private key used to get your key-id.
  • SATISPAYTHON_KEY_ID_PATH: the path of the file containing the key-id coupled with the private-key.
  • SATISPAYTHON_STAGING: if True django-satispaython will use the Sandbox endpoints.

Satispay API

In order to use the Satispay API import django-satispaython.api:

from django_satispaython import api as satispay

Then you can:

Create a payment

satispay.create_payment(amount_unit, currency, callback_url, expiration_date=None, external_code=None, metadata=None, idempotency_key=None)

You may use satispaython utility function format_datetime to get a correctly formatted expiration_date to supply to the request.

Get payment details

satisapy.get_payment_details(payment_id)

Templatetags

In order to render the Satispay button just load the tag and use it in the template:

{% load django_satispaython %}
...
{% satispay_button payment_id=<your_payment_id> %}

Note that the button will automatically point at the endpoint (production or sandbox) specified in the project settings.

Database and Admin

Django-satispaython comes with a SatispayPayment model which contains every info associated to a payment and is automatically showed in the admin page.

:information_source: All the Satispay API functions return an instance of the SatispayPayment model without actually storing it by default.

If you want to store a newly created payment in the database or update an already existing one with the informations provided by the response, set the update parameter to True.

satispay.create_payment(amount_unit, currency, callback_url, expiration_date=None, external_code=None, metadata=None, idempotency_key=None, update=True)
satisapy.get_payment_details(payment_id, update=True)

In this case an output similar to django's update_or_create will be returned.

TODOS

  • Signals
  • ImproperlyConfiguredException

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-satispaython-0.1.4.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

django_satispaython-0.1.4-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file django-satispaython-0.1.4.tar.gz.

File metadata

  • Download URL: django-satispaython-0.1.4.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.0 Linux/5.4.0-52-generic

File hashes

Hashes for django-satispaython-0.1.4.tar.gz
Algorithm Hash digest
SHA256 670e47ba0f16a225f4d2874233e6cc34545ea0f9cee350262500af6d68b007f7
MD5 89363f9af0f8d8ac1029a4f6bce27265
BLAKE2b-256 541658f13a94709a18ebf6bea4f85150985488728e40f98f22d6ec40ebe5a27d

See more details on using hashes here.

File details

Details for the file django_satispaython-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for django_satispaython-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1b1a32f79c57eb435e56940d864d7c1f7a2c17d07f67d662513f7921195f3cd1
MD5 58fced69378b7227f6f77b7d700947fe
BLAKE2b-256 c55455f87e0dc3991056152212f5dc1883010810779d9d7ab24eefc806d2d3fc

See more details on using hashes here.

Supported by

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