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
'callback_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>')
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.
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. |
callback_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> |
GET /transaction/verify/${tx_ref}
Parameter | Type | Description |
---|---|---|
tx_ref |
string |
Required. A unique reference given to each transaction |
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
Temkin Mengistu