Skip to content
A python wrapper for the Paystack API
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
pypaystack Add transfers to transaction Oct 2, 2019
.gitignore Initial commit Mar 2, 2016
LICENSE Initial commit Mar 2, 2016 Add version in header, automate setup file Mar 7, 2016 Add version in header, automate setup file Mar 7, 2016


A simple python wrapper for Paystack API

  • Charge the customer
  • Verify a transaction
  • Create Plans
  • Get a single or all transactions
  • Get a single or all customers


Register on the paystack website and get your Authorization key.
Store your authorization key in your environment variable as "PAYSTACK_AUTHORIZATION_KEY" or pass it into the
pypaystack objects at initiatialization.

pip install -U pypaystack


from pypaystack import Transaction, Customer, Plan

All Response objects are a tuple containing status_code, status, message and data

#Instantiate the transaction object to handle transactions.  
#Pass in your authorization key - if not set as environment variable PAYSTACK_AUTHORIZATION_KEY

transaction = Transaction(authorization_key="sk_myauthorizationkeyfromthepaystackguys")
response = transaction.charge("", "CustomerAUTHcode", 10000) #Charge a customer N100.
response  = transaction.verify(refcode) #Verify a transaction given a reference code "refcode".

#Instantiate the customer class to manage customers

customer = Customer(authorization_key="sk_myauthorizationkeyfromthepaystackguys")
response = customer.create("", "John", "Doe", phone="080123456789") #Add new customer
response = customer.getone(1234) #Get customer with id of 1234
response = customer.getall() #Get all customers

#Instantiate the plan class to manage plans

plan = Plan(authorization_key="sk_myauthorizationkeyfromthepaystackguys")
response = plan.create("Test Plan", 150000, 'Weekly') #Add new plan
response = plan.getone(240) #Get plan with id of 240
response = plan.getall() #Get all plans

#Todo Write more tests

You can’t perform that action at this time.