Logo Lanfrica
  • Home
  • Atlas
  • Insights
  • Docs
  • Sign in

© 2026 Lanfrica. All rights reserved. All copyrights of the resources shown on the Lanfrica website belong to the original copyright holders, unless explicitly stated otherwise.

makaweys/odoo-mpesa-payments-sms-integrations

Domain:

digital infrastructure

Record type:

software
Creator:
mak
Host:
A secure Node.js bridge service that integrates Odoo with Mpesa payments by providing phone number hashing (SHA256) and SMS functionality. The system handles Kenyan phone numbers in all formats and provides secure endpoints for Odoo automation scripts. # Odoo-Mpesa Payments and SMS Integration A secure Node.js bridge service that integrates Odoo with Mpesa payments by providing phone number hashing (SHA256) and SMS functionality. The system handles Kenyan phone numbers in all formats and provides secure endpoints for Odoo automation scripts. ## Purpose This service solves two key problems in Odoo-Mpesa integration: 1. **Phone Number Privacy**: Hashes customer phone numbers using SHA256 before storing them in Odoo, matching Mpesa's hashing method for payment confirmation matching 2. **SMS Notifications**: Sends payment confirmations and balance notifications to customers via SMS Initiated from Odoo. Check Sammple Odoo Python Automation Scripts under src/odoo ## ✨ Features - **SHA256 Hashing** - Matches Safaricom Mpesa's hashing algorithm - **Multi-format Phone Support** - Handles all Kenyan formats (07, 01, +254, 254, with/without spaces) - **Hash Formats** - Returns `mobile_hash_plus254`, `mobile_hash_07`, `mobile_hash_01`, `mobile_hash_254` as required by Odoo - **Secure** - IP whitelisting and API key authentication - **Rate Limiting** - Prevents abuse with configurable limits - **Comprehensive Logging** - All requests logged with sensitive data masked - **SMS Integration** - Works with Bulk Textsms provider - **Production Ready** - PM2 process management and Docker support Phone Number Format Support The system normalizes all Kenyan phone numbers to the format 254XXXXXXXXX before hashing: Input Format Normalized Hashed Format 0701 234 567 254701234567 +254701234567, 0701234567, 254701234567 0110 345 678 254110345678 +254110345678, 0110345678, 254110345678 +254 701 234 567 254701234567 +254701234567, 0701234567, 254701234567 701234567 254701234567 +254701234567, 0701234567, 254701234567 ## Prerequisites - Node.js 18 or higher - npm or yarn - Bulk Textsms account (for SMS): textsms.co.ke - You can implement such a solution using your preferred provider - Odoo instance with webhook …

Visit

github.com

Languages

Lusengo

Licenses

MIT

Similar

makaweys/nodejs-listener-with-rabbitmq-sms-and-emailcoolsam726/odoo-addon-payment-mpesa-darajaVicStew/face-mpesa-paymentsdanielmaina989/mpesa-payments-systemkachielite2810/mpesa-sms-datasetTeam-Web-Limited/frappe-mpesa-payments

makaweys/nodejs-listener-with-rabbitmq-sms-and-email

This GitHub repository hosts a project that showcases a Node.js application with RabbitMQ integratio

coolsam726/odoo-addon-payment-mpesa-daraja

Website Payments support for Mpesa Daraja

VicStew/face-mpesa-payments

This system facilitates contactless payments using facial recognition. Users can authenticate paymen

danielmaina989/mpesa-payments-system

Production-grade M-Pesa STK Push payment system with async callbacks, idempotency, and reconciliatio

kachielite2810/mpesa-sms-dataset

Team-Web-Limited/frappe-mpesa-payments

## 📲 Frappe Mpesa Payments Frappe Mpesa Payments is a custom Frappe application that integrates wit