Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python package to simplify integration to soofapay

Project description

This package is aimed at simplifying the process of integrating soofapay payment solution to your python systems. You can check our website for more

Installation

$ pip install soofa

Usage

1. Checking for a transaction

from soofa import Soofa, Transaction

soofa = Soofa("you_soofa_till_number", "your_client_secret_here")
exists = soofa.find("tranaction_id_here")
if exists:
    transaction: Transaction = soofa.get_transaction()
    print(transaction.tid)
    print(transaction.sender)
    print(transaction.gross_amount)
else:
    print("No such transaction")

The expected response for transaction check is Transaction object with various keys and methods

There is an additional method for getting the entire JSON object.

transaction.json()
{
    "status": "SUCCESSFUL",
    "sender_currency": "KES",
    "receiver_currency": "KES",
    "tid": "QTMB3",
    "reference": "T5004",
    "receipt_no": "NFQ6U45W28",
    "timestamp": 1561499777.715254,
    "gross_amount": 5,
    "net_amount": 4.8605,
    "transacted_via": "mpesa",
    "is_money_in": true,
    "sender": "+254701234567",
    "receiver": "Dev Market"
}

The table below describes all the attributes of the transaction object.

Key Description
status The state of the transaction, either SUCCESSFUL or PENDING
sender_currency The currency of the person who performed the transaction
receiver_currency The currency of the business, if the transaction was Money in for the business
reference The transaction reference passed when making a transaction
timestamp Unix timestamp for the transaction
gross_amount The amount of the transaction
net_amount The amount received after deducting soofa
transacted_via The service provider which facilitated the transaction eg. mpesa, visa, airtelmoney, mastercard, tkash …
is_money_in A boolean indicating if the money was to the business or out of the business
sender The performer of transaction
receiver The receiver of the transaction which is the business if the transaction was inbound

2. Checking your soofa business account balance

from soofa import Soofa

soofa = Soofa("you_soofa_till_number", "your_client_secret_here")
balance = soofa.get_balance()
print(balance)

The expected response for checking balance is a JSON with three fields:

{
    “balance”: “1587.49”,
    “currency”: “KES”,
    “timestamp”: 1561820831.623298
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for soofa, version 0.1.11
Filename, size File type Python version Upload date Hashes
Filename, size soofa-0.1.11.tar.gz (3.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page