Payment Gateway Per Product for WooCommerce Security & Risk Analysis

wordpress.org/plugins/woocommerce-product-payments

Boost flexibility in WooCommerce by enabling custom payment gateways per product, category, or tag, giving your customers the right payment options at …

300 active installs v3.6.5 PHP 7.4+ WP 5.8+ Updated Oct 6, 2025
custom-payment-methodsdynamic-checkoutpayment-gatewayper-product-payment
99
A · Safe
CVEs total2
Unpatched0
Last CVEDec 14, 2024
Safety Verdict

Is Payment Gateway Per Product for WooCommerce Safe to Use in 2026?

Generally Safe

Score 99/100

Payment Gateway Per Product for WooCommerce has a strong security track record. Known vulnerabilities have been patched promptly.

2 known CVEsLast CVE: Dec 14, 2024Updated 5mo ago
Risk Assessment

The WooCommerce Product Payments plugin, version 3.6.5, exhibits a generally strong security posture with a remarkably clean attack surface, reporting zero AJAX handlers, REST API routes, shortcodes, or cron events. This significantly limits potential entry points for attackers. The code analysis also reveals good practices regarding SQL queries, all of which are properly prepared, and a high percentage of output escaping. The presence of nonces and capability checks further bolsters security by verifying user intent and permissions.

However, the use of the dangerous `unserialize` function four times is a significant concern. While not flagged as critical or high in the taint analysis, deserialization vulnerabilities can be severe if input is not strictly controlled. The single external HTTP request, while not inherently risky, warrants attention to ensure its target and data transmission are secure. The vulnerability history, with two medium-severity CVEs related to missing authorization and XSS, indicates a past tendency for these types of issues, even though none are currently unpatched. This suggests a need for continued vigilance in these areas.

In conclusion, the plugin has a robust defense against common attack vectors due to its limited attack surface and good implementation of core WordPress security features. The primary areas for improvement lie in addressing the multiple uses of `unserialize` and ensuring that past vulnerability patterns, particularly around authorization and XSS, are fully mitigated. The plugin's strengths in core security practices are commendable, but the specific risks identified necessitate careful review and potential remediation.

Key Concerns

  • Use of unserialize function
  • Past medium severity CVEs
  • Bundled library (Freemius v1.0)
  • Bundled library (Select2)
  • One external HTTP request
Vulnerabilities
2

Payment Gateway Per Product for WooCommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2023
2023
1 CVE in 2024
2024
Patched Has unpatched

Severity Breakdown

Medium
2

2 total CVEs

CVE-2024-55996medium · 5.3Missing Authorization

Dreamfox Media Payment gateway per Product for Woocommerce <= 3.5.8 - Missing Authorization

Dec 14, 2024 Patched in 3.5.9 (48d)
CVE-2023-44144medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Payment gateway per Product for WooCommerce <= 3.2.7 - Reflected Cross-Site Scripting

Sep 20, 2023 Patched in 3.2.8 (125d)
Code Analysis
Analyzed Mar 16, 2026

Payment Gateway Per Product for WooCommerce Code Analysis

Dangerous Functions
4
Raw SQL Queries
0
0 prepared
Unescaped Output
19
96 escaped
Nonce Checks
4
Capability Checks
6
File Operations
0
External Requests
1
Bundled Libraries
2

Dangerous Functions Found

unserialize$default_payment = unserialize( $default_payment );dfm-payment-gateway-per-product-for-woocommerce.php:327
unserialize$softsdev_selected_cats = unserialize( $softsdev_wpp_plugin_settings['softsdev_selected_cats'] );dfm-payment-gateway-per-product-for-woocommerce.php:423
unserialize$softsdev_selected_cats = unserialize( $softsdev_wpp_plugin_settings['softsdev_selected_cats'] );dfm-payment-gateway-per-product-for-woocommerce.php:526
unserialize$default_payment = unserialize( $raw_data );inc\settings.php:136

Bundled Libraries

Freemius1.0Select2

Output Escaping

83% escaped115 total outputs
Data Flows
1 unsanitized

Data Flow Analysis

7 flows1 with unsanitized paths
product_payment_ignore_notice (dfm-payment-gateway-per-product-for-woocommerce.php:104)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Payment Gateway Per Product for WooCommerce Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 27
actionbefore_woocommerce_initdfm-payment-gateway-per-product-for-woocommerce.php:18
filterhide_account_tabsdfm-payment-gateway-per-product-for-woocommerce.php:77
actionadmin_initdfm-payment-gateway-per-product-for-woocommerce.php:118
actionadmin_menudfm-payment-gateway-per-product-for-woocommerce.php:120
actionadmin_enqueue_scriptsdfm-payment-gateway-per-product-for-woocommerce.php:122
actionadd_meta_boxesdfm-payment-gateway-per-product-for-woocommerce.php:192
actionsave_postdfm-payment-gateway-per-product-for-woocommerce.php:260
filterwoocommerce_available_payment_gatewaysdfm-payment-gateway-per-product-for-woocommerce.php:410
actioninitdfm-payment-gateway-per-product-for-woocommerce.php:471
actionadmin_noticesdfm-payment-gateway-per-product-for-woocommerce.php:496
actioninitdfm-payment-gateway-per-product-for-woocommerce.php:558
actionadmin_noticesdfm-payment-gateway-per-product-for-woocommerce.php:590
actioninitdfm-payment-gateway-per-product-for-woocommerce.php:594
actionadmin_noticesdfm-payment-gateway-per-product-for-woocommerce.php:626
actionadmin_post_dfm_pgppfw_save_categoriesinc\functions.php:90
filteradmin_footer_textinc\settings.php:8
filterupdate_footerinc\settings.php:9
filteradmin_footer_textinc\settings.php:86
filterupdate_footerinc\settings.php:87
filteradmin_footer_textinc\settings.php:116
filterupdate_footerinc\settings.php:117
filteradmin_footer_textinc\settings.php:193
filterupdate_footerinc\settings.php:194
filteradmin_footer_textinc\settings.php:205
filterupdate_footerinc\settings.php:206
filteradmin_footer_textinc\settings.php:229
filterupdate_footerinc\settings.php:230
Maintenance & Trust

Payment Gateway Per Product for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedOct 6, 2025
PHP min version7.4
Downloads78K

Community Trust

Rating68/100
Number of ratings31
Active installs300
Developer Profile

Payment Gateway Per Product for WooCommerce Developer Profile

dreamfox

5 plugins · 410 total installs

88
trust score
Avg Security Score
100/100
Avg Patch Time
87 days
View full developer profile
Detection Fingerprints

How We Detect Payment Gateway Per Product for WooCommerce

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/woocommerce-product-payments/css/style.css/wp-content/plugins/woocommerce-product-payments/js/setting.js
Version Parameters
woocommerce-product-payments/css/style.css?ver=woocommerce-product-payments/js/setting.js?ver=

HTML / DOM Fingerprints

CSS Classes
dfm-payment-gateway-per-product-for-woocommerce
HTML Comments
DO NOT REMOVE THIS IF, IT IS ESSENTIAL FOR THE `function_exists` CALL ABOVE TO PROPERLY WORK.
Data Attributes
data-product-id
JS Globals
dd_settings_data
FAQ

Frequently Asked Questions about Payment Gateway Per Product for WooCommerce