Transact Security & Risk Analysis

wordpress.org/plugins/transact

Micropayments from $0.01. Receive payments for digital content on WordPress.

10 active installs v6.0.0 PHP 8.1+ WP 5.0+ Updated Unknown
e-commercemicropaymentspaymentspaywallsubscription
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Transact Safe to Use in 2026?

Generally Safe

Score 100/100

Transact has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs
Risk Assessment

The "transact" v6.0.0 plugin exhibits a mixed security posture. On the positive side, it demonstrates strong practices regarding SQL queries, utilizing prepared statements exclusively, and a high percentage of properly escaped output, which are foundational for secure WordPress development. The absence of dangerous functions, file operations, and bundled libraries also reduces potential attack vectors.

However, significant concerns arise from the attack surface analysis. A substantial number of REST API routes (8 out of 10) lack permission callbacks, making them directly accessible without proper authentication or authorization. Furthermore, the taint analysis reveals flows with unsanitized paths, indicating a potential for improper data handling that could lead to security issues, even if no critical or high severity vulnerabilities were immediately identified in this specific analysis. The limited number of nonce and capability checks further exacerbates the risk associated with these unprotected entry points.

The plugin's vulnerability history is clean, with no recorded CVEs. This absence of past security incidents is a positive sign, suggesting a generally well-maintained codebase or limited exposure. However, it does not negate the risks identified in the current static and taint analysis. The overall conclusion is that while the plugin has strengths in core secure coding practices like prepared statements and output escaping, the significant number of unprotected REST API endpoints and unsanitized paths represent a considerable risk that requires immediate attention and remediation.

Key Concerns

  • REST API routes without permission callbacks
  • Taint flows with unsanitized paths
  • AJAX handlers without auth checks
  • Limited nonce checks
  • Limited capability checks
Vulnerabilities
None known

Transact Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

Transact Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
6 prepared
Unescaped Output
9
199 escaped
Nonce Checks
3
Capability Checks
3
File Operations
0
External Requests
5
Bundled Libraries
0

SQL Query Safety

100% prepared6 total queries

Output Escaping

96% escaped208 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

3 flows2 with unsanitized paths
<transact-admin-settings-menu> (admin\controllers\transact-admin-settings-menu.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
8 unprotected

Transact Attack Surface

Entry Points11
Unprotected8

REST API Routes 10

GET/wp-json/transact/v1/token/(?P<post_id>\d+)frontend\controllers\transact-single-post.php:86
GET/wp-json/transact/v1/token/(?P<post_id>\d+)/(?P<affiliate_id>\d+)frontend\controllers\transact-single-post.php:101
GET/wp-json/transact/v1/oauth/statefrontend\controllers\transact-single-post.php:121
GET/wp-json/transact/v1/subscription/(?P<post_id>\d+)frontend\controllers\transact-single-post.php:133
GET/wp-json/transact/v1/subscription/(?P<post_id>\d+)/(?P<affiliate_id>\d+)frontend\controllers\transact-single-post.php:148
GET/wp-json/transact/v1/donation/(?P<post_id>\d+)/(?P<amount>\d+)frontend\controllers\transact-single-post.php:168
GET/wp-json/transact/v1/donation/(?P<post_id>\d+)/(?P<amount>\d+)/(?P<affiliate_id>\d+)frontend\controllers\transact-single-post.php:185
POST/wp-json/transact/v1/verifyfrontend\controllers\transact-single-post.php:207
GET/wp-json/transact/v1/premium/(?P<post_id>\d+)frontend\controllers\transact-single-post.php:220
GET/wp-json/transact/v1/comments_template/(?P<post_id>\d+)frontend\controllers\transact-single-post.php:234

Shortcodes 1

[transact_button] admin\controllers\transact-admin-settings-post.php:43
WordPress Hooks 27
actionadmin_menuadmin\controllers\transact-admin-settings-menu.php:24
actionadmin_initadmin\controllers\transact-admin-settings-menu.php:25
actionadmin_initadmin\controllers\transact-admin-settings-menu.php:26
actionadd_meta_boxesadmin\controllers\transact-admin-settings-post.php:41
actionsave_postadmin\controllers\transact-admin-settings-post.php:42
actionadmin_headadmin\controllers\transact-admin-settings-post.php:60
actionenqueue_block_editor_assetsadmin\controllers\transact-admin-settings-post.php:61
actionrest_api_initfrontend\controllers\transact-single-post.php:85
filterauth_cookie_expirationfrontend\controllers\transact-single-post.php:466
filtercomments_templatefrontend\controllers\transact-single-post.php:650
filterauth_cookie_expirationfrontend\controllers\transact-single-post.php:707
filterthe_contentfrontend\controllers\transact-single-post.php:748
filterrender_blockfrontend\controllers\transact-single-post.php:749
actiontemplate_redirectfrontend\controllers\transact-single-post.php:753
actionwp_enqueue_scriptsfrontend\controllers\transact-single-post.php:754
actionwp_enqueue_scriptsfrontend\controllers\transact-single-post.php:755
actionwp_body_openfrontend\controllers\transact-single-post.php:757
actionwp_headfrontend\controllers\transact-single-post.php:758
actionwp_headfrontend\controllers\transact-single-post.php:759
actionwp_headfrontend\controllers\transact-single-post.php:760
actiontemplate_redirectfrontend\controllers\transact-single-post.php:763
actionafter_setup_themefrontend\controllers\transact-single-post.php:780
filtercomments_templatefrontend\controllers\transact-single-post.php:788
filtercomments_openfrontend\controllers\transact-single-post.php:790
filterblock_categoriesfrontend\controllers\transact-single-post.php:795
filterblock_categories_allfrontend\controllers\transact-single-post.php:797
filterauth_cookie_expirationfrontend\controllers\transact-single-post.php:897
Maintenance & Trust

Transact Maintenance & Trust

Maintenance Signals

WordPress version tested6.4.8
Last updatedUnknown
PHP min version8.1
Downloads5K

Community Trust

Rating100/100
Number of ratings1
Active installs10
Developer Profile

Transact Developer Profile

transactiumdev

3 plugins · 30 total installs

92
trust score
Avg Security Score
97/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Transact

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/transact/frontend/assets/css/transact-frontend.css/wp-content/plugins/transact/frontend/assets/js/transact-frontend.js/wp-content/plugins/transact/admin/assets/css/transact-admin.css
Script Paths
/wp-content/plugins/transact/frontend/assets/js/transact-frontend.js
Version Parameters
transact/frontend/assets/css/transact-frontend.css?ver=transact/frontend/assets/js/transact-frontend.js?ver=transact/admin/assets/css/transact-admin.css?ver=

HTML / DOM Fingerprints

CSS Classes
transact-payment-buttontransact-donation-button
HTML Comments
<!-- transact.io -->
Data Attributes
data-transact-iddata-transact-pricedata-transact-post-id
JS Globals
transact_frontend_params
REST Endpoints
/wp-json/transact/v1/payment-intent/wp-json/transact/v1/validate-payment
Shortcode Output
[transact_button]
FAQ

Frequently Asked Questions about Transact