Logo Lanfrica

Ayman-muhammad/captive-portal-mpesa

Domain:

digital infrastructure

Record type:

software
Creator:
Aym
Host:
# πŸ“Ά Wi-Fi Pay & Connect > **A lightweight captive portal for purchasing Wi-Fi access through M-Pesa and voucher-based authentication.** Wi-Fi Pay & Connect is a PHP and MySQL-powered captive portal designed for hotspot environments where users can select an internet package, initiate an M-Pesa payment, redeem access vouchers, and check payment status. The system is designed around a simple customer journey: **Choose a package β†’ Pay β†’ Verify β†’ Connect.** --- ## πŸ“Έ Screenshots ### 🏠 Wi-Fi Access Portal The main captive portal allows customers to view available Wi-Fi packages, compare pricing and connection speeds, and initiate payment. --- ### πŸ’³ M-Pesa Payment Interface Customers can select their preferred package and provide their Kenyan mobile number to initiate the M-Pesa payment process. --- ## ✨ Features ### πŸ“Ά Wi-Fi Packages Plans are dynamically retrieved from the database and can contain: * Package name * Duration * Download speed * Upload speed * Price in Kenyan Shillings * Active/inactive status Example: ```text Package β”œβ”€β”€ Name β”œβ”€β”€ Duration β”œβ”€β”€ Download Speed β”œβ”€β”€ Upload Speed └── Price ``` --- ### πŸ’³ M-Pesa Payments The portal provides a payment entry point for M-Pesa customers. The intended payment flow is: ```text Customer β”‚ β–Ό Select Package β”‚ β–Ό Enter Phone Number β”‚ β–Ό Initiate M-Pesa Payment β”‚ β–Ό Customer Authorizes Payment β”‚ β–Ό Payment Verification β”‚ β–Ό Activate Wi-Fi Access ``` --- ### 🎟️ Voucher Support Users who already have a valid access voucher can enter their voucher code instead of making a new payment. ```text Voucher Code β”‚ β–Ό Voucher Validation β”‚ β”œβ”€β”€ Invalid / Expired β”‚ └── Valid β”‚ β–Ό Access Activated ``` --- ### πŸ”Ž Payment Status Customers can check the status of a payment using the phone number associated with the transaction. Possible states can include: ```text PENDING SUCCESS FAILED EXPIRED ``` --- ### 🌐 Client Identification The portal can retrieve the connecting client's: * IP address * MAC address whe …

Languages