WooPayments: Integrated WooCommerce Payments

Securely accept credit and debit cards on your WooCommerce store. Manage payments without leaving your WordPress dashboard. Only with WooPayments.

v10.8.0WooCommerceUpdated 2026-05-20Added Apr 8, 2020900k+ installs64% rating80% support resolved
30
Score
177
Errors
298
Warnings
+0
Change

Category Scores

Security0
Repo83
Performance100
Maintainability39

Top Issues by Category

maintainability245
security226
repo_compliance4

Issues Details

475 issues found in latest scan

ERROR163
WordPress.Security.EscapeOutput.ExceptionNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Constant with name '$value' does not exist."'.

WARNING115
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "WC_Payment_Gateway_WCPay".

WARNING47
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_GET[$attribute_key]

WARNING28
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$address_parts".

WARNING26
WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$hook".

WARNING19
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING19
WordPress.DB.DirectDatabaseQuery.NoCaching

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

WARNING13
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "__wcpay_customer_data_localized".

WARNING13
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_GET['currency']. Check that the array index exists before using it.

ERROR8
missing_direct_file_access_protection

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNING3
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $sql used in $wpdb->get_col()\n$sql assigned unsafely at line 340.

WARNING3
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "WC_Payments_Fraud_Risk_Tools".

WARNING3
trademarked_term

The plugin name includes a restricted term. Your chosen plugin name - "WooPayments" - contains the restricted term "woo" which cannot be used at all in your plugin name.

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedTraitFound

Traits declared by a theme/plugin should start with the theme/plugin prefix. Found: "WC_Payment_Gateway_WCPay_Subscriptions_Trait".

WARNING2
update_modification_detected

Plugin Updater detected. Detected code which may be altering WordPress update routines. Detected: _site_transient_update_plugins

ERROR2
wp_function_not_compatible_with_requires_wp

Function "wp_get_block_style_variation_name_from_class()" requires WordPress 6.6.0, but your plugin minimum supported version is WordPress 6.0.0.

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedInterfaceFound

Interfaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "WC_Payments_Http_Interface".

ERROR1
badly_named_files

File and folder names must not contain spaces or special characters.

WARNING1
mismatched_plugin_name

Plugin name "WooPayments: Integrated WooCommerce Payments" is different from the name declared in plugin header "WooPayments".

WARNING1
missing_composer_json_file

The "/vendor" directory using composer exists, but "composer.json" file is missing.

ERROR1
plugin_header_no_license

Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license.

ERROR1
plugin_updater_detected

Plugin Updater detected. These are not permitted in WordPress.org hosted plugins. Detected: site_transient_update_plugins

ERROR1
readme_mismatched_header_requires_php

Mismatched Requires PHP: 7.3 != 7.4. "Requires PHP" needs to be exactly the same with that in your main plugin file's header.

WARNING1
readme_parser_warnings_too_many_tags

One or more tags were ignored. Please limit your plugin to 5 tags.

WARNING1
readme_parser_warnings_trimmed_section_changelog

The "Changelog" section is too long and was truncated. A maximum of 5000 characters is supported.

Latest Snapshot

Findings

475

Errors

177

Warnings

298

Score History

First score snapshot

First scan completed Jun 19, 2026

v10.8.0 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 19, 2026

v10.8.0

30

Latest

Findings
475
Errors
177
Warnings
298
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins