payment.provider architecture for seamless integration with Odoo’s invoicing and e-commerce flows.
Prerequisites
Before you begin, make sure you have:- Odoo 16.0 or later (Community or Enterprise)
- Python 3.9+
- A Simiz account with API credentials
- Admin access to your Odoo instance
Installation
Download the
payment_simiz module from the Simiz dashboard or generate it using the plugin generator:- API Key: Your Simiz API key (
smz_live_*orsmz_test_*) - Webhook Secret: Your webhook signing secret from the Simiz dashboard
In your Simiz dashboard, create a webhook endpoint pointing to:
transaction.createdtransaction.processingtransaction.completedtransaction.failedtransaction.cancelledtransaction.expiredrefund.createdrefund.processingrefund.completedrefund.failedSupported Payment Methods
| Method | Countries |
|---|---|
| Orange Money | CM, SN, CI, ML, BF, NE, GN, CG, CD, MG |
| MTN Mobile Money | CM, CI, GH, UG, RW, ZM, BJ, CG |
Supported Currencies
| Currency | Code | Decimals |
|---|---|---|
| Central African CFA Franc | XAF | 0 |
| West African CFA Franc | XOF | 0 |
| Ghanaian Cedi | GHS | 2 |
| Nigerian Naira | NGN | 2 |
| Kenyan Shilling | KES | 2 |
| Ugandan Shilling | UGX | 0 |
| Rwandan Franc | RWF | 0 |
| Tanzanian Shilling | TZS | 0 |
Module Architecture
The module follows Odoo’s standard payment provider pattern:Webhook Signature Verification
All webhook requests are verified using HMAC-SHA256 signatures:- Header:
X-Simiz-Signature - Format:
t={timestamp},v1={signature} - Algorithm: HMAC-SHA256 of
{timestamp}.{payload}using your webhook secret - Tolerance: 300 seconds (5 minutes)
Test Mode
To test the integration:- Set the provider state to Test Mode in Odoo
- Use your sandbox API key (
smz_test_*) - The module will automatically use the sandbox API endpoint
- Create a test sales order and proceed to payment
Troubleshooting
| Issue | Solution |
|---|---|
| Module not found | Verify the addons path in odoo.conf and update the apps list |
| Payment provider not visible | Check that the module is installed and the provider is not archived |
| Webhook signature errors | Verify your webhook secret matches the one in the Simiz dashboard |
| Currency not supported | Ensure the currency is activated in Odoo (Invoicing > Configuration > Currencies) |
| Payment stuck on pending | Check the Odoo logs for webhook processing errors |
Next Steps
Webhook Events
Learn about all available webhook events and their payloads.
Sandbox Testing
Test your integration in the sandbox environment.
Go-Live Checklist
Review the checklist before going live with real payments.
API Reference
Explore the full Simiz API reference.
Changelog
Version history
Version history
| Version | Date | Changes |
|---|---|---|
1.0.0 | 2026-03-01 | Initial release — mobile money payments, webhooks, sandbox |

