WooCommerce Safaricom Daraja Payment Integration

Job ID: 40595747

Budget: $10 – $30 USD

I run a WooCommerce store on WordPress and I’m ready to accept M-Pesa payments directly through Safaricom’s Daraja API. The core need is straight-forward payment processing that lets customers pay via Mpesa Express, STK Push, or the standard Online Checkout flow and then lands them back on the “order-received” page with the correct status automatically set in WooCommerce.

Here’s what I’m looking for you to build or configure:

• A clean, self-contained WooCommerce payment gateway that talks to Daraja’s production and sandbox endpoints and supports the three methods above out of the box.
• Secure storage of all required credentials (Consumer Key/Secret, Passkey, Short Code) inside wp-admin with no hard-coding.
• Automatic order status updates the moment Daraja confirms or cancels payment. I’m still evaluating whether I need full real-time web-hooks or a short-interval poll, so please design the callback layer to let us switch that on or off without rewriting code.
• Clear error handling for time-outs, partial payments, or user-initiated cancels, with logs that can be viewed in WooCommerce > Status > Logs.
• A brief README that shows how to install, obtain Daraja credentials, and test in sandbox before going live.

Please use standard WordPress practices (OOP PHP, Action/Filter hooks, proper nonce checks) so updates won’t break the gateway. If you have prior Daraja or mobile-money experience, let me know—speed to production is important.