E-commerce ยท WordPress
WooCommerce Beta
Mobile-money checkout that confirms every order with the status API.
| Version | 0.1.1 |
|---|---|
| Compatibility | WordPress 6.4+, WooCommerce 8+, PHP 8.1+. |
| Install | Install the ZIP from integrations/woocommerce-ssentezo. WordPress.org submission is a later release. |
| Source | integrations/woocommerce-ssentezo |
| License | GPL-2.0-or-later, so it can be reviewed for WordPress.org later. |
| Sandbox | Use a SANDBOX organization and its API credentials. There is no separate simulated payment switch in this plugin. |
Supported in this version
- Sandbox or live credentials
- Mobile-money collection
- Server-side status verification
- Order status updates
- Duplicate callback protection
Install
- In WordPress, upload
integrations/woocommerce-ssentezo/dist/ssentezo-wallet.zip. - Open WooCommerce, Settings, Payments, and enable Ssentezo Wallet.
- Set the base URL, API user, and API key. Leave the key in the settings form only. It is stored by WooCommerce as a gateway option.
- Use a shop currency of UGX. The gateway refuses other currencies.
Checkout
The customer enters a Ugandan mobile number. The plugin calls POST /api/deposit and sets the order to on hold. The thank-you page says the payment is not confirmed. A callback to /wc-api/ssentezo_wallet, and a poll about every ten minutes, both call POST /api/get_status/{externalReference}. The order is paid only when that call returns HTTP 200, SUCCEEDED, the same reference, currency UGX, and the same amount. A cancelled or refunded order is not reopened. There is no timeout status, so a pending payment is not failed by the clock.
Troubleshooting
- A reused external reference is rejected. Each attempt adds a new reference.
- Pending stays on hold. The plugin does not turn a pending payment into a failure on a timer.
- Customer-facing errors do not include the API body. Details go to the WooCommerce log source
ssentezo-walletwithout the API key.
WordPress.org submission is not part of this beta.
Ssentezo Developers