Git Product home page Git Product logo

django-paystack's Introduction

Django Paystack

Build Status

This is a reusable django library that makes it very easy to hook up Paystack purchase button to your site/app. It helps with the verification of the transaction and is highly conifgurable.

Usage:

  1. Install django-paystack
pip install -e git+https://github.com/gbozee/django-paystack.git@master#egg=paystack
  1. Add paystack to your settings module
INSTALLED_APPS = [
    ...,
    paystack,

]
  1. Add url(r'^paystack/', include('paystack.urls',namespace='paystack')) to your base urls.py file
urlpatterns = [
    ...,
    url(r'^paystack/', include('paystack.urls',namespace='paystack')),
]
  1. Login to Paystack settings Dashboard and fetch your PUBLIC_KEY and SECRET_KEY. paste these keys in your settings.py
# settings.py

PAYSTACK_PUBLIC_KEY=******,
PAYSTACK_SECRET_KEY=******

alt text

  1. In the html where you want to insert the payment button
{% load paystack %}
...
{% paystack_button amount=3000 email="[email protected]" %}

  1. A signal is provided with the verified reference as well as the amount
from hubspot.signals import payment_verified

from django.dispatch import receiver

@receiver(payment_verified)
def on_payment_verified(sender, ref,amount, **kwargs):
    """
    ref: paystack reference sent back.
    amount: amount in Naira.
    """
    pass

Configurations

Required

PAYSTACK_PUBLIC_KEY

PAYSTACK_SECRET_KEY

Optional

PAYSTACK_FAILED_URL # Redirect url when payment fails, default is paystack:failed_url

PAYSTACK_SUCCESS_URL # Redirect url when payment is successful, default is paystack:success_url

PAYSTACK_LIB_MODULE # module directory to overide default implemenation of library that calls paystack api, default is paystack.utils

Template Tag Usage

the template tag paystack_button takes the following argument

button_style: css class to style the button

button_id: id name for the button: default is "django-paystack-button"

email: a required field representing the email

amount: a required the amount to be paid in Naira. `

ref: an optional field representing the reference of the transaction`

redirect_url: an optional field representing the redirect url after payment has been made, defaults to paystack:verify_payment

NB: *If you prefer using css to style html tags, the id of the button is *

To view the sample test project, do the following

$ git clone https://github.com/gbozee/django-paystack.git
$ git checkout develop
$ pip install -r requirements.txt
$ pip install -e .

NB: If you use pipenv, do the following

$ pipenv install

To run the project

$ cd django_paystack
$ python manage.py runserver

alt text

alt text

alt text

Extending

The default templates used can be extended to include your custom content.

  1. Create a paystack directory in your templates folder.

The templates used are as follows.

paystack/failed-page.html
paystack/success-page.html

django-paystack's People

Contributors

gbozee avatar 204070 avatar olamyy avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.