Accept Pesapal
payments on J2Commerce
Install the free PaymentHood plugin for J2Commerce, connect your Pesapal account, and Pesapal appears as a payment option at checkout. No custom gateway code, and no second integration when you add another provider later.
- KES
- UGX
- TZS
- RWF
- ZMW
- USD
- EUR
- GBP
- Platform
- Joomla 4.0+
- Provider
- Pesapal
- Install via
- Extensions → Manage → Install
- Billing
- One-time
- PaymentHood fee
- None
Pesapal on J2Commerce at a glance
- Joomla version
- Joomla 4.0+
- Where you install it
- Joomla admin → Extensions → Manage → Install
- Coverage
-
- Kenya
- Uganda
- Tanzania
- Rwanda
- Malawi
- Zambia
- Zimbabwe
- Currencies
-
- KES
- UGX
- TZS
- RWF
- ZMW
- USD
- EUR
- GBP
- Billing models
- One-time checkout payments. Recurring billing is not supported by the J2Commerce plugin yet.
- Cost
- The plugin is free and open source. You pay Pesapal's own fees, published on their pricing page (opens in new tab). PaymentHood adds nothing on top.
Coverage, currencies and payment methods as published by Pesapal, who set and update them. For the current list see Pesapal's own documentation (opens in new tab).
What J2Commerce customers can pay with
Each method Pesapal supports appears in your J2Commerce checkout. Enabling one is a PaymentHood dashboard setting — nothing changes on the Joomla side.
Mobile money
The regional wallets, including M-PESA and Airtel Money
Cards
Visa and Mastercard credit and debit cards
Bank transfer
Local bank payment where supported
Connect Pesapal to J2Commerce
Four steps, no code. The full walkthrough with screenshots is in the J2Commerce installation guide.
Open a Pesapal account
Register with Pesapal and finish their onboarding. Funds settle from Pesapal to your own bank account.
Add it in PaymentHood
Paste your Pesapal credentials into the PaymentHood dashboard. They stay server-side and never reach your storefront.
Install the plugin
Download the J2Commerce plugin and install it from Extensions → Manage → Install in your Joomla admin.
Enable and test
Paste your PaymentHood API key into the plugin settings, run a sandbox order end to end, then switch to live.
Rather than a direct Pesapal plugin
A single-provider plugin works until you need a second provider. These are the parts you would otherwise build and maintain yourself.
- Webhook security
- Registered IPN (Instant Payment Notification) callback, validated before the order is released
- Payment verification
- Server-side transaction status re-check against Pesapal before fulfilment
- Credentials
- Consumer key and consumer secret exchanged for a bearer token, held server-side in PaymentHood
- Add a second provider without touching your J2Commerce checkout
- Automatic failover when Pesapal is unreachable, instead of a failed order
- Idempotent charge creation, so a double-submitted order is not a double charge
- One reconciliation view across every provider you run
- Free and open source — read the plugin on GitHub (opens in new tab)