Odoo Safaricom M-PESA payment provider helps businesses accept secure mobile payments through Safaricom M-Pesa at checkout. Customers receive an STK Push request and approve payments directly from their mobile devices.
The module integrates the Safaricom Daraja API with your Odoo website, allowing customers to pay using their registered M-Pesa mobile numbers. It also allows administrators to configure payment credentials, process secure payments, and track payment transactions from the backend.
The module supports sandbox and production environments. Businesses can test payment flows before accepting live customer payments and easily monitor transaction records.
- Accept Safaricom M-Pesa payments directly from the website’s payment page.
- Automatically send STK Push payment requests to customers’ mobile devices.
- Easily configure Daraja API credentials from payment provider settings.
- Supports sandbox and production environments for payment processing.
- Process payments using registered M-Pesa mobile numbers securely.
- Automatically track payment status updates after customer payment authorization.
- Store transaction references securely for payment verification and auditing.
- View complete payment transaction records from a centralized dashboard.
- Monitor customer payment activities and transaction details from the backend.
- Once you purchase the application from the Webkul store, you will receive a link to download module zip deposit.
- Extract the file to your system once the download is complete. As a result, you will be able to see a folder named- ‘wk_safaricom_mpesa_payment‘.
- Copy and paste this folder into your Odoo Add-ons Path.
- Now open the Odoo app and click on the Settings menu. Here click on Activate Developer mode.
- Then open the Applications menu and click ‘Update module list.’
- In the search bar, remove all filters and search for ‘wk_safaricom_mpesa_payment‘.
- You will be able to see the module in the search results. Click on ‘Enable‘ to install it.
Configuring Odoo Safaricom M-PESA payment provider
1. First, navigate to Website -> Configuration -> Payment Providers. Then find Safaricom M-Pesa in the list of available payment providers. Finally, make sure the provider is installed and ready to configure.
2. Open the Safaricom M-Pesa payment provider and activate it. Select the required environment, enter the Daraja API credentials, Business Shortcode and Passkey, and save the configuration.

3. First, add the required products to the cart. Then check the product details, quantity, taxes and total order amount on the checkout page. Finally, click Checkout to continue with the Safaricom M-Pesa payment process.

4. First, select Safaricom M-Pesa as a method of payment. Next, enter a valid M-Pesa mobile number and click Pay now. Then, an STK Push request is sent to the registered mobile device. Finally, approve the request to complete the payment successfully.

5. After that, the customer is redirected to the order confirmation page after approving the payment request. Then, a success message appears with order details, billing information, and payment confirmation status.

6. Go to Billing > Payment transactions to view all M-Pesa payment records. Here you can monitor transaction references, payment methods, customer details and transaction history from one centralized location.

7. Next, open a payment transaction record to view the complete transaction information. Then, review the transaction reference, payment amount, customer details, payment method, supplier reference and transaction status from a single screen.

I hope you find the guide useful! Please feel free to share your thoughts in the comments below.
If you still have issues/questions, please create a ticket at the UV Desk.
Hope this helps. If you have additional questions, contact us via our support email.
Thank you for your attention!!
Current product version – 1.0.0
Supported framework version – Odoo 19
PakarPBN
A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.
In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.
The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.

Comments are closed, but trackbacks and pingbacks are open.