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 get 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)
    

:information_source: All these functions return an instance of the SatispayPayment model without actually saving it.

If you want to save 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=False)
satisapy.get_payment_details(payment_id, update=False)

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.1.tar.gz (17.7 kB view hashes)

Uploaded Source

Built Distribution

django_satispaython-0.1.1-py3-none-any.whl (19.2 kB view hashes)

Uploaded Python 3

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