Better Payment allows you to automate payment transactions to manage payments, donations, subscriptions, sell products, etc on your Elementor and Gute …
Prioritized issue groups from the latest Plugin Check scan
Maintainability
636
9 issue groups
Security
459
11 issue groups
I18n
154
5 issue groups
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$allowed_pro_banners".
Sample message
$_GET['_wpnonce'] not unslashed before sanitization. Use wp_unslash() or similar
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']'.
Sample message
The $text parameter must be a single text string literal. Found: "PAGE STRUCTURE — take it from the brief above, never from a default.\n"\n . "1. Read the user's brief for anything that describes the page's shape: a number of columns, a split or ratio (\"50/50\", \"two equal columns\", \"70/30\"), a sidebar and which side it is on, a full-width or single-column page, a hero band, or the order sections should appear in. If the brief says it, build EXACTLY that — the stated column count, in the stated order, with widths matching the stated ratio (\"50/50\" means two columns of width \"50%\" and \"50%\"). A structural instruction from the user is not a preference to balance against your own judgement; it is the requirement.\n"\n . "2. If the brief says nothing about structure, choose the one that best serves THIS campaign's story and audience, and vary it to suit the subject — an emergency appeal, a memorial and a school fundraiser should not come out identically composed. Do not default to a single house layout.\n"\n . '3. Either way, set each column\'s `width` explicitly as a percentage string, pick the `layout` preset that matches the column count, and give every column a short, meaningful `label`.'
Sample message
Processing form data without nonce verification.
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable $column_name at "ALTER TABLE $table_name ADD $column_name $column_type"
Sample message
Use of a direct database call is discouraged.
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
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.
Sample message
Detected usage of a non-sanitized input variable: $_FILES['better-payment-transaction-import-input']
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
Detected usage of a possibly undefined superglobal array index: $_POST['cancel_return']. Check that the array index exists before using it.
Sample message
Processing form data without nonce verification.
Sample message
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
Sample message
Unescaped parameter $column_name used in $wpdb->query()\n$column_type used without escaping.
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "active_plugins".
Sample message
Use placeholders and $wpdb->prepare(); found $query
Sample message
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
Sample message
The $text text string should have translatable content. Found: ' '
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>'
Sample message
error_log() found. Debug code should not normally be used in production.
Sample message
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: mkdir().
Sample message
Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead
Sample message
Mismatched text domain. Expected 'better-payment' but got 'essential-blocks'.
Sample message
Unescaped parameter $payment_table used in $wpdb->get_row()\n$payment_table assigned unsafely at line 101.
Potential connections found in static code analysis.
Outbound calls
258
External assets
9
Incoming endpoints
33
admin_post
wp_ajax
wp_ajax
wp_ajax
admin_post
wp_ajax
admin_post
wp_ajax
wp_ajax
wp_ajax
admin_post
admin_post
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
7 more hidden
4 score snapshots
v2.3.1
24
Latest
v2.3.0
24
Score
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 24 | 1,275 | 343 | 932 | v2.3.1 | 2.0.0 |
| 24 | 1,275 | 343 | 932 | v2.3.0 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.