Skip to content

seerbit/seerbit-python-api-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

seerbit-python-v2

A SeerBit API Library for Python (Version 2)

Features

The Library supports all APIs under the following services:

  • Payments via API (mobile money, cards, account, etc.)
  • Recurring Payments
  • Transaction Status

Getting Started

A full getting started guide for integrating SeerBit can be found at getting started docs.

Documentation

The documentation, installation guide, detailed description of the SeerBit API and all of its features is available on the documentation website

Requirements

  • Python 3.9
  • Pip

Installation

Pip

Run this command on the terminal:

pip install seerbit-python-v2

Contributing

You can contribute to this repository so that anyone can benefit from it:

  • Improved features
  • Resolved bug fixes and issues

Examples

You can also check the demos

Using the Library

Initiate Account Option

Instantiate a client and set the parameters.

    from seerbit.client import Client
    from seerbit.enums import EnvironmentEnum
    from seerbit.seerbitlib import SeerBit
    
    client = Client()
    client.api_base = SeerBit.LIVE_API_BASE
    client.environment = EnvironmentEnum.LIVE.value
    client.private_key = "private_key"
    client.public_key = "public_key"
    client.timeout = 20

To initiate a transaction request you need to perform authentication operation and acquire a token.

    from seerbit.service.authentication import Authentication

    auth_service = Authentication(client)
    auth_service.auth()
    token = auth_service.get_token()

After you have retrieved your token, pass it to the AccountService constructor along with your client object. You can then construct your payload and call the authorize() method of the AccountService class.

    from random import randint
    from seerbit.service.account_service import AccountService
    
    random_number = randint(10000000, 99999999)
    payment_ref = "SBT_" + str(random_number)
    account_payload = {
        "publicKey": client.public_key,
        "amount": "100.00",
        "fee": "10",
        "fullName": "John Doe",
        "mobileNumber": "08037456590",
        "currency": "NGN",
        "country": "NG",
        "paymentReference": payment_ref,
        "email": "[email protected]",
        "productId": "Foods",
        "productDescription": "Uba Account Transaction ",
        "clientAppCode": "kpp64",
        "channelType": "BANK_ACCOUNT",
        "redirectUrl": "https://checkout.seerbit.com",
        "deviceType": "Apple Laptop",
        "sourceIP": "127.0.0.1:3456",
        "accountName": "John S Doe",
        "accountNumber": "1234567890",
        "bankCode": "033",
        "bvn": "12345678901",
        "dateOfBirth": "04011984",
        "retry": "false",
        "invoiceNumber": "1234567891abc123ac"
    }
    account_service = AccountService(client, token)
    json_response = account_service.authorize(account_payload)

Find more examples here.

Licence

GNU General Public License. For more information, see the LICENSE file.

Website