kevinowino869 437311194c Update README.md
Signed-off-by: kevinowino869 <kevinowino869@www.codelab.nestict.africa>
2025-03-30 13:24:16 +02:00
2025-03-30 13:07:54 +02:00
2025-03-30 13:09:02 +02:00
2025-03-30 13:12:36 +02:00
2025-03-30 12:45:40 +02:00
2025-03-30 13:24:16 +02:00

### Dolipesa 1.0.1 - M-Pesa Payment Module for Dolibarr ERP Release Date: March 30, 2025
Version: 1.0.1 (Initial Stable Release)
Developed by: [Your Name/Organization]
License: GNU General Public License v3.0 (aligning with Dolibarrs open-source licensing) #### Overview Dolipesa 1.0.1 is a custom payment module designed to integrate M-Pesa, a popular mobile payment service in East Africa, with Dolibarr ERP/CRM. This initial release enables businesses using Dolibarr to accept payments from customers via M-Pesa for invoices, orders, and other transactions directly within the ERP system. The module leverages Dolibarrs native online payment architecture and M-Pesas API to provide a seamless payment experience. #### Features 1. M-Pesa Payment Gateway Integration - Supports M-Pesas STK Push API for prompting customers to enter their PIN on their mobile devices. - Processes payments for customer invoices and sales orders created in Dolibarr. - Compatible with Kenyan Shilling (KES) as the primary currency (expandable in future releases). 2. Payment Confirmation - Real-time transaction verification using M-Pesas callback/result URL. - Updates invoice/order status in Dolibarr (e.g., from "Draft" to "Paid") upon successful payment. 3. Basic Configuration - Admin interface to input M-Pesa API credentials (Consumer Key, Consumer Secret, Shortcode, Passkey). - Option to set a custom payment description visible to customers during STK Push. 4. Transaction Logging - Records M-Pesa transaction IDs and statuses in Dolibarr for reconciliation and auditing. 5. Public Payment Page - Integrates with Dolibarrs /public/payment/newpayment.php endpoint to offer M-Pesa as a payment option. #### Requirements - Dolibarr Version: 19.0.* or higher (tested up to 20.0.0 as of March 30, 2025). - PHP Version: 7.4 or higher (compatible with Dolibarrs requirements). - M-Pesa API Access: - Safaricom M-Pesa Daraja API credentials (Consumer Key, Consumer Secret, Shortcode, Passkey). - A registered callback URL hosted on your Dolibarr server. - Server: HTTPS-enabled web server (required for secure API communication). - Dependencies: PHP cURL extension for API requests. #### Installation Instructions 1. Download the Module - Obtain the dolipesa-1.0.1.zip file from [Your Repository/Dolistore Linkവ 2. Install the Module - Log in to your Dolibarr instance with an administrator account. - Navigate to Home > Setup > Modules > Deploy/Install External App/Module. - Upload the dolipesa-1.0.1.zip file and click Install. - If the upload fails due to hosting restrictions, manually extract the ZIP file into the /custom directory of your Dolibarr installation (e.g., /var/www/dolibarr/custom/dolipesa). 3. Activate the Module - Go to Home > Setup > Modules. - Locate "Dolipesa - M-Pesa Payment" in the list, click Activate, and configure settings if prompted. #### Configuration 1. Obtain M-Pesa API Credentials - Register for Safaricoms Daraja API at developer.safaricom.co.ke. - Generate a Consumer Key, Consumer Secret, and Passkey. - Provide a callback URL (e.g., https://your-dolibarr-domain.com/custom/dolipesa/callback.php). 2. Set Up in Dolibarr - Navigate to Home > Setup > Modules > Dolipesa - M-Pesa Payment > Configure. - Enter your M-Pesa Shortcode, Consumer Key, Consumer Secret, Passkey, and Callback URL. - Save the settings. 3. Test the Integration - Create a test invoice in Dolibarr. - Access the public payment page (e.g., https://your-dolibarr-domain.com/public/payment/newpayment.php?source=invoice&ref=INVREF). - Select "M-Pesa" as the payment method, enter a test phone number, and confirm the STK Push on a test M-Pesa account. #### Usage - For Customers: - On the Dolibarr payment page, choose "M-Pesa," enter your phone number, and approve the STK Push notification on your phone. - For Admins: - Monitor transactions under Bank & Cash > M-Pesa Transactions (new tab added by the module). #### Technical Notes - Hook Implementation: The module uses Dolibarrs "newpayment" context hooks to integrate with /public/payment/newpayment.php, setting required session variables (TRANSACTIONID, FinalPaymentAmt, currencyCodeType) as per Dolibarrs online payment system documentation. - API Calls: Utilizes M-Pesas OAuth token generation and STK Push endpoints (e.g., https://sandbox.safaricom.co.ke/mpesa/stkpush/v1/processrequest for testing). - Security: Ensures HTTPS for all API interactions; API credentials are stored encrypted in Dolibarrs database. #### Known Limitations (1.0.1) - Supports only single-currency transactions (KES). - Basic error handling; no retry mechanism for failed STK Push attempts. - Sandbox mode only (production requires Safaricom approval). #### Changelog - 1.0.1 (March 30, 2025): - Fixed minor bug in callback URL validation. - Initial stable release after 1.0.0 beta testing. #### Future Enhancements (Planned for 1.1.0) - Multi-currency support with automatic conversion. - Retry logic for failed transactions. - Customer notification emails upon payment success. #### Support - Report issues or request features at support@nestict.com. - Documentation available at https://www.community.nestict.com/dashboard.
Description
/** * Dolibarr Module Descriptor for M-Pesa Payment * Author: NESTICT INFOTECH * Version: 1.0.0 */
Readme AGPL-3.0 367 KiB
2025-03-30 14:01:58 +02:00
Languages
PHP 100%