Paystack Africa Pay
BYOK Paystack payment-gateway connector - card & bank collections and transfers across African markets
Collect and pay out with your own Paystack keys
Connect Odoo to Paystack using your own secret key (Bring-Your-Own-Key). Nothing is bundled and no credential leaves your database. The connector speaks the published Paystack REST API directly: it initializes and verifies collections, re-charges tokenised cards, registers transfer recipients, sends transfers (with OTP finalisation), resolves bank accounts and verifies inbound webhook signatures - all from inside Odoo.
Collections (charge)
- Initialize a transaction and get the hosted checkout URL.
- Verify a transaction by reference at any time.
- Re-charge a saved card with its authorization code (recurring).
- Amounts converted to the exact Paystack subunit (kobo / pesewas / cents).
Payouts (transfer)
- Create transfer recipients (nuban, ghipss, mobile_money, basa).
- Resolve the destination account name before you pay.
- Initiate single transfers and finalize OTP-protected ones.
- Verify a transfer by reference.
Reconciliation & accounting
- Each successful collection/payout books an account.payment in your chosen journal.
- Inbound charge.success / transfer.* webhooks update the matching transaction.
- Webhook signatures verified with HMAC-SHA512 against your secret.
Operations & audit
- Full API call log with secrets redacted.
- Scheduled action verifies pending transactions automatically.
- Test-vs-live mode detected straight from your key prefix.
Supported currencies
| Currency | Market | Subunit sent to Paystack |
|---|---|---|
| NGN | Nigeria | kobo (amount × 100) |
| GHS | Ghana | pesewas (amount × 100) |
| ZAR | South Africa | cents (amount × 100) |
| KES | Kenya | cents (amount × 100) |
| USD | International | cents (amount × 100) |
How it works
- Add a Paystack acquirer and paste your secret key (sk_test_ or sk_live_).
- Test the connection and sync the bank list for your currency.
- Create a transaction (collection or payout) and submit it.
- Verify by reference or let inbound webhooks close it automatically.
- Each success books an accounting payment in your Paystack journal.
BYOK & boundary
This connector generates the Paystack API payloads and transmits them using your own Paystack credentials. It is not an acquirer or a certified processor - Paystack itself processes the money under your own merchant account. We never store or transmit a credential we own.
Requires: a Paystack merchant account and the Python requests library (bundled with Odoo).
Compatible with Odoo 18.0 and 19.0 (Community).
Screenshots
Api Call Log
Banks
Acquirers
New Transaction
Update date: 2026-07-02