Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

django-satispaython

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

django-satispaython

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

  • 0.1.4
  • PyPI
  • Socket score

Maintainers
1

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

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc