Afterpay Gateway for WooCommerce

Provide Afterpay as a payment option for WooCommerce orders.

v3.8.8AfterpayUpdated Added 10k+ installs72% rating100% support resolved
38
Score
183
Errors
62
Warnings
+0
Change

Category Scores

Security0
Repo83
Performance100
Maintainability76

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

245 findings

I18n

146

4 issue groups

Security

80

9 issue groups

Maintainability

16

9 issue groups

Repo Compliance

3

3 issue groups

ERRORI18nText Domain MismatchMismatched text domain. Expected 'afterpay-gateway-for-woocommerce' but got 'woo_afterpay'.124
Category
I18n
Occurrences
124
Severity
error

Sample message

Mismatched text domain. Expected 'afterpay-gateway-for-woocommerce' but got 'woo_afterpay'.

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

Sample message

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

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.18
Category
Security
Occurrences
18
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORI18nInterpolated Variable TextThe $text parameter must not contain interpolated variables or expressions. Found: {$_POST['token']}13
Category
I18n
Occurrences
13
Severity
error

Sample message

The $text parameter must not contain interpolated variables or expressions. Found: {$_POST['token']}

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET['orderToken']11
Category
Security
Occurrences
11
Severity
warning

Sample message

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

WARNINGSecurityRequest data is not unslashed$_GET['orderToken'] not unslashed before sanitization. Use wp_unslash() or similar10
Category
Security
Occurrences
10
Severity
warning

Sample message

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

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.

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<div {$wrapper_attributes} style={$style}>"'.7
Category
Security
Occurrences
7
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<div {$wrapper_attributes} style={$style}>"'.

WARNINGSecurityInput is not validatedDetected usage of a possibly undefined superglobal array index: $_POST[&#039;nonce&#039;]. Check that the array index exists before using it.6
Category
Security
Occurrences
6
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_POST[&#039;nonce&#039;]. Check that the array index exists before using it.

WARNINGSecurityInput is not validated or sanitizedDetected usage of a non-sanitized, non-validated input variable _POST: &quot;Afterpay order token: {$_POST[&#039;token&#039;]}&quot;4
Category
Security
Occurrences
4
Severity
warning

Sample message

Detected usage of a non-sanitized, non-validated input variable _POST: &quot;Afterpay order token: {$_POST[&#039;token&#039;]}&quot;

Show 15 more
ERRORMaintainabilityMissing direct file access protection4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

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

ERRORSecurityException output is not escaped3
Category
Security
Occurrences
3
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Payment DECLINED for WooCommerce Order #{$order_number} (Afterpay Order #{$payment->id})."'.

WARNINGMaintainabilityNon-prefixed class2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;WC_Gateway_Afterpay&quot;.

WARNINGMaintainabilityNon-prefixed constant2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;WC_GATEWAY_AFTERPAY_PATH&quot;.

WARNINGMaintainabilityNon-prefixed hook name2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;woocommerce_calculated_shipping&quot;.

WARNINGMaintainabilityNon-prefixed global variable2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$environments&quot;.

WARNINGMaintainabilityerror log print r1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

WARNINGMaintainabilityerror log var dump1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

WARNINGSecurityMissing nonce verification1
Category
Security
Occurrences
1
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilityMissing Version1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

ERRORI18nMissing Arg Domain1
Category
I18n
Occurrences
1
Severity
error

Sample message

Missing $domain parameter in function call to _e().

ERRORRepo Complianceinvalid license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Your plugin has an invalid license declared. Please update your readme with a valid SPDX license identifier.

WARNINGMaintainabilitymissing composer json file1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

The &quot;/vendor&quot; directory using composer exists, but &quot;composer.json&quot; file is missing.

ERRORRepo Complianceoutdated tested upto header1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Tested up to: 6.7 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.

ERRORRepo Complianceplugin header no license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

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

Score History

First score snapshot

v3.8.8

38

Latest

Findings
245
Errors
183
Warnings
62
Check
2.0.0

Related Plugins