{"id":1639,"date":"2026-09-17T11:03:56","date_gmt":"2026-09-17T08:03:56","guid":{"rendered":"https:\/\/pawa.co.ke\/blog\/?p=1639"},"modified":"2026-09-17T11:03:56","modified_gmt":"2026-09-17T08:03:56","slug":"wifi-voucher-system-kenya-2","status":"publish","type":"post","link":"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/","title":{"rendered":"WiFi Voucher System Kenya | Codes, Agents, Batches, Reconciliation and Fraud"},"content":{"rendered":"<h2 dir=\"ltr\"><a href=\"https:\/\/pawa.co.ke\/blog\/mikrotik-network-monitoring-nairobi\/chatgpt-image-sep-2-2026-11_43_24-am\/\" rel=\"attachment wp-att-1581\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1581\" src=\"https:\/\/pawa.co.ke\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-2-2026-11_43_24-AM.png\" alt=\"WiFi voucher system Kenya\" width=\"1254\" height=\"1254\" srcset=\"https:\/\/pawa.co.ke\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-2-2026-11_43_24-AM.png 1254w, https:\/\/pawa.co.ke\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-2-2026-11_43_24-AM-300x300.png 300w, https:\/\/pawa.co.ke\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-2-2026-11_43_24-AM-1024x1024.png 1024w, https:\/\/pawa.co.ke\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-2-2026-11_43_24-AM-150x150.png 150w, https:\/\/pawa.co.ke\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-2-2026-11_43_24-AM-768x768.png 768w\" sizes=\"auto, (max-width: 1254px) 100vw, 1254px\" \/><\/a><\/h2>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#WiFi_Voucher_System_Kenya_Selling_Access_Where_M-Pesa_Does_Not_Reach\" >WiFi Voucher System Kenya: Selling Access Where M-Pesa Does Not Reach<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Table_of_Contents\" >Table of Contents<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Where_Vouchers_Beat_Direct_Purchase_where-beat\" >Where Vouchers Beat Direct Purchase {#where-beat}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#The_Kenyan_Context_kenyan-context\" >The Kenyan Context {#kenyan-context}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#What_a_Voucher_Actually_Is_what-voucher\" >What a Voucher Actually Is {#what-voucher}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Running_Vouchers_and_M-Pesa_Together_together\" >Running Vouchers and M-Pesa Together {#together}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Agents_and_Shops_agents-shops\" >Agents and Shops {#agents-shops}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Events_and_Institutions_events-institutions\" >Events and Institutions {#events-institutions}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Gifting_and_Bulk_Purchase_gifting-bulk\" >Gifting and Bulk Purchase {#gifting-bulk}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Generation_and_Code_Security_generation\" >Generation and Code Security {#generation}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Code_Design_and_Usability_code-design\" >Code Design and Usability {#code-design}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Batches_batches\" >Batches {#batches}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Printed_Vouchers_printed\" >Printed Vouchers {#printed}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Digital_Vouchers_digital\" >Digital Vouchers {#digital}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#What_a_Voucher_Buys_package-mapping\" >What a Voucher Buys {#package-mapping}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Single-Use_and_Device_Limits_single-use\" >Single-Use and Device Limits {#single-use}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Two_Expiries_Sale_and_Session_expiry\" >Two Expiries: Sale and Session {#expiry}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#The_Redemption_Flow_redemption\" >The Redemption Flow {#redemption}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Agent_Onboarding_agent-onboarding\" >Agent Onboarding {#agent-onboarding}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Agent_Stock_and_Issue_agent-stock\" >Agent Stock and Issue {#agent-stock}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Agent_Pricing_and_Commission_agent-commission\" >Agent Pricing and Commission {#agent-commission}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Agent_Reconciliation_agent-reconciliation\" >Agent Reconciliation {#agent-reconciliation}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Agent_Fraud_and_Controls_agent-fraud\" >Agent Fraud and Controls {#agent-fraud}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Physical_Security_of_Stock_physical-security\" >Physical Security of Stock {#physical-security}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Customer_Fraud_Guessing_Sharing_and_Counterfeits_customer-fraud\" >Customer Fraud: Guessing, Sharing and Counterfeits {#customer-fraud}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Sold_Versus_Redeemed_The_Liability_liability\" >Sold Versus Redeemed: The Liability {#liability}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Reporting_reporting\" >Reporting {#reporting}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Redemption_Support_support\" >Redemption Support {#support}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Refunds_and_Replacements_refunds\" >Refunds and Replacements {#refunds}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Institutional_Buyers_institutional\" >Institutional Buyers {#institutional}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Vouchers_in_Reseller_Networks_resellers\" >Vouchers in Reseller Networks {#resellers}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Integration_With_MikroTik_and_RADIUS_integration\" >Integration With MikroTik and RADIUS {#integration}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Offline_Redemption_offline\" >Offline Redemption {#offline}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Data_Protection_and_the_Anonymity_Advantage_data-protection\" >Data Protection and the Anonymity Advantage {#data-protection}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Regulatory_Note_regulatory\" >Regulatory Note {#regulatory}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Costs_and_Implementation_costs\" >Costs and Implementation {#costs}<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/pawa.co.ke\/blog\/wifi-voucher-system-kenya-2\/#Frequently_Asked_Questions_faqs\" >Frequently Asked Questions {#faqs}<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"WiFi_Voucher_System_Kenya_Selling_Access_Where_M-Pesa_Does_Not_Reach\"><\/span>WiFi Voucher System Kenya: Selling Access Where M-Pesa Does Not Reach<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p dir=\"ltr\"><a href=\"https:\/\/pawa.co.ke\">WiFi voucher system Kenya<\/a> is the part of hotspot operations that serves the customers a payment portal quietly loses.<\/p>\n<p dir=\"ltr\">The portal works beautifully for a customer with a phone, M-Pesa and a moment to complete a prompt. It does not work for the customer who prefers cash, the one whose M-Pesa balance is empty, the one who wants to buy access for someone else, the shopkeeper who wants to sell WiFi over the counter alongside airtime, the school that wants to hand out access to a hundred students, or the event organiser who wants to include connectivity in a ticket.<\/p>\n<p dir=\"ltr\">Each of those is a sale the portal cannot make, and vouchers are how an operator makes it \u2014 a code that carries a package, sold anywhere, redeemed on the portal by anyone who holds it.<\/p>\n<p dir=\"ltr\">The trade is that vouchers introduce everything a payment prompt avoids: physical stock that can be stolen, agents who must be reconciled, codes that can be guessed or copied, batches that expire unsold, and the accounting question of when a voucher becomes revenue. An operator who treats vouchers as a printout will lose money to every one of those; an operator who treats them as a system will reach customers the portal never could.<\/p>\n<p dir=\"ltr\">This guide covers doing it properly: where vouchers beat direct purchase, generation and code design, printed and digital forms, batches and expiry, the redemption flow, agents from onboarding through commission to reconciliation, fraud on both sides, the sold-versus-redeemed liability, support, institutional and reseller use, integration with the router and the data protection position.<\/p>\n<p dir=\"ltr\">The value of a <a href=\"https:\/\/zama.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> is a second sales channel that reaches cash and bulk buyers, and a <a href=\"https:\/\/dexa.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that tracks every code from generation through issue to redemption is what makes that channel accountable \u2014 which is why a <a href=\"https:\/\/pawa.co.ke\">WiFi voucher system Kenya<\/a> should be judged on batch tracking and agent reconciliation before print quality.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Table_of_Contents\"><\/span>Table of Contents<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol dir=\"ltr\">\n<li><a href=\"#where-beat\">Where Vouchers Beat Direct Purchase<\/a><\/li>\n<li><a href=\"#kenyan-context\">The Kenyan Context<\/a><\/li>\n<li><a href=\"#what-voucher\">What a Voucher Actually Is<\/a><\/li>\n<li><a href=\"#together\">Running Vouchers and M-Pesa Together<\/a><\/li>\n<li><a href=\"#agents-shops\">Agents and Shops<\/a><\/li>\n<li><a href=\"#events-institutions\">Events and Institutions<\/a><\/li>\n<li><a href=\"#gifting-bulk\">Gifting and Bulk Purchase<\/a><\/li>\n<li><a href=\"#generation\">Generation and Code Security<\/a><\/li>\n<li><a href=\"#code-design\">Code Design and Usability<\/a><\/li>\n<li><a href=\"#batches\">Batches<\/a><\/li>\n<li><a href=\"#printed\">Printed Vouchers<\/a><\/li>\n<li><a href=\"#digital\">Digital Vouchers<\/a><\/li>\n<li><a href=\"#package-mapping\">What a Voucher Buys<\/a><\/li>\n<li><a href=\"#single-use\">Single-Use and Device Limits<\/a><\/li>\n<li><a href=\"#expiry\">Two Expiries: Sale and Session<\/a><\/li>\n<li><a href=\"#redemption\">The Redemption Flow<\/a><\/li>\n<li><a href=\"#agent-onboarding\">Agent Onboarding<\/a><\/li>\n<li><a href=\"#agent-stock\">Agent Stock and Issue<\/a><\/li>\n<li><a href=\"#agent-commission\">Agent Pricing and Commission<\/a><\/li>\n<li><a href=\"#agent-reconciliation\">Agent Reconciliation<\/a><\/li>\n<li><a href=\"#agent-fraud\">Agent Fraud and Controls<\/a><\/li>\n<li><a href=\"#physical-security\">Physical Security of Stock<\/a><\/li>\n<li><a href=\"#customer-fraud\">Customer Fraud: Guessing, Sharing and Counterfeits<\/a><\/li>\n<li><a href=\"#liability\">Sold Versus Redeemed: The Liability<\/a><\/li>\n<li><a href=\"#reporting\">Reporting<\/a><\/li>\n<li><a href=\"#support\">Redemption Support<\/a><\/li>\n<li><a href=\"#refunds\">Refunds and Replacements<\/a><\/li>\n<li><a href=\"#institutional\">Institutional Buyers<\/a><\/li>\n<li><a href=\"#resellers\">Vouchers in Reseller Networks<\/a><\/li>\n<li><a href=\"#integration\">Integration With MikroTik and RADIUS<\/a><\/li>\n<li><a href=\"#offline\">Offline Redemption<\/a><\/li>\n<li><a href=\"#data-protection\">Data Protection and the Anonymity Advantage<\/a><\/li>\n<li><a href=\"#regulatory\">Regulatory Note<\/a><\/li>\n<li><a href=\"#costs\">Costs and Implementation<\/a><\/li>\n<li><a href=\"#faqs\">Frequently Asked Questions<\/a><\/li>\n<\/ol>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Where_Vouchers_Beat_Direct_Purchase_where-beat\"><\/span>Where Vouchers Beat Direct Purchase {#where-beat}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Vouchers exist for the sales the portal cannot make.<\/p>\n<p dir=\"ltr\">Cash customers who do not want to or cannot pay by M-Pesa at that moment.<\/p>\n<p dir=\"ltr\">Customers with no M-Pesa balance but cash in hand.<\/p>\n<p dir=\"ltr\">Purchase for another person.<\/p>\n<p dir=\"ltr\">Sale through a third party such as a shop, a kiosk or an agent.<\/p>\n<p dir=\"ltr\">Bulk purchase by an institution for many users.<\/p>\n<p dir=\"ltr\">Inclusion in something else, such as an event ticket or a room rate.<\/p>\n<p dir=\"ltr\">Purchase where the customer is not yet connected and cannot reach the portal.<\/p>\n<p dir=\"ltr\">Very small transactions where M-Pesa charges make direct purchase uneconomic.<\/p>\n<p dir=\"ltr\">Each is a customer, and a <a href=\"https:\/\/pms.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> reaches them where the portal alone does not, which is why a <a href=\"https:\/\/estateadmin.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> is a second channel rather than a replacement for the first.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"The_Kenyan_Context_kenyan-context\"><\/span>The Kenyan Context {#kenyan-context}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Local conditions make vouchers a natural fit.<\/p>\n<p dir=\"ltr\">Airtime scratch cards established the model, and customers understand buying a code over a counter.<\/p>\n<p dir=\"ltr\">Kiosks and dukas are everywhere and already sell airtime, which makes them natural WiFi agents.<\/p>\n<p dir=\"ltr\">Cash remains substantial in many segments.<\/p>\n<p dir=\"ltr\">M-Pesa transaction charges on very small amounts make a printed code bought for cash cheaper for both parties.<\/p>\n<p dir=\"ltr\">Events, stages, markets and hostels have customers who want access now and may not have M-Pesa balance.<\/p>\n<p dir=\"ltr\">Institutions including schools, colleges and churches buy in bulk.<\/p>\n<p dir=\"ltr\">Agent and reseller structures extend operators&#8217; reach into areas they do not staff.<\/p>\n<p dir=\"ltr\">Low-literacy and older users find a printed code simpler than a payment prompt.<\/p>\n<p dir=\"ltr\">Printed stock in a market context is exposed, which the security sections address.<\/p>\n<p dir=\"ltr\">A <a href=\"https:\/\/churchesadmin.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> built on the airtime model that customers already know is adopted quickly, and a <a href=\"https:\/\/vega.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that ignores the agent channel leaves the duka&#8217;s counter to a competitor.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"What_a_Voucher_Actually_Is_what-voucher\"><\/span>What a Voucher Actually Is {#what-voucher}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Precision about the object helps every decision that follows.<\/p>\n<p dir=\"ltr\">A code that, when entered on the portal, grants a defined package.<\/p>\n<p dir=\"ltr\">The package defines time, data, bandwidth and any other terms.<\/p>\n<p dir=\"ltr\">The code is generated by the system, recorded, and marked redeemed on use.<\/p>\n<p dir=\"ltr\">It may be printed, sent digitally or displayed.<\/p>\n<p dir=\"ltr\">It carries no identity, since anyone holding it can redeem it.<\/p>\n<p dir=\"ltr\">It is a bearer instrument, which is why it behaves like cash and must be secured like cash.<\/p>\n<p dir=\"ltr\">Its value exists from generation until redemption or expiry.<\/p>\n<p dir=\"ltr\">The system&#8217;s job is to know the state of every code at every moment, and a <a href=\"https:\/\/dereva.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that can say for any code whether it is unissued, issued to an agent, sold, redeemed or expired is accountable, while a <a href=\"https:\/\/jaat.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that printed codes and lost track of them has issued cash it cannot count.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Running_Vouchers_and_M-Pesa_Together_together\"><\/span>Running Vouchers and M-Pesa Together {#together}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Most operators should run both channels on the same portal.<\/p>\n<p dir=\"ltr\">M-Pesa on the portal for customers who can pay directly.<\/p>\n<p dir=\"ltr\">Voucher entry on the same portal for customers holding a code.<\/p>\n<p dir=\"ltr\">Same packages available through both, priced consistently.<\/p>\n<p dir=\"ltr\">Same session management after access is granted.<\/p>\n<p dir=\"ltr\">One customer base, one router configuration.<\/p>\n<p dir=\"ltr\">Reporting that shows revenue by channel.<\/p>\n<p dir=\"ltr\">The portal presents both options, and a <a href=\"https:\/\/wito.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that sits beside M-Pesa on one login page serves every customer whichever way they arrived, which a <a href=\"https:\/\/awasam.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> run as a separate arrangement would not.<\/p>\n<p dir=\"ltr\">Consistency between channels, since a customer who finds the voucher price differs from the M-Pesa price will ask why.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Agents_and_Shops_agents-shops\"><\/span>Agents and Shops {#agents-shops}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Agents are the primary reason to run vouchers and they need managing as a channel.<\/p>\n<p dir=\"ltr\">Kiosks, dukas, phone shops and airtime sellers near the hotspot.<\/p>\n<p dir=\"ltr\">They stock vouchers and sell for cash.<\/p>\n<p dir=\"ltr\">They earn a commission or buy at a discount and sell at face value.<\/p>\n<p dir=\"ltr\">They extend the operator&#8217;s reach without the operator staffing a sales point.<\/p>\n<p dir=\"ltr\">They serve customers who would never use the portal directly.<\/p>\n<p dir=\"ltr\">They must be onboarded, stocked, reconciled and monitored, which the agent sections address.<\/p>\n<p dir=\"ltr\">The channel is only as good as its reconciliation, since a <a href=\"https:\/\/saseni.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> with agents who are never reconciled is giving away stock, and a <a href=\"https:\/\/prim.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that tracks every code issued to every agent knows what each owes.<\/p>\n<p dir=\"ltr\">Choose agents on trust and location, since a badly placed agent sells nothing and an untrustworthy one costs more than they sell.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Events_and_Institutions_events-institutions\"><\/span>Events and Institutions {#events-institutions}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Bulk and event use suits vouchers exactly.<\/p>\n<p dir=\"ltr\">Events issuing access with tickets or at registration.<\/p>\n<p dir=\"ltr\">Conferences providing delegate WiFi.<\/p>\n<p dir=\"ltr\">Schools and colleges issuing access to students, which the schools and hostels articles address in their contexts.<\/p>\n<p dir=\"ltr\">Churches providing access at conventions.<\/p>\n<p dir=\"ltr\">Hostels including access in the rent or selling at reception.<\/p>\n<p dir=\"ltr\">Hotels including access in the room rate.<\/p>\n<p dir=\"ltr\">Batch generation for the event or term.<\/p>\n<p dir=\"ltr\">Distribution by the institution rather than the operator.<\/p>\n<p dir=\"ltr\">Expiry aligned to the event or period.<\/p>\n<p dir=\"ltr\">Institutional buyers want a batch, a price and a report, and a <a href=\"https:\/\/rentaldesk.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that generates a thousand codes for a conference with a three-day expiry serves them in minutes, which a <a href=\"https:\/\/fama.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> without batch capability cannot.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Gifting_and_Bulk_Purchase_gifting-bulk\"><\/span>Gifting and Bulk Purchase {#gifting-bulk}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Some customers buy for others or buy ahead.<\/p>\n<p dir=\"ltr\">A parent buying access for a student.<\/p>\n<p dir=\"ltr\">An employer buying for staff.<\/p>\n<p dir=\"ltr\">A customer buying a week&#8217;s worth of daily codes at once.<\/p>\n<p dir=\"ltr\">A customer buying for a household with several devices.<\/p>\n<p dir=\"ltr\">Bulk pricing where offered.<\/p>\n<p dir=\"ltr\">Delivery by message to the recipient.<\/p>\n<p dir=\"ltr\">The voucher&#8217;s anonymity makes this work, since the buyer need not be the user, and a <a href=\"https:\/\/spacekits.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that lets a customer buy five codes and forward them serves a need the portal&#8217;s single-payer flow does not, which is why a <a href=\"https:\/\/dexa.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> is the gifting channel by default.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Generation_and_Code_Security_generation\"><\/span>Generation and Code Security {#generation}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">How codes are made determines whether they can be guessed.<\/p>\n<p dir=\"ltr\">Generated by the system, never by hand.<\/p>\n<p dir=\"ltr\">Random rather than sequential, since sequential codes let anyone who holds one guess the next.<\/p>\n<p dir=\"ltr\">Sufficient length that guessing is impractical.<\/p>\n<p dir=\"ltr\">Unique across all batches ever generated.<\/p>\n<p dir=\"ltr\">Recorded at generation with batch, package and status.<\/p>\n<p dir=\"ltr\">Never displayed in full to anyone who does not need to see them.<\/p>\n<p dir=\"ltr\">Sequential codes are the common and serious error, since a <a href=\"https:\/\/pawa.co.ke\">WiFi voucher system Kenya<\/a> that printed codes 1001 through 2000 has told every customer how to get nine hundred and ninety-nine free sessions, and a <a href=\"https:\/\/pms.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> generating random unique codes has closed that entirely.<\/p>\n<p dir=\"ltr\">Verify the generation method before trusting the system.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Code_Design_and_Usability_code-design\"><\/span>Code Design and Usability {#code-design}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">The code must be secure and also usable by the person entering it.<\/p>\n<p dir=\"ltr\">Length balancing security against typing effort.<\/p>\n<p dir=\"ltr\">Characters that are unambiguous, avoiding pairs that look alike on a printed card or a small screen.<\/p>\n<p dir=\"ltr\">Grouping into segments for readability.<\/p>\n<p dir=\"ltr\">Case handling so a customer typing lowercase is not rejected.<\/p>\n<p dir=\"ltr\">Clear instructions on the voucher about where to enter it.<\/p>\n<p dir=\"ltr\">Short enough to read aloud over a counter.<\/p>\n<p dir=\"ltr\">A code that customers cannot enter correctly generates support calls, and a <a href=\"https:\/\/estateadmin.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> with codes designed for a person typing on a phone in a market gets redeemed, while a <a href=\"https:\/\/churchesadmin.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> with long codes full of ambiguous characters gets &#8220;voucher not working&#8221; calls all day.<\/p>\n<p dir=\"ltr\">Test it with real users before printing thousands.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Batches_batches\"><\/span>Batches {#batches}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Batches are how vouchers are managed at scale.<\/p>\n<p dir=\"ltr\">A batch is a set of codes generated together for a package and a purpose.<\/p>\n<p dir=\"ltr\">Batch identifier, package, quantity, generation date and expiry.<\/p>\n<p dir=\"ltr\">Assignment of a batch to an agent, an event or an institution.<\/p>\n<p dir=\"ltr\">Status of the batch and of each code within it.<\/p>\n<p dir=\"ltr\">Reports per batch showing issued, sold, redeemed and expired.<\/p>\n<p dir=\"ltr\">Batches make accountability possible, since a <a href=\"https:\/\/vega.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that knows batch forty-two went to the kiosk at the stage and has sixty of a hundred codes redeemed knows what that agent has sold, and a <a href=\"https:\/\/dereva.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> without batches has a pile of codes and no idea where they went.<\/p>\n<p dir=\"ltr\">Size batches to the channel, since a small agent does not need a thousand codes in stock.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Printed_Vouchers_printed\"><\/span>Printed Vouchers {#printed}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Printed cards are the traditional form and they need care.<\/p>\n<p dir=\"ltr\">Printed with the code, the package, the price, the expiry, instructions and the operator&#8217;s branding.<\/p>\n<p dir=\"ltr\">Scratch panel or concealed code where the printing allows, so a code cannot be read without buying.<\/p>\n<p dir=\"ltr\">Durable enough to survive a kiosk.<\/p>\n<p dir=\"ltr\">Numbered for stock control.<\/p>\n<p dir=\"ltr\">Printed from the system&#8217;s batch rather than typed into a design.<\/p>\n<p dir=\"ltr\">Print quantity matched to demand, since printed stock is value at risk.<\/p>\n<p dir=\"ltr\">Secure printing and delivery, since a print run is cash in transit.<\/p>\n<p dir=\"ltr\">The scratch panel matters, since a <a href=\"https:\/\/jaat.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> with visible codes on cards lets a browsing customer photograph the rack and leave, and a <a href=\"https:\/\/wito.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> with concealed codes keeps the value inside the card until it is sold.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Digital_Vouchers_digital\"><\/span>Digital Vouchers {#digital}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Digital codes remove the physical risk and suit some channels.<\/p>\n<p dir=\"ltr\">Sent by message to a customer or agent.<\/p>\n<p dir=\"ltr\">Displayed on an agent&#8217;s phone for the customer to enter.<\/p>\n<p dir=\"ltr\">Issued at reception, at an event desk or by an institution.<\/p>\n<p dir=\"ltr\">No printing, no stock, no theft of cards.<\/p>\n<p dir=\"ltr\">Screenshot and forwarding risk, since a digital code shared is a digital code redeemed by whoever is first.<\/p>\n<p dir=\"ltr\">Single-use makes forwarding self-limiting.<\/p>\n<p dir=\"ltr\">Agent apps where the agent generates a code at the point of sale rather than holding stock.<\/p>\n<p dir=\"ltr\">The agent-generates-on-sale model is the most controlled, since a <a href=\"https:\/\/awasam.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> where the agent creates the code when the customer pays has no unsold stock to reconcile, and a <a href=\"https:\/\/saseni.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> where the agent holds printed stock has value sitting on a shelf.<\/p>\n<p dir=\"ltr\">Choose the form for the channel.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"What_a_Voucher_Buys_package-mapping\"><\/span>What a Voucher Buys {#package-mapping}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Each code maps to a package and the mapping should be clear.<\/p>\n<p dir=\"ltr\">Time-based, data-based or hybrid, as the hotspot billing article describes.<\/p>\n<p dir=\"ltr\">Bandwidth profile.<\/p>\n<p dir=\"ltr\">Device limit.<\/p>\n<p dir=\"ltr\">Validity window once redeemed.<\/p>\n<p dir=\"ltr\">Printed on the voucher so the customer knows what they bought.<\/p>\n<p dir=\"ltr\">Consistent with the portal&#8217;s packages.<\/p>\n<p dir=\"ltr\">A voucher whose package the customer misunderstands is a complaint, and a <a href=\"https:\/\/prim.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that prints &#8220;24 hours, 1 device&#8221; on the card has set the expectation, while a <a href=\"https:\/\/rentaldesk.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that sells a code with no stated terms will hear &#8220;I thought it was for a week&#8221;.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Single-Use_and_Device_Limits_single-use\"><\/span>Single-Use and Device Limits {#single-use}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">A voucher should work once and the system must enforce it.<\/p>\n<p dir=\"ltr\">Marked redeemed on first use.<\/p>\n<p dir=\"ltr\">Rejected on second use with a clear message.<\/p>\n<p dir=\"ltr\">Device limit per code where the package allows more than one.<\/p>\n<p dir=\"ltr\">Session bound to the device that redeemed.<\/p>\n<p dir=\"ltr\">Re-entry by the same device within the session permitted, since a phone that reconnects should not need a new code.<\/p>\n<p dir=\"ltr\">Enforcement is what prevents sharing, since a <a href=\"https:\/\/fama.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that rejects the second redemption makes forwarding pointless, and a <a href=\"https:\/\/spacekits.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that allowed a code to be used repeatedly has sold one session and delivered many.<\/p>\n<p dir=\"ltr\">Test it, since single-use enforcement that has never been exercised may not work.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Two_Expiries_Sale_and_Session_expiry\"><\/span>Two Expiries: Sale and Session {#expiry}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Vouchers carry two expiries and confusing them causes disputes.<\/p>\n<p dir=\"ltr\">Sale expiry is the date by which an unredeemed code must be used.<\/p>\n<p dir=\"ltr\">Session expiry is how long access lasts once the code is redeemed.<\/p>\n<p dir=\"ltr\">A card bought in June with a December sale expiry and a 24-hour session gives one day of access, redeemable any time before December.<\/p>\n<p dir=\"ltr\">Both should be printed.<\/p>\n<p dir=\"ltr\">Sale expiry limits the operator&#8217;s open liability, since codes valid forever are obligations forever.<\/p>\n<p dir=\"ltr\">Session expiry is the package.<\/p>\n<p dir=\"ltr\">Agents should not sell codes past their sale expiry, and the system should refuse them.<\/p>\n<p dir=\"ltr\">Expired unsold stock returned and written back.<\/p>\n<p dir=\"ltr\">Clarity prevents the argument, since a <a href=\"https:\/\/dexa.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that prints both dates clearly has told the customer what they hold, and a <a href=\"https:\/\/pawa.co.ke\">WiFi voucher system Kenya<\/a> that prints one date will be asked which it means.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"The_Redemption_Flow_redemption\"><\/span>The Redemption Flow {#redemption}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Redemption is the customer&#8217;s moment and it should be fast.<\/p>\n<p dir=\"ltr\">Customer connects to the WiFi.<\/p>\n<p dir=\"ltr\">Portal appears.<\/p>\n<p dir=\"ltr\">Customer chooses voucher entry.<\/p>\n<p dir=\"ltr\">Enters the code.<\/p>\n<p dir=\"ltr\">System validates: exists, unredeemed, within sale expiry, correct package.<\/p>\n<p dir=\"ltr\">Access granted with the package&#8217;s terms.<\/p>\n<p dir=\"ltr\">Confirmation shown with session length.<\/p>\n<p dir=\"ltr\">Failure messages that explain, since &#8220;invalid&#8221; tells the customer nothing while &#8220;already used&#8221; or &#8220;expired&#8221; tells them what happened.<\/p>\n<p dir=\"ltr\">Seconds, since a customer standing at a kiosk with a card wants to be online now.<\/p>\n<p dir=\"ltr\">The failure message matters, since a <a href=\"https:\/\/pms.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that tells the customer the code was already redeemed at 10:14 has explained something, and a <a href=\"https:\/\/estateadmin.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that says &#8220;error&#8221; has generated a support call.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Agent_Onboarding_agent-onboarding\"><\/span>Agent Onboarding {#agent-onboarding}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Agents should be set up deliberately.<\/p>\n<p dir=\"ltr\">Identity and contact.<\/p>\n<p dir=\"ltr\">Location.<\/p>\n<p dir=\"ltr\">Agreement covering pricing, commission, stock, reconciliation, returns and termination.<\/p>\n<p dir=\"ltr\">Initial stock or app access.<\/p>\n<p dir=\"ltr\">Training on selling, on the redemption instructions and on what to tell customers.<\/p>\n<p dir=\"ltr\">Point of contact for problems.<\/p>\n<p dir=\"ltr\">A written agreement, since a <a href=\"https:\/\/churchesadmin.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> with agents on verbal arrangements will dispute commission and stock, and a <a href=\"https:\/\/vega.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> with a one-page agreement per agent has the terms recorded.<\/p>\n<p dir=\"ltr\">Start small with a new agent, since trust is established through reconciliation.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Agent_Stock_and_Issue_agent-stock\"><\/span>Agent Stock and Issue {#agent-stock}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Stock issued to agents is value in their hands and must be tracked.<\/p>\n<p dir=\"ltr\">Issue recorded per agent, per batch, per code.<\/p>\n<p dir=\"ltr\">Agent acknowledgement of receipt.<\/p>\n<p dir=\"ltr\">Running stock position per agent.<\/p>\n<p dir=\"ltr\">Replenishment when stock runs low.<\/p>\n<p dir=\"ltr\">Returns of unsold or expired stock recorded.<\/p>\n<p dir=\"ltr\">Digital issue where the agent generates on sale, which removes stock entirely.<\/p>\n<p dir=\"ltr\">Every code issued should be traceable to an agent, since a <a href=\"https:\/\/dereva.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that knows which codes each agent holds can reconcile them, and a <a href=\"https:\/\/jaat.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that handed an agent a stack of cards without recording which has issued cash without a receipt.<\/p>\n<p dir=\"ltr\">Do not over-issue, since stock an agent cannot sell is exposed for no benefit.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Agent_Pricing_and_Commission_agent-commission\"><\/span>Agent Pricing and Commission {#agent-commission}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">The agent&#8217;s margin is what makes the channel work for them.<\/p>\n<p dir=\"ltr\">Discount purchase, where the agent buys codes below face value and sells at face.<\/p>\n<p dir=\"ltr\">Commission, where the agent sells at face and is paid a percentage.<\/p>\n<p dir=\"ltr\">Prepaid stock, where the agent pays for codes on issue.<\/p>\n<p dir=\"ltr\">Credit stock, where the agent pays after selling, which carries risk.<\/p>\n<p dir=\"ltr\">Face value fixed, so customers pay the same at every agent.<\/p>\n<p dir=\"ltr\">Margin sufficient to motivate, since an agent earning almost nothing per code will not bother.<\/p>\n<p dir=\"ltr\">Prepaid is safer for the operator, since a <a href=\"https:\/\/wito.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> where agents pay for stock on issue carries no agent receivables, and a <a href=\"https:\/\/awasam.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> on credit terms must reconcile and collect.<\/p>\n<p dir=\"ltr\">Document the terms per agent.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Agent_Reconciliation_agent-reconciliation\"><\/span>Agent Reconciliation {#agent-reconciliation}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Reconciliation is the control that makes the agent channel viable.<\/p>\n<p dir=\"ltr\">Codes issued to the agent.<\/p>\n<p dir=\"ltr\">Codes redeemed by customers, which the system knows.<\/p>\n<p dir=\"ltr\">Codes returned.<\/p>\n<p dir=\"ltr\">Codes remaining in stock.<\/p>\n<p dir=\"ltr\">Cash due from the agent for redeemed codes where on credit.<\/p>\n<p dir=\"ltr\">The equation: issued equals redeemed plus returned plus remaining, and any gap is a question.<\/p>\n<p dir=\"ltr\">Regular, weekly or at each replenishment.<\/p>\n<p dir=\"ltr\">Discrepancies investigated, since a code the agent says is unsold that the system shows redeemed is a code the agent sold and did not report.<\/p>\n<p dir=\"ltr\">Redemption data is the operator&#8217;s advantage, since a <a href=\"https:\/\/saseni.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> knows every code that was redeemed regardless of what the agent reports, which makes a <a href=\"https:\/\/prim.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> reconciliation a check of the agent&#8217;s account against the system&#8217;s rather than a negotiation.<\/p>\n<p dir=\"ltr\">Present it as protecting the agent too, since an honest agent whose sales are verified by redemption cannot be accused of skimming.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Agent_Fraud_and_Controls_agent-fraud\"><\/span>Agent Fraud and Controls {#agent-fraud}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Agents can defraud and the system should make it detectable.<\/p>\n<p dir=\"ltr\">Selling codes and reporting them unsold.<\/p>\n<p dir=\"ltr\">Selling above face value.<\/p>\n<p dir=\"ltr\">Selling expired codes.<\/p>\n<p dir=\"ltr\">Redeeming codes themselves and reporting them sold.<\/p>\n<p dir=\"ltr\">Claiming stock was lost or stolen.<\/p>\n<p dir=\"ltr\">Controls include redemption tracking, prepaid stock, regular reconciliation, spot checks and customer complaints as a signal.<\/p>\n<p dir=\"ltr\">Redemption tracking catches the first, since the system knows the code was used.<\/p>\n<p dir=\"ltr\">Prepaid stock removes the incentive for several.<\/p>\n<p dir=\"ltr\">Pattern review across agents surfaces outliers.<\/p>\n<p dir=\"ltr\">Investigate before accusing, since a mismatch may be a recording error, and an accusation against an agent in a small community carries consequences, and a <a href=\"https:\/\/rentaldesk.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that shows the redemption timestamps gives the operator facts to raise, while a <a href=\"https:\/\/fama.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> without them leaves the operator suspecting without evidence.<\/p>\n<p dir=\"ltr\">Terminate agents who cannot reconcile, and record it.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Physical_Security_of_Stock_physical-security\"><\/span>Physical Security of Stock {#physical-security}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Printed vouchers are cash and should be handled as such.<\/p>\n<p dir=\"ltr\">Secure storage at the operator&#8217;s premises.<\/p>\n<p dir=\"ltr\">Controlled issue with records.<\/p>\n<p dir=\"ltr\">Secure transport to agents.<\/p>\n<p dir=\"ltr\">Agent storage, which is the agent&#8217;s responsibility and should be in the agreement.<\/p>\n<p dir=\"ltr\">Theft of stock, and whether the codes can be cancelled.<\/p>\n<p dir=\"ltr\">Cancellation capability, since a <a href=\"https:\/\/spacekits.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that can void a stolen batch before it is redeemed has limited the loss, and a <a href=\"https:\/\/dexa.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that cannot has issued cash it cannot recall.<\/p>\n<p dir=\"ltr\">Batch-level cancellation is the reason to track batches.<\/p>\n<p dir=\"ltr\">Insurance for stock where the value warrants it.<\/p>\n<p dir=\"ltr\">Digital issue removes the problem, which is an argument for it where the channel allows.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Customer_Fraud_Guessing_Sharing_and_Counterfeits_customer-fraud\"><\/span>Customer Fraud: Guessing, Sharing and Counterfeits {#customer-fraud}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Customers also attempt fraud and the controls are mostly automatic.<\/p>\n<p dir=\"ltr\">Guessing codes, prevented by random generation and length.<\/p>\n<p dir=\"ltr\">Rate limiting on the portal so repeated guesses are blocked.<\/p>\n<p dir=\"ltr\">Sharing a code, prevented by single-use.<\/p>\n<p dir=\"ltr\">Counterfeit vouchers printed to look like the operator&#8217;s, which fail on redemption but damage the brand.<\/p>\n<p dir=\"ltr\">Reselling codes above face value, which the operator can discourage but not fully prevent.<\/p>\n<p dir=\"ltr\">Chargeback-style disputes where a customer claims a code did not work.<\/p>\n<p dir=\"ltr\">Rate limiting matters, since a <a href=\"https:\/\/pawa.co.ke\">WiFi voucher system Kenya<\/a> that allows unlimited attempts invites automated guessing, and a <a href=\"https:\/\/pms.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that blocks a device after a few failures has closed it.<\/p>\n<p dir=\"ltr\">Counterfeits are a sign the brand is worth copying and a reason to make genuine vouchers distinguishable.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Sold_Versus_Redeemed_The_Liability_liability\"><\/span>Sold Versus Redeemed: The Liability {#liability}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">The accounting question is when a voucher becomes revenue.<\/p>\n<p dir=\"ltr\">A code sold and not yet redeemed is an obligation to provide access.<\/p>\n<p dir=\"ltr\">Revenue recognition may follow sale or redemption depending on the operator&#8217;s accounting basis, which warrants qualified advice.<\/p>\n<p dir=\"ltr\">Unredeemed codes are a liability until they expire.<\/p>\n<p dir=\"ltr\">Breakage, being codes sold and never redeemed, is real and it should not be counted on.<\/p>\n<p dir=\"ltr\">Sale expiry limits the liability&#8217;s duration.<\/p>\n<p dir=\"ltr\">Reporting both figures shows the position.<\/p>\n<p dir=\"ltr\">An operator who counts every sold code as revenue and then must honour a wave of redemptions has misunderstood the position, and a <a href=\"https:\/\/estateadmin.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> reporting sold, redeemed and outstanding separately shows the obligation, while a <a href=\"https:\/\/churchesadmin.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> reporting sales alone conceals it.<\/p>\n<p dir=\"ltr\">Take qualified advice on treatment, since it affects both accounts and tax.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Reporting_reporting\"><\/span>Reporting {#reporting}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">A focused set runs the voucher channel.<\/p>\n<p dir=\"ltr\">Codes generated, issued, sold, redeemed, expired and outstanding, by batch.<\/p>\n<p dir=\"ltr\">Revenue by channel, voucher versus M-Pesa.<\/p>\n<p dir=\"ltr\">Agent performance including sales and reconciliation status.<\/p>\n<p dir=\"ltr\">Redemption by package, time and site.<\/p>\n<p dir=\"ltr\">Failed redemptions and their reasons.<\/p>\n<p dir=\"ltr\">Outstanding liability.<\/p>\n<p dir=\"ltr\">Stock position per agent.<\/p>\n<p dir=\"ltr\">Agent reconciliation status is the operational measure, since a <a href=\"https:\/\/vega.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> showing which agents are overdue for reconciliation directs the operator&#8217;s attention, and outstanding liability is the financial one, which a <a href=\"https:\/\/dereva.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> should surface prominently.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Redemption_Support_support\"><\/span>Redemption Support {#support}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">&#8220;Voucher not working&#8221; is the support call and most causes are identifiable.<\/p>\n<p dir=\"ltr\">Code entered wrongly, which code design reduces.<\/p>\n<p dir=\"ltr\">Code already redeemed, which the message should say.<\/p>\n<p dir=\"ltr\">Code expired.<\/p>\n<p dir=\"ltr\">Code from a different operator or site.<\/p>\n<p dir=\"ltr\">Portal not appearing, which the MikroTik configuration article addresses.<\/p>\n<p dir=\"ltr\">Counterfeit.<\/p>\n<p dir=\"ltr\">Lookup by code so the operator sees its status and history immediately.<\/p>\n<p dir=\"ltr\">Reissue where the fault is the operator&#8217;s.<\/p>\n<p dir=\"ltr\">Explain rather than deny, since a <a href=\"https:\/\/jaat.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that lets the agent or the operator look up a code and see it was redeemed yesterday at a particular time resolves the call, and a <a href=\"https:\/\/wito.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> without lookup leaves the customer and the operator arguing.<\/p>\n<p dir=\"ltr\">Equip agents to check, since the agent is where the customer returns.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Refunds_and_Replacements_refunds\"><\/span>Refunds and Replacements {#refunds}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Some vouchers must be replaced and the policy should exist.<\/p>\n<p dir=\"ltr\">Genuine system fault preventing redemption.<\/p>\n<p dir=\"ltr\">Code damaged or unreadable on the card.<\/p>\n<p dir=\"ltr\">Duplicate issue by error.<\/p>\n<p dir=\"ltr\">Customer error, where the code was shared or mistyped, which is generally not refunded.<\/p>\n<p dir=\"ltr\">Replacement rather than cash refund where the customer still wants access.<\/p>\n<p dir=\"ltr\">Cancellation of the original code when replacing.<\/p>\n<p dir=\"ltr\">Record every replacement, since a <a href=\"https:\/\/awasam.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that tracks replacements by reason shows whether faults are systemic, and a <a href=\"https:\/\/saseni.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that replaces without cancelling the original has doubled the obligation.<\/p>\n<p dir=\"ltr\">Be fair, since a customer whose card was genuinely unreadable should not be refused.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Institutional_Buyers_institutional\"><\/span>Institutional Buyers {#institutional}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Institutions buy in volume and want simplicity.<\/p>\n<p dir=\"ltr\">A batch for the term, the event or the period.<\/p>\n<p dir=\"ltr\">Invoice rather than per-code payment.<\/p>\n<p dir=\"ltr\">Distribution by the institution to its people.<\/p>\n<p dir=\"ltr\">Expiry aligned to the period.<\/p>\n<p dir=\"ltr\">A report of redemption so the institution sees usage.<\/p>\n<p dir=\"ltr\">Package suited to the users, which the schools and hostels articles inform.<\/p>\n<p dir=\"ltr\">Support route for the institution&#8217;s users.<\/p>\n<p dir=\"ltr\">One batch and one invoice, since a <a href=\"https:\/\/prim.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that generates five hundred codes for a college term with a redemption report is what the bursar wants, and a <a href=\"https:\/\/rentaldesk.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that made the college buy codes one at a time would not be used.<\/p>\n<p dir=\"ltr\">Fiscal invoicing requirements for institutional sales should be confirmed with the revenue authority.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Vouchers_in_Reseller_Networks_resellers\"><\/span>Vouchers in Reseller Networks {#resellers}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Resellers add a layer between operator and agent.<\/p>\n<p dir=\"ltr\">A reseller operates sites under the operator&#8217;s platform.<\/p>\n<p dir=\"ltr\">Reseller issues vouchers to their own agents.<\/p>\n<p dir=\"ltr\">Reseller reconciles their agents; operator reconciles resellers.<\/p>\n<p dir=\"ltr\">Reseller pricing and revenue share.<\/p>\n<p dir=\"ltr\">Batch assignment to resellers.<\/p>\n<p dir=\"ltr\">Reseller visibility limited to their own codes.<\/p>\n<p dir=\"ltr\">The hierarchy must hold, since a <a href=\"https:\/\/fama.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> with multi-level accountability lets each level reconcile the one below, and a <a href=\"https:\/\/spacekits.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> where the operator cannot see which reseller&#8217;s agent sold a code cannot resolve a dispute two levels down.<\/p>\n<p dir=\"ltr\">The hotspot billing article covers reseller structures and the same principles apply.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Integration_With_MikroTik_and_RADIUS_integration\"><\/span>Integration With MikroTik and RADIUS {#integration}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">The router must honour the voucher and the chain should be tested.<\/p>\n<p dir=\"ltr\">Redemption on the portal creates a session with the package&#8217;s attributes.<\/p>\n<p dir=\"ltr\">The router applies bandwidth and time limits from those attributes.<\/p>\n<p dir=\"ltr\">Accounting reports consumption back.<\/p>\n<p dir=\"ltr\">Session termination at expiry.<\/p>\n<p dir=\"ltr\">The voucher is a credential for one session, and the MikroTik configuration article&#8217;s points about RADIUS, attributes and disconnect apply.<\/p>\n<p dir=\"ltr\">Test redemption end to end on the actual router, since a <a href=\"https:\/\/dexa.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that marks a code redeemed but does not grant the correct bandwidth has half-worked, and a <a href=\"https:\/\/pawa.co.ke\">WiFi voucher system Kenya<\/a> verified from card to session on the real site is ready.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Offline_Redemption_offline\"><\/span>Offline Redemption {#offline}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Sites lose connectivity to the platform and redemption should continue where possible.<\/p>\n<p dir=\"ltr\">Locally cached voucher validity for the site&#8217;s batches.<\/p>\n<p dir=\"ltr\">Redemption recorded locally and synced later.<\/p>\n<p dir=\"ltr\">Duplicate prevention across sites when sync occurs.<\/p>\n<p dir=\"ltr\">Behaviour when the site cannot validate, which should be defined.<\/p>\n<p dir=\"ltr\">The trade-off is that offline redemption weakens single-use enforcement briefly, since a code redeemed offline at two sites before sync may be accepted at both.<\/p>\n<p dir=\"ltr\">Limit exposure with site-bound batches where possible.<\/p>\n<p dir=\"ltr\">Test it, since a <a href=\"https:\/\/pms.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that stops redeeming when the site loses its link stops the agent&#8217;s sales, and a <a href=\"https:\/\/estateadmin.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that redeems locally and reconciles later keeps the counter open.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Data_Protection_and_the_Anonymity_Advantage_data-protection\"><\/span>Data Protection and the Anonymity Advantage {#data-protection}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Vouchers carry less personal data than any other sales channel, which is a genuine advantage.<\/p>\n<p dir=\"ltr\">A code has no name, number or identity attached.<\/p>\n<p dir=\"ltr\">Redemption records a device and a time, not a person.<\/p>\n<p dir=\"ltr\">Agents may know their customers but the operator does not.<\/p>\n<p dir=\"ltr\">Institutional batches may map to people if the institution records who received which code, which is the institution&#8217;s holding.<\/p>\n<p dir=\"ltr\">Collect nothing the channel does not need.<\/p>\n<p dir=\"ltr\">Agent records are personal data about the agent.<\/p>\n<p dir=\"ltr\">Session and device records still exist and retention applies.<\/p>\n<p dir=\"ltr\">The anonymity is a feature, since a <a href=\"https:\/\/churchesadmin.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> sells access without collecting who bought it, and a <a href=\"https:\/\/vega.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that resists the temptation to add registration to the redemption flow keeps that advantage.<\/p>\n<p dir=\"ltr\">Confirm obligations with qualified advice, particularly regarding any connection record retention requirements.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Regulatory_Note_regulatory\"><\/span>Regulatory Note {#regulatory}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Selling access commercially engages the same regulatory position as the hotspot business generally.<\/p>\n<p dir=\"ltr\">Licensing for providing communications services, administered by the Communications Authority of Kenya, with the category depending on the operation.<\/p>\n<p dir=\"ltr\">Tax on voucher sales and any fiscal invoicing requirements, confirmed with the revenue authority.<\/p>\n<p dir=\"ltr\">Consumer protection considerations regarding what a voucher promises and delivers.<\/p>\n<p dir=\"ltr\">The ISP start-up guide and the hotspot billing article address the position, and a <a href=\"https:\/\/dereva.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> does not change it, though a <a href=\"https:\/\/jaat.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> adds the accounting treatment question the liability section raises.<\/p>\n<p dir=\"ltr\">Establish the position with the authorities and qualified advice.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Costs_and_Implementation_costs\"><\/span>Costs and Implementation {#costs}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\">Vouchers cost little to run and the discipline is the investment.<\/p>\n<p dir=\"ltr\">Voucher capability is part of the billing platform, included in tiers from around KES 1,500 monthly.<\/p>\n<p dir=\"ltr\">Printing costs per batch, modest per card and material at volume.<\/p>\n<p dir=\"ltr\">Agent commission as a share of sales.<\/p>\n<p dir=\"ltr\">Time for reconciliation.<\/p>\n<p dir=\"ltr\">Stock at risk as a cost of the printed channel.<\/p>\n<p dir=\"ltr\">Implementation should begin with generation settings, since a <a href=\"https:\/\/wito.co.ke\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> with sequential or short codes is compromised before the first sale.<\/p>\n<p dir=\"ltr\">Then batch structure, expiry policy, package mapping and redemption testing on the real router.<\/p>\n<p dir=\"ltr\">Then one or two agents on prepaid stock, reconciled weekly, before expanding.<\/p>\n<p dir=\"ltr\">Then institutional batches as demand arises.<\/p>\n<p dir=\"ltr\">Weigh it against the customers reached, since a <a href=\"https:\/\/awasam.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that sells through five kiosks reaches cash customers the portal never saw, and the agent commission is the cost of a sales force the operator did not have to hire.<\/p>\n<hr \/>\n<h3 dir=\"ltr\"><span class=\"ez-toc-section\" id=\"Frequently_Asked_Questions_faqs\"><\/span>Frequently Asked Questions {#faqs}<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p dir=\"ltr\"><strong>Why run vouchers if the portal takes M-Pesa?<\/strong><br \/>\nBecause the portal loses every customer who prefers cash, has no M-Pesa balance, is buying for someone else, is buying in bulk for an institution, or wants to buy from the kiosk they already buy airtime from. Vouchers are a second channel that reaches those sales, not a replacement for the first.<\/p>\n<p dir=\"ltr\"><strong>What is the most common security mistake?<\/strong><br \/>\nSequential codes. An operator who prints codes 1001 through 2000 has told every customer how to get the next nine hundred and ninety-nine sessions free. Generate random, unique codes of sufficient length, rate-limit portal attempts, and conceal printed codes behind a scratch panel so a browsing customer cannot photograph the rack.<\/p>\n<p dir=\"ltr\"><strong>How do we stop agents skimming?<\/strong><br \/>\nRedemption tracking. The system knows every code that was used regardless of what the agent reports, so reconciliation is a check of the agent&#8217;s account against the system rather than a negotiation. Prepaid stock removes most of the incentive, and it protects honest agents too, since verified redemptions mean they cannot be accused of skimming.<\/p>\n<p dir=\"ltr\"><strong>What are the two expiries?<\/strong><br \/>\nSale expiry is the date by which an unredeemed code must be used; session expiry is how long access lasts once redeemed. Print both on the card. Sale expiry limits your open liability, and confusing the two produces &#8220;I thought it was for a week&#8221; disputes.<\/p>\n<p dir=\"ltr\"><strong>When does a sold voucher become revenue?<\/strong><br \/>\nIt depends on your accounting basis and warrants qualified advice. A code sold and not yet redeemed is an obligation to provide access until it expires, and an operator who counts every sale as revenue and then honours a wave of redemptions has misread the position. Report sold, redeemed and outstanding separately.<\/p>\n<p dir=\"ltr\"><strong>Printed or digital?<\/strong><br \/>\nDigital where the agent generates the code at the point of sale \u2014 no stock, no theft, nothing unsold to reconcile. Printed where the channel needs a physical product, such as a kiosk rack or an event pack, with scratch panels, batch tracking and the ability to cancel a stolen batch before it is redeemed.<\/p>\n<p dir=\"ltr\"><strong>A customer says the voucher does not work. What now?<\/strong><br \/>\nLook the code up. The system shows whether it exists, was redeemed and when, or expired. Most calls end there \u2014 &#8220;it was used yesterday at 10:14&#8221; resolves a shared code, and a genuinely unreadable card gets replaced with the original cancelled. Equip agents to check, since the customer returns to the counter they bought at.<\/p>\n<p dir=\"ltr\"><strong>Do vouchers create data protection issues?<\/strong><br \/>\nFewer than any other channel. A code carries no identity, redemption records a device rather than a person, and the operator never learns who bought what. That anonymity is a genuine advantage, and a <a href=\"https:\/\/saseni.com\" target=\"_blank\" rel=\"noopener\">WiFi voucher system Kenya<\/a> that resists adding registration to the redemption flow keeps it \u2014 though session and device records still exist and retention obligations apply.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WiFi Voucher System Kenya: Selling Access Where M-Pesa Does Not Reach WiFi voucher system Kenya is the part of hotspot operations that serves the customers a payment portal quietly loses. The portal works beautifully for a customer with a phone, M-Pesa and a moment to complete a prompt. It does not work for the customer [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[79],"class_list":["post-1639","post","type-post","status-publish","format-standard","hentry","category-wifi-billing","tag-wifi-voucher-system-kenya"],"_links":{"self":[{"href":"https:\/\/pawa.co.ke\/blog\/wp-json\/wp\/v2\/posts\/1639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pawa.co.ke\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pawa.co.ke\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pawa.co.ke\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/pawa.co.ke\/blog\/wp-json\/wp\/v2\/comments?post=1639"}],"version-history":[{"count":1,"href":"https:\/\/pawa.co.ke\/blog\/wp-json\/wp\/v2\/posts\/1639\/revisions"}],"predecessor-version":[{"id":1640,"href":"https:\/\/pawa.co.ke\/blog\/wp-json\/wp\/v2\/posts\/1639\/revisions\/1640"}],"wp:attachment":[{"href":"https:\/\/pawa.co.ke\/blog\/wp-json\/wp\/v2\/media?parent=1639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pawa.co.ke\/blog\/wp-json\/wp\/v2\/categories?post=1639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pawa.co.ke\/blog\/wp-json\/wp\/v2\/tags?post=1639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}