Python plugin for Paystack View on pypi.python.org
pip install paystackapi
from paystackapi.paystack import Paystack
paystack_secret_key = "5om3secretK3y"
paystack = Paystack(secret_key=paystack_secret_key)
# to use transaction class
paystack.transaction.list()
# to use customer class
paystack.customer.get(transaction_id)
# to use plan class
paystack.plan.get(plan_id)
# to use subscription class
paystack.subscription.list()To start using the Paystack Python API, you need to start by setting your secret key.
You can set your secret key in your environment by running:
export PAYSTACK_SECRET_KEY = 'your_secret_key'Don't forget to get your API key from Paystack and assign to the variable
PAYSTACK_SECRET_KEY
Usage
from paystackapi.transaction import Transaction
response = Transaction.initialize(reference='reference',
amount='amount', email='email')Arguments
reference: Unique transaction referenceamount: Amountemail: Email addressplan: Specified plan (optional)
Returns
JSON data from Paystack API.
from paystackapi.transaction import Transaction
response = Transaction.charge(reference='reference',
authorization_code='authorization_code',
email='email',
amount='amount')Arguments
reference: Unique transaction referenceauthorization_code: Authorization code for the transactionemail: Email Address of the user with the authorization codeamount: Amount in kobo
Returns
JSON data from Paystack API.
from paystackapi.transaction import Transaction
response = Transaction.charge_token(reference='reference',
token='token', email='email',
amount='amount')Arguments
- reference: unique transaction reference
- token: paystack token
- email: Email Address
- amount: Amount in Kobo
Returns
JSON data from Paystack API.
from paystackapi.transaction import Transaction
response = Transaction.get(transaction_id=23)Arguments
id: Transaction id(integer).
Returns
JSON data from paystack API.
from paystackapi.transaction import Transaction
response = Transaction.list()Arguments
No argument required.
Returns
JSON data from paystack API.
from paystackapi.transaction import Transaction
response = Transaction.totals()Arguments
No argument required.
Returns
JSON data from paystack API.
from paystackapi.transaction import Transaction
response = Transaction.verify(reference='reference')Arguments
reference: a unique value needed for transaction.
Returns
JSON data from paystack API.
Plan.create(name, description, amount, interval, send_invoices, send_sms, hosted_page, hosted_page_url, hosted_page_summary, currency) - Create a plan
from paystackapi.plan import Plan
response = Plan.create(name='value', description='value',
amount=amount, interval='value',
send_invoices='value',
send_sms='value',
hosted_page='value',
hosted_page_url='value',
hosted_page_summary='value',
currency='value')Arguments
name: plan's name.description: description of the plan.amount: amount for the plan in kobointerval: plan's interval(daily...etc)send_invoices: booleansend_sms: (optional)hosted_page: (optional)hosted_page_url: url of hosted page (optional)hosted_page_summary: summary of the hosted pagecurrency: plans currency (NGN)
Returns
JSON data from paystack API.
from paystackapi.plan import Plan
response = Plan.get(plan_id=25)Arguments
id: paystack plan id.
Returns
JSON data from paystack API.
from paystackapi.plan import Plan
response = Plan.list()Arguments
No argument required.
Returns
JSON data from paystack API.
Plan.update(plan_id=88, name=None, description=None, amount=None, interval=None, send_invoices=None, send_sms=None, hosted_page=None, hosted_page_url=None, hosted_page_summary=None, currency=None) - Update paystack plan
from paystackapi.plan import Plan
response = Plan.update(plan_id=23, name=None, description=None,
amount=None, interval=None,
send_invoices=None, send_sms=None,
hosted_page=None, hosted_page_url=None,
hosted_page_summary=None, currency=None)Arguments
plan_id: plan identity number.name: name of plandescription: plan description(optional)amount: plan amount in Kobointerval: plan interval9(monthly, yearly, quarterly...etc)send_invoice: (optional)send_sms: (optional)hosted_page: (optional)hosted_page_url: (optional)hosted_page_summary: (optional)currency: Naira in kobo(NGN)
Returns
JSON data from paystack API.
from paystackapi.customer import Customer
response = Customer.create(first_name='first_name',
last_name='last_name',
email='email', phone='phone')Arguments
first_name: customer's first name.last_name: customer's last name.email: customer's email address.phone: customer's phone number.
Returns
JSON data from paystack API.
from paystackapi.customer import Customer
response = Customer.get(customer_id=24)Arguments
id: paystack customer id
Returns
JSON data from paystack API.
from paystackapi.customer import Customer
response = Customer.list()Arguments
No argument required.
Returns
JSON data from paystack API.
Customer.update(customer_id, first_name=None, last_name=None, email=None, phone=None) - Update paystack customer data by id.
from paystackapi.customer import Customer
response = Customer.update(customer_id=24, first_name=None,
last_name=None, email=None,
phone=None)Arguments
customer_id: paystack customer id.first_name: customer's first name(optional).last_name: customer's last name(optional).email: customer's email address(optional).phone: customer's phone number(optional).
Returns
JSON data from paystack API.
from paystackapi.subscription import Subscription
response = Subscription.create(customer='CUS_xnxdt6s1zg1f4nx',
plan='Pln_2yudUnIds2p',
authorization='34',
start_date=None)Arguments
customer: Customer's email address or customer code.plan: Plan code.authorization: customers authorization code.start_date: the date for the first debit. (ISO 8601 format)
Returns
JSON data from paystack API.
from paystackapi.subscription import Subscription
response = Subscription.fetch(subscription_id=4033)Arguments
subscription_id: subscription id.
Returns
JSON data from paystack API.
from paystackapi.subscription import Subscription
response = Subscription.list()Arguments
No argument required.
Returns
JSON data from paystack API.
from paystackapi.subscription import Subscription
response = Subscription.disable(code="SUB_vsyqdmlzble3uii",
token="d7gofp6yppn3qz7")Arguments
Arguments
code: Subscription code.token: Email token.
Returns
JSON data from paystack API.
from paystackapi.subscription import Subscription
response = Subscription.enable(code="SUB_vsyqdmlzble3uii",
token="d7gofp6yppn3qz7")Arguments
code: Subscription code.token: Email token.
Returns
JSON data from paystack API.
from paystackapi.verification import Verification
response = Verification.verify_bvn(bvn='1234567890')Arguments
bvn: customer's bvn number
Returns
JSON data from paystack API.
from paystackapi.verification import Verification
response = Verification.verify_account(account_number='1234567890')Arguments
account_number: customer's account number
Returns
JSON data from paystack API.
from paystackapi.verification import Verification
response = Verification.verify_card_bin(card_bin='001')Arguments
card_bin: customer's card bin
Returns
JSON data from paystack API.
Verification.verify_phone(verification_type, phone, callback_url) - verify a customer's phone number
from paystackapi.verification import Verification
response = Verification.verify_phone(
verification_type='truecaller',
phone='090123456890,
callback_url='https://google.com'
)Arguments
verification_type: phone number verification typephone: phone number to be verifiedcallback_url: callback url to send verification details to
Returns
JSON data from paystack API.
from paystackapi.refund import Refund
response = Refund.create(**kwargs)Arguments
transaction: Transaction reference or idamount: How much in kobo to be refunded to the customer - Optionalcurrency: Three-letter ISO currency - Optionalcustomer_note: Customer reason - Optionalmerchant_note: Merchant reason - Optional
Returns
JSON data from paystack API.
from paystackapi.refund import Refund
response = Refund.list(**kwargs)Arguments
reference: Identifier for transaction to be refunded - Optionalcurrency: Three-letter ISO currency - Optional
Returns
JSON data from paystack API.
from paystackapi.refund import Refund
response = Refund.fetch(refund_id=1234)Arguments
refund_id: Refund ID
Returns
JSON data from paystack API.
Misc.list_banks() - List Banks
from paystackapi.misc import Misc
response = Misc.list_banks()Returns
JSON data from paystack API.
