Payment Gateway for M-PESA Open API on WooCommerce Security & Risk Analysis

wordpress.org/plugins/payment-gateway-for-m-pesa-open-api

The plugin enables the customer to have an option of paying merchants using M-PESA mobile money service from a Wordpress site that has WooCommerce plu …

30 active installs v1.0.0 PHP + WP 2.2+ Updated Unknown
m-pesamobile-paymentsmpesapayment-gatewaywoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Payment Gateway for M-PESA Open API on WooCommerce Safe to Use in 2026?

Generally Safe

Score 100/100

Payment Gateway for M-PESA Open API on WooCommerce has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs
Risk Assessment

The "payment-gateway-for-m-pesa-open-api" plugin, version 1.0.0, presents a mixed security posture. On the positive side, the plugin exhibits strong adherence to secure coding practices in several key areas. Notably, all SQL queries are performed using prepared statements, and a very high percentage (95%) of its numerous output operations are properly escaped, significantly reducing the risk of cross-site scripting (XSS) vulnerabilities. The absence of known CVEs and a clean vulnerability history further suggest a generally secure development history. The plugin also boasts a remarkably small attack surface, with zero identified AJAX handlers, REST API routes, shortcodes, or cron events, and crucially, no unprotected entry points.

However, several concerning signals warrant attention. The presence of dangerous functions like `create_function` and `unserialize` in the code, even without observed taint flows, indicates potential areas where vulnerabilities could be introduced if user-supplied data is not meticulously validated and sanitized before being passed to these functions. The complete absence of nonce checks and capability checks across all identified entry points (even though the entry point count is zero) is a significant omission. In scenarios where functionality might be added in future updates or if the current analysis missed a subtle entry point, this lack of validation could expose the plugin to unauthorized actions. The extensive file operations (87) and external HTTP requests (2) also represent potential avenues for attack if not handled with extreme care, although the static analysis did not reveal immediate issues.

In conclusion, while the plugin demonstrates excellent SQL and output sanitization and a minimal attack surface, the use of dangerous functions and the complete absence of nonce and capability checks are notable weaknesses. The clean vulnerability history is a strong positive, but the identified code signals suggest areas where future vulnerabilities could arise if not addressed. A thorough review of how user-controlled data interacts with `create_function` and `unserialize` is recommended, and future development should incorporate robust authorization checks.

Key Concerns

  • Dangerous functions used (create_function, unserialize)
  • No nonce checks found
  • No capability checks found
  • High number of file operations
  • External HTTP requests present
Vulnerabilities
None known

Payment Gateway for M-PESA Open API on WooCommerce Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

Payment Gateway for M-PESA Open API on WooCommerce Code Analysis

Dangerous Functions
3
Raw SQL Queries
0
0 prepared
Unescaped Output
5
100 escaped
Nonce Checks
0
Capability Checks
0
File Operations
87
External Requests
2
Bundled Libraries
0

Dangerous Functions Found

create_functionreturn create_function('$_action, &$self, $_text', $init_crypt . 'if ($_action == "encrypt") { ' . $Crypt\Base.php:2573
unserializeextract(unserialize($partial));Crypt\RSA.php:657
create_functioncreate_function('$x', 'return "\x" . bin2hex($x[0]);');File\X509.php:3008

Output Escaping

95% escaped105 total outputs
Attack Surface

Payment Gateway for M-PESA Open API on WooCommerce Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 12
actionplugins_loadedwoo_mpesa_open_api.php:38
actionwp_enqueue_scriptswoo_mpesa_open_api.php:75
actioninitwoo_mpesa_open_api.php:84
filterquery_varswoo_mpesa_open_api.php:94
actionwpwoo_mpesa_open_api.php:106
actionwoocommerce_after_checkout_validationwoo_mpesa_open_api.php:120
actioninitwoo_mpesa_open_api.php:126
filterquery_varswoo_mpesa_open_api.php:134
actionwpwoo_mpesa_open_api.php:144
actionwoocommerce_update_options_payment_gatewayswoo_mpesa_open_api.php:248
actionwoocommerce_receipt_mpesa_open_apiwoo_mpesa_open_api.php:256
filterwoocommerce_payment_gatewayswoo_mpesa_open_api.php:715
Maintenance & Trust

Payment Gateway for M-PESA Open API on WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.7.5
Last updatedUnknown
PHP min version
Downloads2K

Community Trust

Rating0/100
Number of ratings0
Active installs30
Developer Profile

Payment Gateway for M-PESA Open API on WooCommerce Developer Profile

demkitech

4 plugins · 1K total installs

91
trust score
Avg Security Score
96/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Payment Gateway for M-PESA Open API on WooCommerce

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/payment-gateway-for-m-pesa-open-api/display.css/wp-content/plugins/payment-gateway-for-m-pesa-open-api/trxcheck_openapi.js
Script Paths
/wp-content/plugins/payment-gateway-for-m-pesa-open-api/trxcheck_openapi.js
Version Parameters
payment-gateway-for-m-pesa-open-api/display.css?ver=1.1

HTML / DOM Fingerprints

Data Attributes
data-order_iddata-amountdata-phonedata-mpesa_phonedata-merchant_code
JS Globals
OpenAPICallbacks
FAQ

Frequently Asked Questions about Payment Gateway for M-PESA Open API on WooCommerce