Prerequisites
| Requirement | Minimum version |
|---|---|
| Django | 4.2 |
| Python | 3.10 |
| Simiz account | Create one free |
Installation
Configuration
| Setting | Description |
|---|---|
SIMIZ_API_KEY | Your API key (smz_test_* or smz_live_*) |
SIMIZ_ENVIRONMENT | sandbox or production |
SIMIZ_WEBHOOK_SECRET | Webhook signing secret |
SIMIZ_CURRENCY | Default currency code (optional, default: XAF) |
Usage
Creating a transaction
Checking transaction status
Processing refunds
Webhook handling
The package automatically handles webhook signature verification. Create a signal receiver to process events:SimizTransaction model
The package includes aSimizTransaction model that automatically records all transactions:
Supported payment methods
| Method | Type | Status |
|---|---|---|
| Orange Money | Mobile Money | Available |
| MTN Mobile Money | Mobile Money | Available |
| Wave | Mobile Money | Coming Soon |
| Moov Money | Mobile Money | Coming Soon |
| Airtel Money | Mobile Money | Coming Soon |
| M-Pesa | Mobile Money | Coming Soon |
Supported currencies
| Currency | Code | Countries |
|---|---|---|
| Central African CFA Franc | XAF | Cameroon, Central African Republic, Chad, Congo, Equatorial Guinea, Gabon |
| West African CFA Franc | XOF | Benin, Burkina Faso, Ivory Coast, Guinea-Bissau, Mali, Niger, Senegal, Togo |
| Ghanaian Cedi | GHS | Ghana |
| Nigerian Naira | NGN | Nigeria |
| Kenyan Shilling | KES | Kenya |
| Ugandan Shilling | UGX | Uganda |
| Rwandan Franc | RWF | Rwanda |
| Tanzanian Shilling | TZS | Tanzania |
Webhook events
| Event | Description |
|---|---|
transaction.created | Transaction initiated |
transaction.processing | Being processed by the provider |
transaction.completed | Payment successful |
transaction.failed | Payment failed |
transaction.cancelled | Cancelled by customer |
transaction.expired | Payment window expired |
refund.created | Refund initiated |
refund.completed | Refund completed |
refund.failed | Refund failed |
Test mode
Set the following environment variables:sandbox.api.simiz.io and no real money is charged.
Full sandbox documentation
See all test numbers and scenarios in the Sandbox Testing guide.
Troubleshooting
- Webhook signature invalid
- Migration errors
- API key errors
Solutions:
- Verify
SIMIZ_WEBHOOK_SECRETin your settings - Ensure the webhook URL is
/simiz/webhook/(with trailing slash) - Add the webhook endpoint to
CSRF_EXEMPT_URLSor use the@csrf_exemptdecorator
Next steps
Webhook Verification
Learn about webhook configuration and signature verification.
API Reference
Explore the full Simiz API.
Sandbox Testing
Test all payment scenarios before going live.
Support
Need help? Contact our support team.
Changelog
Version history
Version history
| Version | Date | Changes |
|---|---|---|
1.0.0 | 2026-03-01 | Initial release — mobile money payments, webhooks, sandbox |

