Description
Paynecta Payment Gateway for WooCommerce allows you to accept M-Pesa payments directly on your WooCommerce store. Funds are automatically transferred to your preferred Kenyan bank account with full payment reconciliation.
Key Features:
- Your customer pays on Paynecta’s hosted checkout, so no card or phone details are ever typed into your shop
- Works with both the classic and the block checkout
- Signed payment notices, verified before an order is touched
- Orders matched to payments by your own order number
- A payment short of the order total is held for review rather than completing the order
- M-Pesa receipt and payment reference shown on the order in the admin
- Guided setup: enter your keys, pick the page money should land in, done
- Payment dashboard with statistics
Requirements:
- WordPress 6.5+
- WooCommerce 8.4+
- PHP 7.4+
- Paynecta account (sign up at https://paynecta.co.ke/)
External Services
This plugin connects to the Paynecta API to process M-Pesa payments. The connection is required for the payment functionality to work.
What data is sent:
- Payment amount (the order total)
- Your order number, so the payment can be matched back to the order
- Your Paynecta keys and the payment page money should land in
- The address customers should be returned to after paying
- Your shop’s address, name, and the plugin, WordPress and WooCommerce versions, so you can see the connection in your Paynecta dashboard
No customer phone number is sent by this plugin. The customer enters
their own M-Pesa number on Paynecta’s checkout page and confirms it with a
code there, so it is never typed into your shop and never passes through it.
When data is sent:
- When a customer places an order, to open a checkout for them
- When checking whether that payment succeeded
- When receiving payment notices from Paynecta
- When you connect the plugin, and once a day afterwards, to report that the shop is still installed
Service Provider:
This service is provided by Paynecta Limited.
- Website: https://paynecta.co.ke/
- Terms of Service: https://paynecta.co.ke/terms
- Privacy Policy: https://paynecta.co.ke/privacy
Configuration
Configure the following settings in WooCommerce > Settings > Payments > Paynecta Payment Gateway:
- Public key and Secret key: the pair from Developers, API keys in your Paynecta dashboard
- Payment page: which of your Paynecta pages this shop’s money lands in. The list fills itself once your keys are accepted
- Order Status on Payment: what status orders should have once payment succeeds
Payment notices are set up for you when you pick a payment page. If your shop
cannot be reached from the internet yet, the plugin shows you the address to
set by hand once it is live.
Installation
- Upload the plugin files to
/wp-content/plugins/paynecta-payment-gateway-for-woocommerce/ - Activate the plugin through the ‘Plugins’ menu in WordPress
- Go to WooCommerce > Settings > Payments
- Configure the Paynecta Payment Gateway settings
FAQ
-
Do I need a Paynecta account?
-
Yes, you need to sign up for a Paynecta account at https://paynecta.co.ke/ to get your API credentials.
-
Which currencies are supported?
-
The plugin works with Kenyan Shillings (KES) and integrates with Safaricom M-Pesa.
-
Does my customer type their M-Pesa number on my site?
-
No. They are taken to Paynecta’s checkout page, enter their number there and
confirm it with a code before any payment prompt is sent. Their number is
never typed into your shop. -
What happens if my customer closes the page after paying?
-
The order still completes. Paynecta sends your shop a signed notice when the
payment settles, whether or not anybody is looking at the page. -
Is this plugin secure?
-
Payment notices are signed and verified before an order is touched: a notice
with no signature, a changed body, or one more than five minutes old is
refused. Your secret key is only ever exchanged for a short-lived access
token, and the signing secret is stored outside the settings form.
Reviews
Contributors and Developers
“Paynecta Payment Gateway for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Paynecta Payment Gateway for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Change Log
1.2.1
- Fixed: on a fresh install, connecting failed with “A valid URL was not provided”. The API address is a read-only heading rather than a field, so WordPress never stored one, and only shops carrying a value over from an older version worked. The address now lives in the plugin
1.2.0
- The shop registers itself with Paynecta, so you can see it connected in your dashboard with its version and when it last checked in
- Payments taken through the plugin are marked as coming from your shop
- Payments now open a Paynecta checkout session and the payer pays on Paynecta’s hosted page. The old endpoints this plugin called have been withdrawn and were returning 404
- The shop no longer asks for an M-Pesa number. The payer enters and proves their own on Paynecta’s page before any prompt is sent
- Webhook deliveries are verified with a signed HMAC, refused if unsigned, tampered with, or more than five minutes old
- Orders are matched to payments on your order id, carried through the session
- A payment short of the order total is held for review instead of completing the order
- Fixed: the webhook signing secret and the callback token shared one setting, which made every delivery fail verification
- Requires reconnecting under WooCommerce Settings Payments Paynecta
1.1.0
- Multi-step setup wizard for first-time configuration
- Modern connected settings page with account card and enable toggle
- Credential verification step — API Key and email tested against Paynecta API before saving
- Unique per-installation webhook security token to prevent callback spoofing
- Reconfigure flow with confirmation modal to safely reset credentials
- Action needed state on payments list when not configured; Enable button hidden until setup is complete
- Auto cache-busting for CSS/JS assets on plugin update
1.0.0
- Initial release
- M-Pesa payment integration
- WooCommerce blocks support
- Payment dashboard
- Transaction tracking
- Webhook support