Chapa

Version Build License

Unofficial Python SDK for Chapa API.

Instructions

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.

Installation

pip install chapa

Usage

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': 'https://www.your-site.com/callback',
    'customization': {
        'title': '<Your-Company>',
        'description': 'Payment for your services',
    }
}

chapa = Chapa('<your_api_key>')
response = chapa.initialize(**data)
print(response['data']['checkout_url'])

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


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

Contributing

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 CONTRIBUTING.md file for more information.

Please make sure to update tests as appropriate.

API Reference

Create new Transaction

Base endpoint https://api.chapa.co/v1

  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

FAQ

No Available Questions!

Run Locally

Clone the project

git clone https://github.com/chapimenge3/chapa.git

Go to the project directory

   cd chapa

Install dependencies

pip install -r requirements.txt

License

MIT

Author

Temkin Mengistu

portfolio linkedin twitter

GitHub

View Github