Better Payment – Instant Payments, Donations, Fundraising with Subscriptions & More

Better Payment allows you to automate payment transactions to manage payments, donations, subscriptions, sell products, etc on your Elementor and Gute …

v2.2.1WPDeveloperUpdated Added 6k+ installs92% rating
24
Score
342
Errors
930
Warnings
+0
Change

Category Scores

Security0
Repo91
Performance100
Maintainability3

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,272 findings

Maintainability

629

8 issue groups

Security

467

12 issue groups

I18n

153

5 issue groups

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$allowed_pro_banners".493
Category
Maintainability
Occurrences
493
Severity
warning

Sample message

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

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$all_data['email_content_admin']'.109
Category
Security
Occurrences
109
Severity
error

Sample message

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

WARNINGSecurityRequest data is not unslashed$_GET['_wpnonce'] not unslashed before sanitization. Use wp_unslash() or similar105
Category
Security
Occurrences
105
Severity
warning

Sample message

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

ERRORI18nNon Singular String Literal TextThe $text parameter must be a single text string literal. Found: $all_data['form_name']103
Category
I18n
Occurrences
103
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $all_data['form_name']

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

Sample message

Processing form data without nonce verification.

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable $column_name at "ALTER TABLE $table_name ADD $column_name $column_type"41
Category
Security
Occurrences
41
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $column_name at "ALTER TABLE $table_name ADD $column_name $column_type"

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.39
Category
Maintainability
Occurrences
39
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().38
Category
Maintainability
Occurrences
38
Severity
warning

Sample message

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

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.31
Category
I18n
Occurrences
31
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.

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_FILES['better-payment-transaction-import-input']30
Category
Security
Occurrences
30
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_FILES['better-payment-transaction-import-input']

Show 15 more
ERRORMaintainabilityMissing direct file access protection24
Category
Maintainability
Occurrences
24
Severity
error

Sample message

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

WARNINGSecurityInput is not validated23
Category
Security
Occurrences
23
Severity
warning

Sample message

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

WARNINGSecurityMissing nonce verification18
Category
Security
Occurrences
18
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORSecurityUnsafe printing function17
Category
Security
Occurrences
17
Severity
error

Sample message

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

WARNINGSecurityDatabase parameter is not escaped16
Category
Security
Occurrences
16
Severity
warning

Sample message

Unescaped parameter $column_name used in $wpdb->query()\n$column_type used without escaping.

WARNINGMaintainabilityNon-prefixed hook name12
Category
Maintainability
Occurrences
12
Severity
warning

Sample message

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

ERRORSecuritySQL query is not prepared11
Category
Security
Occurrences
11
Severity
error

Sample message

Use placeholders and $wpdb->prepare(); found $query

ERRORMaintainabilitydate date11
Category
Maintainability
Occurrences
11
Severity
error

Sample message

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

ERRORI18nNo Empty Strings8
Category
I18n
Occurrences
8
Severity
error

Sample message

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

WARNINGI18nNo Html Wrapped Strings7
Category
I18n
Occurrences
7
Severity
warning

Sample message

Translatable string should not be wrapped in HTML. Found: '<p class="better-payment-dynamic-value-info" style="word-break: break-word;">Under Items, provide other campaign IDs. The first campaign will be featured. Follow <a href="%1$s" target="_blank">this doc</a> to retrieve campaign ID.</p>'

WARNINGMaintainabilityerror log error log6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

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

ERRORMaintainabilityfile system operations mkdir6
Category
Maintainability
Occurrences
6
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: mkdir().

ERRORI18nText Domain Mismatch4
Category
I18n
Occurrences
4
Severity
error

Sample message

Mismatched text domain. Expected 'better-payment' but got 'essential-blocks'.

ERRORSecurityDatabase parameter is not escaped3
Category
Security
Occurrences
3
Severity
error

Sample message

Unescaped parameter $payment_table used in $wpdb->get_row()\n$payment_table assigned unsafely at line 95.

WARNINGSecuritywp redirect wp redirect3
Category
Security
Occurrences
3
Severity
warning

Sample message

wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.

Score History

First score snapshot

v2.2.1

24

Latest

Findings
1,272
Errors
342
Warnings
930
Check
2.0.0

Related Plugins

Visa Acceptance Solutions

10k+ active installs

100
PayHere Payment Gateway

2k+ active installs

95
Order Tip for WooCommerce

2k+ active installs

93
Payment Forms for Paystack

3k+ active installs

90