{"id":344602,"date":"2026-07-30T17:32:48","date_gmt":"2026-07-30T17:32:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/alkapay\/"},"modified":"2026-07-30T17:32:38","modified_gmt":"2026-07-30T17:32:38","slug":"alkapay","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/alkapay\/","author":23536642,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.4","stable_tag":"1.2.4","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"AlkaPay Payment Gateway with M-Pesa for WooCommerce","header_author":"AlkaPay","header_description":"Accept M-Pesa payments in WooCommerce \u2014 show your Paybill or Buy Goods (Till) at checkout, collect transaction codes, and verify orders from your dashboard. Pro adds live STK Push and automatic verification.","assets_banners_color":"cfd5d1","last_updated":"2026-07-30 17:32:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.alkapay.co.ke","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.4":{"tag":"1.2.4","author":"alkapay","date":"2026-07-30 17:32:38"}},"upgrade_notice":{"1.2.4":"<p>Fixes a crash that could occur when another M-Pesa plugin is active at the same time. Recommended for all users.<\/p>","1.2.3":"<p>Security and privacy improvements \u2014 the payment page now checks you own an order before showing it, and AlkaPay&#039;s internal names are now unique so it will not clash with other plugins. Your settings carry over automatically. Recommended for all users.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3629065,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3629065,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3629065,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3629065,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3628958,"resolution":"1","location":"assets","locale":"","width":780,"height":1076},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3628958,"resolution":"2","location":"assets","locale":"","width":1400,"height":1052},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3628958,"resolution":"3","location":"assets","locale":"","width":1400,"height":938},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3628958,"resolution":"4","location":"assets","locale":"","width":1400,"height":1342}},"screenshots":{"1":"M-Pesa payment page \u2014 pay via Paybill or Buy Goods (Till) and enter your transaction code","2":"Admin dashboard with M-Pesa payment activity","3":"Order details showing M-Pesa transaction information","4":"Pro analytics dashboard with revenue charts"}},"plugin_section":[],"plugin_tags":[37731,141805,3050,6593,286],"plugin_category":[45],"plugin_contributors":[273886],"plugin_business_model":[],"class_list":["post-344602","plugin","type-plugin","status-publish","hentry","plugin_tags-kenya","plugin_tags-mobile-money","plugin_tags-mpesa","plugin_tags-payment-gateway","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-alkapay","plugin_committers-alkapay"],"banners":{"banner":"https:\/\/ps.w.org\/alkapay\/assets\/banner-772x250.png?rev=3629065","banner_2x":"https:\/\/ps.w.org\/alkapay\/assets\/banner-1544x500.png?rev=3629065","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/alkapay\/assets\/icon-128x128.gif?rev=3629065","icon_2x":"https:\/\/ps.w.org\/alkapay\/assets\/icon-256x256.gif?rev=3629065","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/alkapay\/assets\/screenshot-1.png?rev=3628958","caption":"M-Pesa payment page \u2014 pay via Paybill or Buy Goods (Till) and enter your transaction code"},{"src":"https:\/\/ps.w.org\/alkapay\/assets\/screenshot-2.png?rev=3628958","caption":"Admin dashboard with M-Pesa payment activity"},{"src":"https:\/\/ps.w.org\/alkapay\/assets\/screenshot-3.png?rev=3628958","caption":"Order details showing M-Pesa transaction information"},{"src":"https:\/\/ps.w.org\/alkapay\/assets\/screenshot-4.png?rev=3628958","caption":"Pro analytics dashboard with revenue charts"}],"raw_content":"<!--section=description-->\n<p><strong>AlkaPay<\/strong> is a complete M-Pesa payment gateway for WooCommerce that enables Kenyan merchants to accept mobile money payments from their customers through Safaricom's M-Pesa.<\/p>\n\n<p>The <strong>free version<\/strong> gives you a fully functional manual M-Pesa payment gateway \u2014 your Paybill or Buy Goods (Till) number is displayed at checkout, customers pay directly from their phone, enter the M-Pesa transaction code to confirm, and you verify the payment to complete the order.<\/p>\n\n<p>The <strong>Pro version<\/strong> supercharges your store with automated STK Push \u2014 the payment prompt is sent directly to the customer's phone at checkout, and the order is automatically completed the moment they enter their M-Pesa PIN. No manual steps required.<\/p>\n\n<h4>Free Version Features<\/h4>\n\n<ul>\n<li><strong>Manual M-Pesa Payments<\/strong> \u2014 Display your Paybill or Buy Goods (Till) number on the WooCommerce checkout page<\/li>\n<li><strong>Transaction Code Collection<\/strong> \u2014 Customers enter their M-Pesa transaction code after paying to confirm the order<\/li>\n<li><strong>Manual Payment Verification<\/strong> \u2014 Verify M-Pesa payments from your WooCommerce admin and complete orders<\/li>\n<li><strong>Paybill &amp; Buy Goods Support<\/strong> \u2014 Works with both Safaricom Paybill numbers and Buy Goods (Till) numbers<\/li>\n<li><strong>Configurable Order Status<\/strong> \u2014 Choose which status an order takes while a manual payment is awaiting your verification<\/li>\n<li><strong>Beautiful Admin Dashboard<\/strong> \u2014 Modern admin interface to manage your M-Pesa payment settings<\/li>\n<li><strong>Order Management<\/strong> \u2014 View M-Pesa transaction details directly on the WooCommerce order page<\/li>\n<li><strong>Automatic Updates<\/strong> \u2014 Stay up to date with the latest features and security patches<\/li>\n<\/ul>\n\n<h4>Pro Version Features<\/h4>\n\n<ul>\n<li><strong>Automated STK Push<\/strong> \u2014 Send the M-Pesa payment prompt directly to the customer's phone at checkout. No more typing Paybill numbers!<\/li>\n<li><strong>Automatic Order Completion<\/strong> \u2014 Orders are automatically marked as \"Processing\" the instant the customer pays via STK Push. Zero manual intervention<\/li>\n<li><strong>Advanced Analytics Dashboard<\/strong> \u2014 Visual charts and reports showing your M-Pesa revenue, transaction trends, and payment success rates<\/li>\n<li><strong>Comprehensive Transaction Logging<\/strong> \u2014 Detailed logs of every API call, callback, and transaction for troubleshooting and auditing<\/li>\n<li><strong>Manual Payment Verification (Pro)<\/strong> \u2014 Enhanced payment lookup using M-Pesa transaction codes with automatic order matching<\/li>\n<li><strong>Priority Support<\/strong> \u2014 Get help directly from the AlkaPay team<\/li>\n<\/ul>\n\n<h4>Why AlkaPay?<\/h4>\n\n<ul>\n<li><strong>Built for Kenya<\/strong> \u2014 Purpose-built for the Kenyan market and Safaricom's M-Pesa ecosystem<\/li>\n<li><strong>WooCommerce Native<\/strong> \u2014 Integrates seamlessly as a WooCommerce payment gateway with full order lifecycle support<\/li>\n<li><strong>Secure by Design<\/strong> \u2014 All API credentials are encrypted, all database queries are prepared against SQL injection, and all outputs are properly escaped<\/li>\n<li><strong>Lightweight<\/strong> \u2014 No bloat, no unnecessary dependencies. Just a clean, fast payment gateway<\/li>\n<li><strong>Freemius Licensed<\/strong> \u2014 Industry-standard licensing with secure updates and account management<\/li>\n<\/ul>\n\n<h4>Disclaimer<\/h4>\n\n<p>AlkaPay is an independent, third-party product and is <strong>not affiliated with, endorsed by, or sponsored by Safaricom PLC or WooCommerce\/Automattic<\/strong>. \"M-Pesa\", \"Safaricom\", and \"Daraja\" are trademarks of Safaricom PLC, and \"WooCommerce\" is a trademark of Automattic Inc. These names are used here only to describe the plugin's compatibility and functionality. To use M-Pesa STK Push you must obtain your own credentials directly from Safaricom's Daraja portal.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>WooCommerce 6.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>A Safaricom Paybill or Buy Goods (Till) number<\/li>\n<li>M-Pesa API credentials from the <a href=\"https:\/\/developer.safaricom.co.ke\/\">Safaricom Daraja Portal<\/a> (required for Pro STK Push)<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the following third-party services. No data is ever sent until you actively configure and use the relevant feature.<\/p>\n\n<h4>Safaricom M-Pesa (Daraja) API<\/h4>\n\n<p>What it is and why it's used: AlkaPay is an M-Pesa payment gateway. To process payments it communicates with Safaricom's official M-Pesa Daraja API \u2014 to authenticate (OAuth), send STK Push prompts, query payment status, and receive payment confirmation callbacks.<\/p>\n\n<p>When data is sent: when you click \"Test Connection\", when a customer pays with M-Pesa at checkout, when the plugin queries a pending payment's status, and when Safaricom sends a payment confirmation to your callback URL.<\/p>\n\n<p>What data is sent: your M-Pesa API credentials (Consumer Key, Consumer Secret, Passkey) for authentication; the business short code \/ Till number; the customer's phone number; the payment amount; and an order reference. Data is sent over HTTPS to <code>https:\/\/sandbox.safaricom.co.ke<\/code> (test mode) or <code>https:\/\/api.safaricom.co.ke<\/code> (live mode).<\/p>\n\n<p>This service is provided by Safaricom PLC. Its use is subject to:\n* Daraja API documentation: https:\/\/developer.safaricom.co.ke\/\n* Daraja API terms and conditions, and privacy policy: https:\/\/developer.safaricom.co.ke\/terms<\/p>\n\n<h4>Freemius (licensing &amp; updates)<\/h4>\n\n<p>What it is and why it's used: AlkaPay uses Freemius to deliver software updates, manage Pro licenses, and (optionally) collect anonymous usage diagnostics to improve the plugin.<\/p>\n\n<p>When data is sent: on activation you are asked to opt in. If you decline, no data is sent. License-related calls are made only when you activate, deactivate, or sync a license. Update checks are made periodically by WordPress.<\/p>\n\n<p>What data is sent (only with your consent): site URL, WordPress and PHP versions, active theme\/plugin list, and your administrator email for license correspondence. AlkaPay does NOT send your customers' data, orders, or M-Pesa transactions to Freemius.<\/p>\n\n<p>This service is provided by Freemius, Inc. Its use is subject to:\n* Freemius terms of service: https:\/\/freemius.com\/terms\/\n* Freemius privacy policy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<p>Bundled library and its source: this plugin bundles the Freemius WordPress SDK v2.13.4 in\n    vendor\/freemius\/, licensed GPL-3.0-only (see <code>vendor\/freemius\/LICENSE.txt<\/code>), which is compatible\nwith this plugin's GPLv2-or-later licence. Some of the SDK's own CSS and JavaScript assets ship\npre-built rather than as readable source. The complete, unminified source for the bundled version is\npublished at:\n* https:\/\/github.com\/Freemius\/wordpress-sdk (tag 2.13.4)<\/p>\n\n<p>No other third-party libraries are bundled, and none of AlkaPay's own CSS or JavaScript is minified \u2014\nevery file under <code>assets\/<\/code> is human-readable source.<\/p>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Go to your WordPress admin dashboard<\/li>\n<li>Navigate to <strong>Plugins &gt; Add New<\/strong><\/li>\n<li>Search for \"AlkaPay\" or upload the plugin ZIP file<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<li>Go to <strong>M-PESA Gateway &gt; Settings<\/strong> to configure your payment details<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file<\/li>\n<li>Upload the <code>alkapay<\/code> folder to <code>\/wp-content\/plugins\/<\/code> on your server<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>M-PESA Gateway &gt; Settings<\/strong> to configure your Paybill or Buy Goods number<\/li>\n<\/ol>\n\n<h4>Quick Start (Free Version)<\/h4>\n\n<ol>\n<li>Go to <strong>M-PESA Gateway &gt; Settings<\/strong><\/li>\n<li>Select your Transaction Type: <strong>Paybill<\/strong> or <strong>Buy Goods (Till)<\/strong><\/li>\n<li>Enter your Paybill\/Till number and Account Reference<\/li>\n<li>Save your settings \u2014 your checkout page will now display M-Pesa payment instructions<\/li>\n<li>When a customer places an order and enters their M-Pesa transaction code, go to the order in WooCommerce to verify and complete it<\/li>\n<\/ol>\n\n<h4>Quick Start (Pro Version)<\/h4>\n\n<ol>\n<li>Activate your Pro license on the <strong>M-PESA Gateway &gt; Account<\/strong> page<\/li>\n<li>Go to <strong>M-PESA Gateway &gt; Settings<\/strong><\/li>\n<li>Enter your Safaricom Daraja API credentials (Consumer Key, Consumer Secret, Passkey)<\/li>\n<li>Choose <strong>Sandbox<\/strong> to test, or <strong>Production<\/strong> when you are ready to take live payments<\/li>\n<li>Save \u2014 your checkout will now send automated STK Push prompts to customers' phones!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20does%20the%20free%20version%20do%3F\"><h3>What does the free version do?<\/h3><\/dt>\n<dd><p>The free version displays your M-Pesa Paybill or Buy Goods (Till) number on the WooCommerce checkout page. Customers pay you directly via M-Pesa, then enter their transaction code on the order confirmation page. You can then verify the payment and complete the order from your WordPress admin.<\/p><\/dd>\n<dt id=\"what%20does%20the%20pro%20version%20add%3F\"><h3>What does the Pro version add?<\/h3><\/dt>\n<dd><p>Pro adds automated STK Push \u2014 the M-Pesa payment prompt appears directly on the customer's phone during checkout. Once they enter their PIN, the order is automatically completed without any manual intervention. Pro also includes an analytics dashboard, detailed transaction logging, and enhanced manual payment verification.<\/p><\/dd>\n<dt id=\"do%20i%20need%20m-pesa%20api%20credentials%3F\"><h3>Do I need M-Pesa API credentials?<\/h3><\/dt>\n<dd><p><strong>For the free version:<\/strong> No. You only need your Paybill or Buy Goods (Till) number.\n<strong>For the Pro version:<\/strong> Yes. You need to register on the <a href=\"https:\/\/developer.safaricom.co.ke\/\">Safaricom Daraja Developer Portal<\/a> and create an app to get your Consumer Key, Consumer Secret, and Passkey for live STK Push.<\/p><\/dd>\n<dt id=\"can%20i%20try%20stk%20push%20before%20buying%20pro%3F\"><h3>Can I try STK Push before buying Pro?<\/h3><\/dt>\n<dd><p>Yes \u2014 try it on our live demo store at <a href=\"https:\/\/demo.alkapay.co.ke\">demo.alkapay.co.ke<\/a>, which runs the Pro version so you can see the whole STK Push checkout without installing anything.<\/p><\/dd>\n<dt id=\"what%20payment%20methods%20are%20supported%3F\"><h3>What payment methods are supported?<\/h3><\/dt>\n<dd><ul>\n<li><strong>Free:<\/strong> Manual payments via Paybill and Buy Goods (Till) with transaction code verification<\/li>\n<li><strong>Pro:<\/strong> Automated STK Push via Paybill and Buy Goods, plus enhanced manual payment verification<\/li>\n<\/ul><\/dd>\n<dt id=\"is%20this%20plugin%20secure%3F\"><h3>Is this plugin secure?<\/h3><\/dt>\n<dd><p>Yes. AlkaPay follows WordPress security best practices including prepared database queries, input sanitization, output escaping, and nonce verification. API credentials are stored securely in the WordPress database.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20pro%20features%3F\"><h3>How do I get Pro features?<\/h3><\/dt>\n<dd><p>Visit the <strong>M-PESA Gateway &gt; Account<\/strong> page in your WordPress admin and click \"Upgrade\". You can also purchase a license at <a href=\"https:\/\/www.alkapay.co.ke\">alkapay.co.ke<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Fixed: AlkaPay could crash your site if another M-Pesa plugin was active at the same time. It now runs safely alongside other plugins.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Security: The M-Pesa payment page now confirms you own an order before it shows any order details, so order information can no longer be viewed by guessing an order number in the address bar.<\/li>\n<li>Security: The secret in your M-Pesa callback URL is now generated in a more secure way. Your callback URL does not change, so there is nothing to re-register.<\/li>\n<li>Changed: AlkaPay's internal names are now unique to AlkaPay, so it will not clash with other plugins. Your settings and saved payments carry over automatically \u2014 there is nothing to do.<\/li>\n<li>Fixed: The \"rate AlkaPay\" links now open all reviews on WordPress.org rather than a pre-filled star rating.<\/li>\n<li>Maintenance: Behind-the-scenes code quality improvements.<\/li>\n<\/ul>\n\n<p>For the changelog of earlier releases, see changelog.txt in the plugin folder.<\/p>","raw_excerpt":"Accept M-Pesa payments in WooCommerce \u2014 show your Paybill or Till at checkout, collect transaction codes, and verify orders. Pro adds STK Push.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/344602","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=344602"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/alkapay"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=344602"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=344602"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=344602"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=344602"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=344602"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=344602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}