Version Build License

Unofficial Python SDK for Chapa API.


This is a Python SDK for Chapa API. It is not official and is not supported by Chapa. It is provided as-is. Anyone can contribute to this project.


pip install chapa


from chapa import Chapa

data = {
    'email': '[email protected]',
    'amount': 1000,
    'first_name': 'Abebe',
    'last_name': 'Bikila',
    'tx_ref': '<your-unique-transaction-id>',
    # optional
    'redirect_url': '',
    'customization': {
        'title': '<Your-Company>',
        'description': 'Payment for your services',

chapa = Chapa('<your_api_key>')
response = chapa.initialize(**data)

# Another Implementation
chapa = Chapa('<your_api_key>', response_format='obj')
response = chapa.initialize(**data)
# notice how the response is an object

# How to verify a transaction
response = chapa.verify('<your-unique-transaction-id>')


Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. After that free to contribute to this project. Please read the file for more information.

Please make sure to update tests as appropriate.

API Reference

Create new Transaction

Base endpoint

  POST /transaction/initialize
Parameter Type Description
key string Required. This will be your public key from Chapa. When on test mode use the test key, and when on live mode use the live key.
email string Required. A customer’s email. address
amount integer Required. The amount you will be charging your customer.
first_name string Required. Your API key
last_name string Required. A customer’s last name.
tx_ref string Required. A unique reference given to each transaction.
currency string Required. The currency in which all the charges are made. Currency allowed is ETB.
redirect_url string The URL to redirect the customer to after payment is done.
customization[title] string The customizations field (optional) allows you to customize the look and feel of the payment modal. You can set a logo, the store name to be displayed (title), and a description for the payment.
HEADER Key Value
Authorization Bearer <YOUR-API-KEY>

Verify Transaction

  GET /transaction/verify/${tx_ref}
Parameter Type Description
tx_ref string Required. A unique reference given to each transaction


No Available Questions!

Run Locally

Clone the project

git clone

Go to the project directory

   cd chapa

Install dependencies

pip install -r requirements.txt




Temkin Mengistu

portfolio linkedin twitter


View Github