Payment Gateway for PayPal Pro & PayPal Checkout for WooCommerce

Easily add PayPal Pro and PayPal Checkout payment gateways to WooCommerce. Accept credit cards on-site or offer the latest PayPal payment buttons.

v4.0.0wp.insiderUpdated Added 2k+ installs82% rating
35
Score
67
Errors
147
Warnings
+0
Change

Category Scores

Security0
Repo89
Performance100
Maintainability60

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

214 findings

Security

146

7 issue groups

Maintainability

51

14 issue groups

I18n

13

4 issue groups

WARNINGSecurityMissing Unslash$_GET['subtab'] not unslashed before sanitization. Use wp_unslash() or similar27
Category
Security
Occurrences
27
Severity
warning

Sample message

$_GET['subtab'] not unslashed before sanitization. Use wp_unslash() or similar

ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$ajax_post_url'.26
Category
Security
Occurrences
26
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$ajax_post_url'.

WARNINGSecurityInput Not SanitizedDetected usage of a non-sanitized input variable: $_POST['billing_address_1']24
Category
Security
Occurrences
24
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_POST['billing_address_1']

WARNINGSecurityRecommendedProcessing form data without nonce verification.21
Category
Security
Occurrences
21
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput Not ValidatedDetected usage of a possibly undefined superglobal array index: $_POST['billing_address_1']. Check that the array index exists before using it.21
Category
Security
Occurrences
21
Severity
warning

Sample message

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

WARNINGMaintainabilityDynamic Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "PayPal_Utils::hook('generate_paypal_js_sdk_args')".14
Category
Maintainability
Occurrences
14
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "PayPal_Utils::hook('generate_paypal_js_sdk_args')".

ERRORSecurityUnsafe Printing FunctionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.14
Category
Security
Occurrences
14
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNINGSecurityMissingProcessing form data without nonce verification.13
Category
Security
Occurrences
13
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORI18nMissing Translators CommentA function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.8
Category
I18n
Occurrences
8
Severity
error

Sample message

A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.

ERRORMaintainabilitydate datedate() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.7
Category
Maintainability
Occurrences
7
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

Show 15 more
WARNINGMaintainabilityNon Prefixed Class Found6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

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

WARNINGMaintainabilityNon Prefixed Hookname Found5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

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

WARNINGMaintainabilityNon Prefixed Constant Found4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "WC_PP_PRO_ADDON_FILE".

WARNINGMaintainabilityDirect Query3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Use of a direct database call is discouraged.

ERRORMaintainabilityNon Enqueued Script3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

Scripts must be registered/enqueued via wp_enqueue_script()

ERRORI18nNo Empty Strings3
Category
I18n
Occurrences
3
Severity
error

Sample message

The $text text string should have translatable content. Found: ''

WARNINGMaintainabilityerror log print r2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

print_r() found. Debug code should not normally be used in production.

WARNINGMaintainabilityMissing Version2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.

WARNINGI18nload plugin textdomain Found1
Category
I18n
Occurrences
1
Severity
warning

Sample message

load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.

WARNINGMaintainabilityslow db query meta key1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

WARNINGMaintainabilityslow db query meta value1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Detected usage of meta_value, possible slow query.

WARNINGMaintainabilityNon Prefixed Variable Found1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

ERRORMaintainabilityparse url parse url1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.

ERRORMaintainabilityrand rand1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

rand() is discouraged. Use the far less predictable wp_rand() instead.

ERRORI18nText Domain Mismatch1
Category
I18n
Occurrences
1
Severity
error

Sample message

Mismatched text domain. Expected 'woocommerce-paypal-pro-payment-gateway' but got 'woocommerce'.

Score History

First score snapshot

v4.0.0

35

Latest

Findings
214
Errors
67
Warnings
147
Check
2.0.0

Related Plugins