[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fR39Qi2N2j4UVSkFDMW5KYqVSzby2iLl46ZPRC2XVNYo":3,"$f9B4-wDjWkcJqv_29vaTMevgB-p1dqtzXyQuSd4CEO3g":679,"$fTcilo9wckEy9WktZyZ1Sh5f91kjdvGCHIf5N9zCQuYU":683},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":37,"analysis":127,"fingerprints":653},"qe-reward-points-for-woocommerce","Qe Reward Points for WooCommerce","1.0.0","QeWebby","https:\u002F\u002Fprofiles.wordpress.org\u002Fqewebby\u002F","\u003Cp>Qe Reward Points for WooCommerce is a powerful loyalty system that allows store owners to reward customers with points for their purchases.\u003C\u002Fp>\n\u003Cp>Customers can earn points based on configurable rules and redeem them during checkout for discounts.\u003C\u002Fp>\n\u003Cp>🚀 \u003Cstrong>Key Features (Free)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Fixed points per order\u003C\u002Fli>\n\u003Cli>First order bonus points\u003C\u002Fli>\n\u003Cli>Minimum order amount for redemption\u003C\u002Fli>\n\u003Cli>Maximum redeemable points per order\u003C\u002Fli>\n\u003Cli>Reward history tracking\u003C\u002Fli>\n\u003Cli>Fully compatible with WooCommerce\u003C\u002Fli>\n\u003Cli>Email templating support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>🏆 \u003Cstrong>Premium Features (Pro)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Unlock advanced features with the \u003Ca href=\"https:\u002F\u002Fwww.qewebby.com\u002Fqe-rewards-points-for-woocommerce\" rel=\"nofollow ugc\">Pro version\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Percentage-based earning\u003C\u002Fli>\n\u003Cli>Points per currency spent\u003C\u002Fli>\n\u003Cli>Product-level reward overrides\u003C\u002Fli>\n\u003Cli>Category-level reward overrides\u003C\u002Fli>\n\u003Cli>Expiry management support\u003C\u002Fli>\n\u003Cli>Import\u002FExport functionality\u003C\u002Fli>\n\u003Cli>Membership system\u003C\u002Fli>\n\u003Cli>Referral program\u003C\u002Fli>\n\u003Cli>Create customer account on checkout\u003C\u002Fli>\n\u003Cli>Decimal reward points support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Additional Information\u003C\u002Fh3>\n\u003Cp>Check out our other plugins:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002F360-product-viewer-for-woocommerce\u002F\" rel=\"ugc\">360 Product Viewer for WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Finstaview-for-woocommerce\u002F\" rel=\"ugc\">InstaView for WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqe-ultimate-blocks\u002F\" rel=\"ugc\">Qe Ultimate Blocks\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Fol>\n","A powerful loyalty system for WooCommerce that allows customers to earn and redeem reward points.",0,56,"2026-04-06T13:16:00.000Z","6.9.4","6.5","7.4",[18,19,20,21,22],"discounts","ecommerce","loyalty","reward-points","woocommerce","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fqe-rewards-points-for-woocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqe-reward-points-for-woocommerce.1.0.0.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":25,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"qewebby",4,400,30,94,"2026-05-19T21:22:23.649Z",[38,56,77,96,111],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":25,"num_ratings":48,"last_updated":49,"tested_up_to":14,"requires_at_least":50,"requires_php":16,"tags":51,"homepage":54,"download_link":55,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"simple-points-and-rewards","Simple Points and Rewards for WooCommerce – Create a Loyalty Program","1.10.1","Elliot Sowersby \u002F RelyWP","https:\u002F\u002Fprofiles.wordpress.org\u002Felliotvs\u002F","\u003Cp>Simple Points and Rewards for WooCommerce helps you launch a lightweight, no‑bloat points and rewards loyalty program without complexity.\u003C\u002Fp>\n\u003Cp>Customers earn points for actions (signup, orders, referrals) and redeem them for rewards like WooCommerce coupon vouchers, specific products, or checkout discounts – a complete Points and Rewards experience for WooCommerce.\u003C\u002Fp>\n\u003Cp>A dedicated “Rewards” tab appears under My Account with points, history, ways to earn and redeem, and redeemed vouchers.\u003C\u002Fp>\n\u003Cp>Admins get a clear settings area and tools to manage points, logs, and vouchers in your loyalty program.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FJbT0KFVoZ48?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>Points and Rewards – Free Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>My Account “Rewards” page (or shortcode) for customers to view and manage their points and rewards\u003C\u002Fli>\n\u003Cli>Levels and Badges System (Some limits apply in free version)\u003C\u002Fli>\n\u003Cli>Deduct points when orders are refunded\u002Fcancelled\u002Ffailed\u003C\u002Fli>\n\u003Cli>Customisable email notifications (points earned, rewards claimed)\u003C\u002Fli>\n\u003Cli>Admin tools: Settings, Points Activity Log, Customer Points manager, Reward Vouchers\u003C\u002Fli>\n\u003Cli>Order meta box showing awarded\u002Fdeducted points context\u003C\u002Fli>\n\u003Cli>Plugin customisations (points labels, rewards labels, headings, colors, etc)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why choose this Loyalty Points and Rewards plugin?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Built specifically for WooCommerce\u003C\u002Fli>\n\u003Cli>Fast and lightweight\u003C\u002Fli>\n\u003Cli>Simple UX: one Rewards dashboard with points, levels, ways to earn and redeem\u003C\u002Fli>\n\u003Cli>Easy to setup and configure\u003C\u002Fli>\n\u003Cli>Works alongside WooCommerce coupon discounts and sales\u003C\u002Fli>\n\u003Cli>Flexible reward types: vouchers, products, or checkout discounts\u003C\u002Fli>\n\u003Cli>Levels and multipliers to incentivise more spending\u003C\u002Fli>\n\u003Cli>Comprehensive admin tools for managing your loyalty program\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Ways to Earn Points\u003C\u002Fh3>\n\u003Cp>There are several ways for customers to earn points, including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Signing up for an account\u003C\u002Fli>\n\u003Cli>Placing new orders\u003C\u002Fli>\n\u003Cli>Referring friends via referral links\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The Pro version adds points for first order, after X orders, writing reviews, birthdays, social shares, and daily logins.\u003C\u002Fp>\n\u003Ch3>Types of Rewards\u003C\u002Fh3>\n\u003Cp>Reward points can be redeemed for various rewards vouchers including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>WooCommerce coupon vouchers for discounts\u003C\u002Fli>\n\u003Cli>Free shipping on their next order\u003C\u002Fli>\n\u003Cli>Claim a specific free product\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Alternatively, you can enable the “Points Discount on Checkout” option. This is a more simple and traditional method, that allows customers to convert points into an immediate order discount at checkout without generating a coupon.\u003C\u002Fp>\n\u003Ch3>Redeeming Points\u003C\u002Fh3>\n\u003Cp>Customers can redeem their points via the Rewards dashboard or at checkout (if enabled):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>My Account > Rewards: Customers view available points, total earned, level progress, ways to earn, ways to redeem, redeemed vouchers, and a paginated points history.\u003C\u002Fli>\n\u003Cli>Redeeming rewards:\n\u003Cul>\n\u003Cli>Voucher reward: creates a WooCommerce coupon tied to the customer that they can use on their next order.\u003C\u002Fli>\n\u003Cli>Product reward: creates a WooCommerce coupon and directs to checkout with the product added to the cart for free.\u003C\u002Fli>\n\u003Cli>Points Discount on Checkout: lets customers apply their points as an instant discount on the current order from the checkout rewards box.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Pro Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Unlimited access to all features\u003C\u002Fli>\n\u003Cli>Referral coupons and offers (gift coupons, attribution rules)\u003C\u002Fli>\n\u003Cli>Conditional Rules for Earning Methods\u003C\u002Fli>\n\u003Cli>Floating Rewards Widget\u003C\u002Fli>\n\u003Cli>Floating Gift widget\u003C\u002Fli>\n\u003Cli>Reward points with a Prize Wheel\u003C\u002Fli>\n\u003Cli>Reward points on First Order\u003C\u002Fli>\n\u003Cli>Reward points after X Orders\u003C\u002Fli>\n\u003Cli>Reward points for Writing Reviews\u003C\u002Fli>\n\u003Cli>Reward points on Birthdays\u003C\u002Fli>\n\u003Cli>Reward points for Social Shares\u003C\u002Fli>\n\u003Cli>Reward points for Daily Logins\u003C\u002Fli>\n\u003Cli>Multi-currency support for points earning\u003C\u002Fli>\n\u003Cli>Points inactivity expiry\u003C\u002Fli>\n\u003Cli>Reward expiry and automatic cleanup\u003C\u002Fli>\n\u003Cli>Min and max points redemption limits\u003C\u002Fli>\n\u003Cli>Additional settings and UX enhancements\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Frelywp.com\u002Fplugins\u002Fsimple-points-and-rewards\u002F\" rel=\"nofollow ugc\">TRY PRO FREE FOR 7 DAYS\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Settings Overview\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Rewards: Create and configure reward items (voucher or product), costs, and limits.\u003C\u002Fli>\n\u003Cli>Ways to Earn: Signup points; order earning rate; award timing; refund\u002Fcancel deductions; referral earning (PRO supports fixed or percent-based with attribution).\u003C\u002Fli>\n\u003Cli>Levels & Badges: Enable levels, multipliers, progression, and display options.\u003C\u002Fli>\n\u003Cli>General: Labels (Points\u002FRewards), headings, display toggles.\u003C\u002Fli>\n\u003Cli>Email: Subjects\u002Fbodies for “points earned” and “reward claimed”, with placeholders available.\u003C\u002Fli>\n\u003Cli>PRO tabs: Conditional Rules, Referral Offers, Gift Widget, Rewards Widget.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Tip: You can also embed the Rewards dashboard anywhere with the shortcode: [spar_points_rewards]. This lets you place your Points and Rewards experience on any page.\u003C\u002Fp>\n\u003Ch3>Migrations\u003C\u002Fh3>\n\u003Cp>You can easily migrate your existing customer points data from other popular WooCommerce Points and Rewards plugins including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>WooCommerce Points and Rewards (by WooCommerce)\u003C\u002Fli>\n\u003Cli>MyRewards (by Long Watch Studio)\u003C\u002Fli>\n\u003Cli>WPLoyalty (by flycart)\u003C\u002Fli>\n\u003Cli>Points and Rewards for WooCommerce (by WP Swings)\u003C\u002Fli>\n\u003Cli>YITH WooCommerce Points and Rewards (by YITH)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why do I need a Points and Rewards program?\u003C\u002Fh3>\n\u003Cp>A Points and Rewards program incentivizes customer loyalty by rewarding repeat purchases and engagement. It encourages customers to return to your store, increasing lifetime value and fostering a sense of community around your brand. By offering points for actions like signing up, making purchases, and referring friends, you create a positive feedback loop that benefits both your business and your customers.\u003C\u002Fp>\n\u003Ch3>Why choose Simple Points and Rewards for WooCommerce?\u003C\u002Fh3>\n\u003Cp>Simple Points and Rewards for WooCommerce is designed to be a lightweight, easy-to-use solution that integrates seamlessly with your WooCommerce store. It offers a comprehensive set of features without the complexity and bloat of larger loyalty programs. With a focus on user experience, both for customers and administrators, it provides a straightforward way to implement a loyalty program that drives engagement and sales.\u003C\u002Fp>\n","WooCommerce Points and Rewards plugin. Create a simple but powerful loyalty program. Reward purchases, referrals, and much more.",200,2171,5,"2026-03-20T21:22:00.000Z","6.0",[20,52,21,22,53],"points-and-rewards","woocommerce-rewards","https:\u002F\u002Frelywp.com\u002Fplugins\u002Fsimple-points-and-rewards\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-points-and-rewards.1.10.1.zip",{"slug":57,"name":58,"version":6,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":25,"num_ratings":65,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":73,"download_link":74,"security_score":75,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":76},"manage-discount-in-admin-orders-for-woocommerce","Manage Discount in Admin Orders for WooCommerce","Tiago Mano","https:\u002F\u002Fprofiles.wordpress.org\u002Ftiagohellodev\u002F","\u003Cp>With this plugin you’ll be able to manage discounts in WooCommerce orders placed in the backoffice. It is possible to add discounts in line, per each product, or apply the discount for the total order.\u003C\u002Fp>\n","This plugin allows you to manage discounts in WooCommerce orders placed in the backoffice.",70,1494,1,"2021-06-15T10:30:00.000Z","5.7.15","3.0.1","",[71,18,72,19,22],"backoffice","e-commerce","https:\u002F\u002Fhellodev.us","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmanage-discount-in-admin-orders-for-woocommerce.1.0.0.zip",85,"2026-04-06T09:54:40.288Z",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":25,"num_ratings":87,"last_updated":88,"tested_up_to":89,"requires_at_least":90,"requires_php":69,"tags":91,"homepage":94,"download_link":95,"security_score":75,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"loyalty-discounts-for-woocommerce","Loyalty Discounts for WooCommerce","1.2.0","RelyWP","https:\u002F\u002Fprofiles.wordpress.org\u002Frelywp\u002F","\u003Cp>Apply WooCommerce loyalty discounts and rewards to a customers checkout, based specific rules and criteria that needs to be met by the user.\u003C\u002Fp>\n\u003Cp>Currently there are 3 different types of WooCommerce discounts that you can setup for your loyal customers:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Discount based on users lifetime total orders on your website.\u003C\u002Fli>\n\u003Cli>Discount based on the users current cart total.\u003C\u002Fli>\n\u003Cli>Discount based on users lifetime total number of items purchased.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The loyalty based WooCommerce discounts can be applied\u002Flimited to specific user roles.\u003C\u002Fp>\n\u003Cp>You can use shortcode [loyalty-discount-info] on a page to allow users to view their current progress and eligibility to the available loyalty discounts.\u003C\u002Fp>\n\u003Cp>Get started today and offer WooCommerce rewards and loyalty discounts to your customers with this simple and easy to use plugin.\u003C\u002Fp>\n","Apply WooCommerce loyalty style discounts to a customers checkout, based specific rules and criteria that needs to be met by the user.",10,2425,2,"2023-07-22T01:44:00.000Z","6.2.9","4.7",[18,20,92,93,22],"rewards","rules","https:\u002F\u002Fwww.elliotvs.co.uk\u002Fplugins\u002Fwoo-loyalty-discounts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Floyalty-discounts-for-woocommerce.zip",{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":85,"downloaded":104,"rating":25,"num_ratings":105,"last_updated":106,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":107,"homepage":109,"download_link":110,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"loyaltyx-points-and-rewards-for-woocommerce","Points and Rewards for WooCommerce – LoyaltyX (Referral, Gamification & Loyalty Program)","1.0.3","DevDiggers","https:\u002F\u002Fprofiles.wordpress.org\u002Fdevdiggers\u002F","\u003Cp>LoyaltyX is a simple, lightweight and performance-optimized \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdevdiggers.com\u002Fproduct\u002Fwoocommerce-points-and-rewards\u002F\" rel=\"nofollow ugc\">WooCommerce points and rewards plugin\u003C\u002Fa>\u003C\u002Fstrong> built for store owners who want to turn one-time buyers into regulars.\u003C\u002Fp>\n\u003Cp>Customers earn points automatically on purchases and redeem those points for discounts directly on the cart or checkout page.\u003C\u002Fp>\n\u003Cp>Launch a complete loyalty program in \u003Cstrong>under 5 minutes\u003C\u002Fstrong> without coding or monthly SaaS fees.\u003C\u002Fp>\n\u003Ch4>Quick Links\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.devdiggers.com\u002Fwoocommerce-loyaltyx-free\u002F\" rel=\"nofollow ugc\">View Free Demo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.devdiggers.com\u002Fwoocommerce-loyaltyx\u002F\" rel=\"nofollow ugc\">View Pro Demo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdevdiggers.com\u002Fknowledge-base\u002Fwoocommerce-points-and-rewards\u002F\" rel=\"nofollow ugc\">Full Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdevdiggers.com\u002Fknowledge-base\u002Floyaltyx-free-vs-pro\u002F\" rel=\"nofollow ugc\">Free vs Pro Comparison\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdevdiggers.com\u002Fproduct\u002Fwoocommerce-points-and-rewards\u002F\" rel=\"nofollow ugc\">Upgrade to Pro\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Earn points automatically for purchases\u003C\u002Fli>\n\u003Cli>Redeem points for discounts at cart or checkout\u003C\u002Fli>\n\u003Cli>Customer rewards dashboard inside My Account\u003C\u002Fli>\n\u003Cli>Points notifications across product, cart, and checkout pages\u003C\u002Fli>\n\u003Cli>Manual admin adjustments and full transaction log\u003C\u002Fli>\n\u003Cli>Works with WooCommerce High-Performance Order Storage (HPOS)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Cp>Setting up a loyalty program with LoyaltyX takes just a few minutes.\u003C\u002Fp>\n\u003Col>\n\u003Cli>Install and activate the plugin\u003C\u002Fli>\n\u003Cli>Set how many points customers earn per dollar spent\u003C\u002Fli>\n\u003Cli>Set how many points equal a discount\u003C\u002Fli>\n\u003Cli>Customers start earning points automatically\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Customers see their points balance in their account and can redeem points during checkout with a single click.\u003C\u002Fp>\n\u003Ch4>Why Loyalty Programs Work\u003C\u002Fh4>\n\u003Cp>Repeat customers spend \u003Cstrong>67% more per order\u003C\u002Fstrong> than new customers.\u003C\u002Fp>\n\u003Cp>Without a loyalty program, a customer who buys once has no strong reason to return to your store instead of a competitor.\u003C\u002Fp>\n\u003Cp>A points system creates that incentive.\u003C\u002Fp>\n\u003Cp>When customers know they already have points saved in your store, they are far more likely to come back and complete another purchase.\u003C\u002Fp>\n\u003Cp>LoyaltyX makes this easy for WooCommerce stores without requiring a developer or an expensive SaaS platform.\u003C\u002Fp>\n\u003Ch3>WooCommerce Points and Rewards – Free Version Features\u003C\u002Fh3>\n\u003Ch3>Purchase-Based Points Earning\u003C\u002Fh3>\n\u003Cp>Customers automatically earn points when they place an order.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Set a global conversion rate (example: earn 10 points per $1 spent)\u003C\u002Fli>\n\u003Cli>Choose which order statuses trigger points (processing or completed)\u003C\u002Fli>\n\u003Cli>Configure rounding rules for fractional points\u003C\u002Fli>\n\u003Cli>Exclude specific products or categories from earning points\u003C\u002Fli>\n\u003Cli>Optionally exclude sale products from earning\u003C\u002Fli>\n\u003Cli>Control whether shipping and taxes count toward points\u003C\u002Fli>\n\u003Cli>Choose whether coupon orders still earn points\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Flexible Points Redemption at Cart and Checkout\u003C\u002Fh3>\n\u003Cp>Customers can redeem their points where they are already making purchase decisions.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Redeem points for discount coupons directly at cart or checkout\u003C\u002Fli>\n\u003Cli>Set minimum and maximum redemption limits\u003C\u002Fli>\n\u003Cli>Define redemption conversion rates (example: 100 points = $1 discount)\u003C\u002Fli>\n\u003Cli>Partial redemption supported – customers choose how many points to spend\u003C\u002Fli>\n\u003Cli>Exclude specific products or categories from redemption\u003C\u002Fli>\n\u003Cli>Option to exclude sale products from redemption calculations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Customer Rewards Dashboard in My Account\u003C\u002Fh3>\n\u003Cp>Customers can see their entire rewards history and available balance.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Dedicated Points and Rewards dashboard inside the My Account page\u003C\u002Fli>\n\u003Cli>Shows total points earned, available balance, and points redeemed\u003C\u002Fli>\n\u003Cli>Complete transaction history for all point events\u003C\u002Fli>\n\u003Cli>Visual summary cards for quick scanning of rewards data\u003C\u002Fli>\n\u003Cli>Fully customizable styling including colors, icons, and layout\u003C\u002Fli>\n\u003Cli>Rename “Points” to Stars, Credits, Coins, or any custom label\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Shortcodes included:\u003Cbr \u002F>\n    [ddwcpr_points_dashboard] – Display the rewards dashboard anywhere\u003Cbr \u002F>\n    [ddwcpr_available_points_value] – Display the customer’s points balance\u003C\u002Fp>\n\u003Ch3>Points Notifications Across Your Store\u003C\u002Fh3>\n\u003Cp>Customers see reward messages during the shopping journey.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Product pages show “Earn X Points with this purchase”\u003C\u002Fli>\n\u003Cli>Shop page displays points on product cards\u003C\u002Fli>\n\u003Cli>Cart page shows potential points earnings\u003C\u002Fli>\n\u003Cli>Checkout page reminds customers about available points\u003C\u002Fli>\n\u003Cli>Order confirmation page shows earned points\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All text and styling are fully customizable.\u003C\u002Fp>\n\u003Ch3>Admin Management\u003C\u002Fh3>\n\u003Cp>Manage the loyalty program directly from WordPress.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>View all customers and points balances\u003C\u002Fli>\n\u003Cli>Manually adjust points with notes\u003C\u002Fli>\n\u003Cli>Full transaction log\u003C\u002Fli>\n\u003Cli>Automatic points revocation on refunds or cancellations\u003C\u002Fli>\n\u003Cli>Configure which order statuses trigger revocation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Developer-Friendly and Performance Focused\u003C\u002Fh3>\n\u003Cp>LoyaltyX is built with performance and extensibility in mind.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>HPOS compatible\u003C\u002Fli>\n\u003Cli>Translation ready (.pot file included)\u003C\u002Fli>\n\u003Cli>Compatible with WPML, Polylang, and Loco Translate\u003C\u002Fli>\n\u003Cli>Compatible with major WooCommerce themes\u003C\u002Fli>\n\u003Cli>Works with all WooCommerce payment gateways\u003C\u002Fli>\n\u003Cli>Ajax-powered redemption and dashboard updates\u003C\u002Fli>\n\u003Cli>Clean code with hooks and filters for developers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdemo.devdiggers.com\u002Fwoocommerce-loyaltyx-free\u002F\" rel=\"nofollow ugc\">View the Free Version Live Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>LoyaltyX Pro – Advanced Features\u003C\u002Fh3>\n\u003Cp>The \u003Ca href=\"https:\u002F\u002Fdevdiggers.com\u002Fproduct\u002Fwoocommerce-points-and-rewards\u002F\" rel=\"nofollow ugc\">Pro version\u003C\u002Fa> expands LoyaltyX into a full loyalty and engagement platform.\u003C\u002Fp>\n\u003Ch3>More Ways to Earn Points\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Sign-up bonus\u003C\u002Fli>\n\u003Cli>Product review rewards\u003C\u002Fli>\n\u003Cli>Daily login rewards\u003C\u002Fli>\n\u003Cli>Birthday rewards\u003C\u002Fli>\n\u003Cli>Referral program\u003C\u002Fli>\n\u003Cli>Loyalty tier bonuses\u003C\u002Fli>\n\u003Cli>Product and category specific earning rates\u003C\u002Fli>\n\u003Cli>User role based earning rules\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advanced Redemption Options\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fixed amount discounts\u003C\u002Fli>\n\u003Cli>Percentage discounts\u003C\u002Fli>\n\u003Cli>Free shipping rewards\u003C\u002Fli>\n\u003Cli>Free products\u003C\u002Fli>\n\u003Cli>Buy X Get Y rewards\u003C\u002Fli>\n\u003Cli>Product bundle rewards\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Loyalty Tiers and Gamification\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Unlimited loyalty tiers\u003C\u002Fli>\n\u003Cli>Tier progress tracking\u003C\u002Fli>\n\u003Cli>Points multipliers for higher tiers\u003C\u002Fli>\n\u003Cli>Tier achievement notifications\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Points Expiration\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Automatic expiration rules\u003C\u002Fli>\n\u003Cli>Reminder emails before expiration\u003C\u002Fli>\n\u003Cli>Expiration tracking based on activity\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advanced Analytics\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Import and export points balances via CSV\u003C\u002Fli>\n\u003Cli>Bulk point operations\u003C\u002Fli>\n\u003Cli>Redemption and ROI reports\u003C\u002Fli>\n\u003Cli>Identify top loyalty customers\u003C\u002Fli>\n\u003Cli>Email marketing integrations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdemo.devdiggers.com\u002Fwoocommerce-loyaltyx\u002F\" rel=\"nofollow ugc\">View the Pro Version Live Demo\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdevdiggers.com\u002Fproduct\u002Fwoocommerce-points-and-rewards\u002F\" rel=\"nofollow ugc\">Upgrade to LoyaltyX Pro\u003C\u002Fa>\u003C\u002Fp>\n","A lightweight WooCommerce points and rewards plugin to run a loyalty program where customers earn points on purchases and redeem them for discounts.",657,6,"2026-04-08T09:46:00.000Z",[20,108,52,21,53],"loyalty-program","https:\u002F\u002Fdevdiggers.com\u002Fproduct\u002Fwoocommerce-points-and-rewards\u002F?utm_source=LoyaltyX%20-%20Points%20and%20Rewards%20for%20WooCommerce&utm_medium=Plugins%20List&utm_campaign=WooCommerce%20Extensions","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Floyaltyx-points-and-rewards-for-woocommerce.1.0.3.zip",{"slug":112,"name":113,"version":114,"author":115,"author_profile":116,"description":117,"short_description":118,"active_installs":11,"downloaded":119,"rating":11,"num_ratings":11,"last_updated":120,"tested_up_to":14,"requires_at_least":121,"requires_php":16,"tags":122,"homepage":125,"download_link":126,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"dits-cumulative-discount","DITS Cumulative Discount","1.0.1","Dits.Agency","https:\u002F\u002Fprofiles.wordpress.org\u002Fditsagency\u002F","\u003Cp>This plugin allows store owners to reward customers with cumulative discounts depending on the total amount they have spent.\u003Cbr \u002F>\nFeatures include:\u003Cbr \u002F>\n* Define discount rules (threshold amount \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> discount percentage).\u003Cbr \u002F>\n* Filter eligible spending by time period (last month, last 6 months, last year, or all time).\u003Cbr \u002F>\n* Restrict calculations to selected product categories.\u003Cbr \u002F>\n* Discounts are automatically applied in the cart and checkout.\u003C\u002Fp>\n","Adds a cumulative discount based on a customer's historical spend, filterable by time period and product categories.",133,"2026-02-11T15:46:00.000Z","5.8",[123,18,20,124,22],"cumulative","sales","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdits-cumulative-discount\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdits-cumulative-discount.1.0.1.zip",{"attackSurface":128,"codeSignals":328,"taintFlows":354,"riskAssessment":644,"analyzedAt":652},{"hooks":129,"ajaxHandlers":270,"restRoutes":322,"shortcodes":323,"cronEvents":324,"entryPointCount":327,"unprotectedCount":105},[130,136,141,145,148,152,157,163,166,171,173,176,178,180,183,186,188,193,197,201,206,208,213,218,222,226,229,233,237,240,244,248,253,256,259,263,264,266,268],{"type":131,"name":132,"callback":133,"file":134,"line":135},"action","add_meta_boxes","qe_reward_points_register_meta_box","admin\u002Fclass-qe-reward-points-order-earn-display.php",43,{"type":131,"name":137,"callback":138,"file":139,"line":140},"admin_menu","qe_reward_points_add_submenu_page","admin\u002Fpartials\u002Fcustomer\u002Fclass-qe-reward-points-customer-view.php",36,{"type":131,"name":142,"callback":143,"file":139,"line":144},"admin_enqueue_scripts","qe_reward_points_admin_enqueue_scripts",37,{"type":131,"name":142,"callback":146,"file":147,"line":144},"qe_reward_points_cust_enqueue_scripts","admin\u002Fpartials\u002Fcustomer\u002Fclass-qe-reward-points-manage-points.php",{"type":131,"name":137,"callback":149,"file":150,"line":151},"qe_reward_points_register_email_template_page","admin\u002Fpartials\u002Femail-templates\u002Fclass-qe-reward-points-email-templates.php",35,{"type":131,"name":153,"callback":154,"file":155,"line":156},"admin_notices","woocommerce_missing_notice","includes\u002Fclasses\u002Fclass-qe-reward-points-activator.php",38,{"type":158,"name":159,"callback":160,"priority":85,"file":161,"line":162},"filter","gettext","qe_reward_points_replace_points_label","includes\u002Fclasses\u002Fclass-qe-reward-points-label-handler.php",27,{"type":158,"name":159,"callback":164,"priority":85,"file":161,"line":165},"qe_reward_points_replace_point_label",28,{"type":131,"name":167,"callback":168,"file":169,"line":170},"plugins_loaded","anonymous","includes\u002Fclasses\u002Fclass-qe-reward-points.php",195,{"type":131,"name":137,"callback":168,"file":169,"line":172},210,{"type":131,"name":174,"callback":168,"file":169,"line":175},"admin_init",213,{"type":131,"name":142,"callback":168,"file":169,"line":177},215,{"type":131,"name":142,"callback":168,"file":169,"line":179},216,{"type":131,"name":181,"callback":168,"file":169,"line":182},"woocommerce_admin_order_totals_after_shipping",219,{"type":131,"name":184,"callback":168,"file":169,"line":185},"wp_enqueue_scripts",233,{"type":131,"name":184,"callback":168,"file":169,"line":187},234,{"type":131,"name":189,"callback":190,"file":191,"line":192},"woocommerce_thankyou","qe_reward_points_display_points_on_thankyou","public\u002Fclass-qe-reward-points-public.php",123,{"type":131,"name":194,"callback":195,"file":191,"line":196},"init","qe_reward_points_schedule_daily_cron",126,{"type":131,"name":198,"callback":199,"file":191,"line":200},"qe_reward_points_daily_cron_event","qe_reward_points_expire_points_cron",127,{"type":131,"name":202,"callback":203,"file":204,"line":205},"wp_loaded","qe_reward_points_loaded","public\u002Fpartials\u002Fcart\u002Fclass-qe-reward-points-cart-page.php",33,{"type":131,"name":184,"callback":207,"file":204,"line":151},"qe_reward_points_frontend_script",{"type":131,"name":209,"callback":210,"priority":48,"file":211,"line":212},"woocommerce_before_calculate_totals","qe_reward_points_recalculate_product_points_on_cart_update","public\u002Fpartials\u002Fcart\u002Fclass-qe-reward-points-redeem.php",44,{"type":131,"name":214,"callback":215,"priority":216,"file":211,"line":217},"woocommerce_cart_calculate_fees","qe_reward_points_apply_reward_points_discount",20,46,{"type":131,"name":219,"callback":220,"priority":85,"file":211,"line":221},"woocommerce_new_order","qe_reward_points_process_reward_points_redemption",48,{"type":131,"name":219,"callback":223,"priority":85,"file":224,"line":225},"qe_reward_points_force_create_account_for_guest","public\u002Fpartials\u002Fcheckout\u002Fclass-qe-reward-points-checkout-page.php",45,{"type":131,"name":219,"callback":227,"priority":216,"file":224,"line":228},"qe_reward_points_add_reward_points_on_order_created",54,{"type":131,"name":230,"callback":231,"priority":85,"file":224,"line":232},"woocommerce_order_status_completed","qe_reward_points_add_reward_points_on_order_complete",63,{"type":131,"name":194,"callback":234,"file":235,"line":236},"qe_reward_points_add_reward_points_endpoint","public\u002Fpartials\u002Fmyaccount\u002Fclass-qe-reward-points-myaccount-page.php",73,{"type":131,"name":184,"callback":238,"file":235,"line":239},"qe_reward_points_public_enqueue_scripts_datatable",74,{"type":158,"name":241,"callback":242,"file":235,"line":243},"woocommerce_account_menu_items","qe_reward_points_add_reward_points_menu_item",75,{"type":131,"name":245,"callback":246,"file":235,"line":247},"woocommerce_account_reward-points_endpoint","qe_reward_points_content",76,{"type":131,"name":249,"callback":250,"priority":85,"file":251,"line":252},"woocommerce_order_status_cancelled","qe_reward_points_handle_order_cancellation","public\u002Fpartials\u002Forder\u002Fclass-qe-reward-points-public-order.php",60,{"type":131,"name":254,"callback":250,"priority":85,"file":251,"line":255},"woocommerce_order_status_failed",61,{"type":131,"name":257,"callback":250,"priority":85,"file":251,"line":258},"woocommerce_order_status_refunded",62,{"type":131,"name":174,"callback":260,"file":261,"line":262},"closure","qe-reward-points-for-woocommerce.php",89,{"type":131,"name":153,"callback":260,"file":261,"line":25},{"type":131,"name":153,"callback":260,"file":261,"line":265},120,{"type":131,"name":153,"callback":260,"file":261,"line":267},140,{"type":131,"name":153,"callback":260,"file":261,"line":269},160,[271,277,279,281,283,285,288,291,295,299,301,304,306,309,310,313,314,317,319],{"action":272,"nopriv":273,"callback":272,"hasNonce":274,"hasCapCheck":273,"file":275,"line":276},"qe_reward_points_save_general_settings",false,true,"admin\u002Fclass-qe-reward-points-settings.php",34,{"action":278,"nopriv":273,"callback":278,"hasNonce":274,"hasCapCheck":273,"file":275,"line":151},"qe_reward_points_save_earning_settings",{"action":280,"nopriv":273,"callback":280,"hasNonce":274,"hasCapCheck":273,"file":275,"line":140},"qe_reward_points_save_redemption_settings",{"action":282,"nopriv":273,"callback":282,"hasNonce":274,"hasCapCheck":273,"file":275,"line":144},"qe_reward_points_save_advanced_settings",{"action":284,"nopriv":273,"callback":284,"hasNonce":274,"hasCapCheck":273,"file":275,"line":156},"qe_reward_points_save_messages_settings",{"action":286,"nopriv":273,"callback":287,"hasNonce":273,"hasCapCheck":273,"file":139,"line":156},"qe_rp_admin_get_customer_points_history","qe_reward_points_handle_ajax_request",{"action":289,"nopriv":273,"callback":290,"hasNonce":274,"hasCapCheck":274,"file":147,"line":156},"qe_rp_manage_points","qe_reward_points_handle_manage_points_ajax",{"action":292,"nopriv":273,"callback":293,"hasNonce":274,"hasCapCheck":274,"file":147,"line":294},"qe_rp_qe_reward_points_load_manage_points_modal","qe_reward_points_load_manage_points_modal",39,{"action":296,"nopriv":273,"callback":297,"hasNonce":274,"hasCapCheck":273,"file":298,"line":34},"qe_rp_get_chart_data","qe_reward_points_get_chart_data","admin\u002Fpartials\u002Fdashboard\u002Fclass-qe-reward-points-line-chart.php",{"action":300,"nopriv":273,"callback":300,"hasNonce":274,"hasCapCheck":273,"file":150,"line":140},"qe_reward_points_save_email_template",{"action":302,"nopriv":273,"callback":303,"hasNonce":273,"hasCapCheck":273,"file":204,"line":294},"qe_reward_points_get_updated_reward_points","qe_reward_points_ajax_get_points",{"action":302,"nopriv":274,"callback":303,"hasNonce":273,"hasCapCheck":273,"file":204,"line":305},41,{"action":307,"nopriv":273,"callback":308,"hasNonce":273,"hasCapCheck":273,"file":204,"line":135},"qe_reward_points_get_redeem_points","qe_reward_points_ajax_get_redeem_points",{"action":307,"nopriv":274,"callback":308,"hasNonce":273,"hasCapCheck":273,"file":204,"line":225},{"action":311,"nopriv":273,"callback":312,"hasNonce":274,"hasCapCheck":273,"file":211,"line":156},"qe_reward_points_apply_reward_points","qe_reward_points_ajax_apply_reward_points",{"action":311,"nopriv":274,"callback":312,"hasNonce":274,"hasCapCheck":273,"file":211,"line":294},{"action":315,"nopriv":273,"callback":316,"hasNonce":274,"hasCapCheck":273,"file":211,"line":305},"qe_reward_points_remove_reward_points","qe_reward_points_ajax_remove_reward_points",{"action":315,"nopriv":274,"callback":316,"hasNonce":274,"hasCapCheck":273,"file":211,"line":318},42,{"action":320,"nopriv":273,"callback":287,"hasNonce":273,"hasCapCheck":273,"file":235,"line":321},"qe_reward_points_get_points_history",77,[],[],[325],{"hook":198,"callback":198,"file":191,"line":326},176,19,{"dangerousFunctions":329,"sqlUsage":330,"outputEscaping":333,"fileOperations":11,"externalRequests":11,"nonceChecks":346,"capabilityChecks":48,"bundledLibraries":347},[],{"prepared":331,"raw":11,"locations":332},117,[],{"escaped":334,"rawEcho":335,"locations":336},1158,3,[337,341,343],{"file":338,"line":339,"context":340},"admin\u002Fclass-qe-reward-points-admin.php",144,"raw output",{"file":338,"line":342,"context":340},150,{"file":344,"line":345,"context":340},"admin\u002Fpartials\u002Femail-templates\u002Femail-template-settings-view.php",352,16,[348,351],{"name":349,"version":26,"knownCves":350},"Select2",[],{"name":352,"version":26,"knownCves":353},"DataTables",[],[355,373,384,394,405,415,424,436,444,463,473,497,517,581,592,606,620,634],{"entryPoint":356,"graph":357,"unsanitizedCount":11,"severity":372},"qe_reward_points_save_general_settings (admin\u002Fclass-qe-reward-points-settings.php:50)",{"nodes":358,"edges":370},[359,364],{"id":360,"type":361,"label":362,"file":275,"line":363},"n0","source","$_POST (x7)",64,{"id":365,"type":366,"label":367,"file":275,"line":368,"wp_function":369},"n1","sink","update_option() [Settings Manipulation]",136,"update_option",[371],{"from":360,"to":365,"sanitized":274},"low",{"entryPoint":374,"graph":375,"unsanitizedCount":11,"severity":372},"qe_reward_points_save_earning_settings (admin\u002Fclass-qe-reward-points-settings.php:166)",{"nodes":376,"edges":382},[377,380],{"id":360,"type":361,"label":378,"file":275,"line":379},"$_POST (x6)",181,{"id":365,"type":366,"label":367,"file":275,"line":381,"wp_function":369},393,[383],{"from":360,"to":365,"sanitized":274},{"entryPoint":385,"graph":386,"unsanitizedCount":11,"severity":372},"qe_reward_points_save_redemption_settings (admin\u002Fclass-qe-reward-points-settings.php:420)",{"nodes":387,"edges":392},[388,390],{"id":360,"type":361,"label":362,"file":275,"line":389},436,{"id":365,"type":366,"label":367,"file":275,"line":391,"wp_function":369},645,[393],{"from":360,"to":365,"sanitized":274},{"entryPoint":395,"graph":396,"unsanitizedCount":11,"severity":372},"qe_reward_points_save_advanced_settings (admin\u002Fclass-qe-reward-points-settings.php:668)",{"nodes":397,"edges":403},[398,401],{"id":360,"type":361,"label":399,"file":275,"line":400},"$_POST (x4)",684,{"id":365,"type":366,"label":367,"file":275,"line":402,"wp_function":369},711,[404],{"from":360,"to":365,"sanitized":274},{"entryPoint":406,"graph":407,"unsanitizedCount":11,"severity":372},"qe_reward_points_save_messages_settings (admin\u002Fclass-qe-reward-points-settings.php:729)",{"nodes":408,"edges":413},[409,411],{"id":360,"type":361,"label":399,"file":275,"line":410},745,{"id":365,"type":366,"label":367,"file":275,"line":412,"wp_function":369},751,[414],{"from":360,"to":365,"sanitized":274},{"entryPoint":416,"graph":417,"unsanitizedCount":11,"severity":372},"\u003Cclass-qe-reward-points-settings> (admin\u002Fclass-qe-reward-points-settings.php:0)",{"nodes":418,"edges":422},[419,421],{"id":360,"type":361,"label":420,"file":275,"line":363},"$_POST (x28)",{"id":365,"type":366,"label":367,"file":275,"line":368,"wp_function":369},[423],{"from":360,"to":365,"sanitized":274},{"entryPoint":425,"graph":426,"unsanitizedCount":11,"severity":372},"qe_reward_points_save_email_template (admin\u002Fpartials\u002Femail-templates\u002Fclass-qe-reward-points-email-templates.php:654)",{"nodes":427,"edges":434},[428,431],{"id":360,"type":361,"label":429,"file":150,"line":430},"$_POST",660,{"id":365,"type":366,"label":432,"file":150,"line":402,"wp_function":433},"get_var() [SQLi]","get_var",[435],{"from":360,"to":365,"sanitized":274},{"entryPoint":437,"graph":438,"unsanitizedCount":11,"severity":372},"\u003Cclass-qe-reward-points-email-templates> (admin\u002Fpartials\u002Femail-templates\u002Fclass-qe-reward-points-email-templates.php:0)",{"nodes":439,"edges":442},[440,441],{"id":360,"type":361,"label":429,"file":150,"line":430},{"id":365,"type":366,"label":432,"file":150,"line":402,"wp_function":433},[443],{"from":360,"to":365,"sanitized":274},{"entryPoint":445,"graph":446,"unsanitizedCount":65,"severity":462},"qe_reward_points_ajax_get_customer_points_history (admin\u002Fpartials\u002Fcustomer\u002Fclass-qe-reward-points-admin-customer-helper.php:47)",{"nodes":447,"edges":459},[448,451,454],{"id":360,"type":361,"label":429,"file":449,"line":450},"admin\u002Fpartials\u002Fcustomer\u002Fclass-qe-reward-points-admin-customer-helper.php",108,{"id":365,"type":452,"label":453,"file":449,"line":450},"transform","→ qe_reward_points_get_filtered_history()",{"id":455,"type":366,"label":456,"file":449,"line":457,"wp_function":458},"n2","prepare() [SQLi]",232,"prepare",[460,461],{"from":360,"to":365,"sanitized":273},{"from":365,"to":455,"sanitized":273},"high",{"entryPoint":464,"graph":465,"unsanitizedCount":65,"severity":462},"\u003Cclass-qe-reward-points-admin-customer-helper> (admin\u002Fpartials\u002Fcustomer\u002Fclass-qe-reward-points-admin-customer-helper.php:0)",{"nodes":466,"edges":470},[467,468,469],{"id":360,"type":361,"label":429,"file":449,"line":450},{"id":365,"type":452,"label":453,"file":449,"line":450},{"id":455,"type":366,"label":456,"file":449,"line":457,"wp_function":458},[471,472],{"from":360,"to":365,"sanitized":273},{"from":365,"to":455,"sanitized":273},{"entryPoint":474,"graph":475,"unsanitizedCount":87,"severity":462},"qe_reward_points_handle_manage_points_ajax (admin\u002Fpartials\u002Fcustomer\u002Fclass-qe-reward-points-manage-points.php:265)",{"nodes":476,"edges":493},[477,480,482,485,488],{"id":360,"type":361,"label":478,"file":147,"line":479},"$_POST (x3)",286,{"id":365,"type":366,"label":432,"file":147,"line":481,"wp_function":433},334,{"id":455,"type":361,"label":483,"file":147,"line":484},"$_POST (x2)",505,{"id":486,"type":452,"label":487,"file":147,"line":484},"n3","→ qe_reward_points_process_points_adjustment()",{"id":489,"type":366,"label":490,"file":147,"line":491,"wp_function":492},"n4","query() [SQLi]",671,"query",[494,495,496],{"from":360,"to":365,"sanitized":274},{"from":455,"to":486,"sanitized":273},{"from":486,"to":489,"sanitized":273},{"entryPoint":498,"graph":499,"unsanitizedCount":87,"severity":462},"\u003Cclass-qe-reward-points-manage-points> (admin\u002Fpartials\u002Fcustomer\u002Fclass-qe-reward-points-manage-points.php:0)",{"nodes":500,"edges":512},[501,503,504,505,507,508,510],{"id":360,"type":361,"label":502,"file":147,"line":479},"$_POST (x5)",{"id":365,"type":366,"label":432,"file":147,"line":481,"wp_function":433},{"id":455,"type":361,"label":483,"file":147,"line":479},{"id":486,"type":366,"label":490,"file":147,"line":506,"wp_function":492},643,{"id":489,"type":361,"label":483,"file":147,"line":484},{"id":509,"type":452,"label":487,"file":147,"line":484},"n5",{"id":511,"type":366,"label":490,"file":147,"line":491,"wp_function":492},"n6",[513,514,515,516],{"from":360,"to":365,"sanitized":274},{"from":455,"to":486,"sanitized":274},{"from":489,"to":509,"sanitized":273},{"from":509,"to":511,"sanitized":273},{"entryPoint":518,"graph":519,"unsanitizedCount":48,"severity":462},"\u003Ccustomer-view> (admin\u002Fpartials\u002Fcustomer\u002Fcustomer-view.php:0)",{"nodes":520,"edges":569},[521,525,528,530,532,535,536,538,541,543,546,551,553,556,560,563,566],{"id":360,"type":361,"label":522,"file":523,"line":524},"$_GET (x14)","admin\u002Fpartials\u002Fcustomer\u002Fcustomer-view.php",18,{"id":365,"type":366,"label":526,"file":523,"line":368,"wp_function":527},"echo() [XSS]","echo",{"id":455,"type":361,"label":529,"file":523,"line":140},"$_GET",{"id":486,"type":452,"label":531,"file":523,"line":140},"→ qe_reward_points_get_current_balance()",{"id":489,"type":366,"label":432,"file":533,"line":534,"wp_function":433},"includes\u002Ftraits\u002Ftrait-qe-reward-points-common-helper.php",173,{"id":509,"type":361,"label":529,"file":523,"line":144},{"id":511,"type":452,"label":537,"file":523,"line":144},"→ qe_reward_points_get_used_balance()",{"id":539,"type":366,"label":432,"file":533,"line":540,"wp_function":433},"n7",199,{"id":542,"type":361,"label":529,"file":523,"line":156},"n8",{"id":544,"type":452,"label":545,"file":523,"line":156},"n9","→ qe_reward_points_get_expired_balance()",{"id":547,"type":366,"label":548,"file":533,"line":549,"wp_function":550},"n10","get_row() [SQLi]",227,"get_row",{"id":552,"type":361,"label":529,"file":523,"line":294},"n11",{"id":554,"type":452,"label":555,"file":523,"line":294},"n12","→ qe_reward_points_get_expiring_points()",{"id":557,"type":366,"label":558,"file":533,"line":479,"wp_function":559},"n13","get_results() [SQLi]","get_results",{"id":561,"type":361,"label":529,"file":523,"line":562},"n14",40,{"id":564,"type":452,"label":565,"file":523,"line":562},"n15","→ qe_reward_points_get_admin_removed_points()",{"id":567,"type":366,"label":432,"file":533,"line":568,"wp_function":433},"n16",68,[570,571,572,573,574,575,576,577,578,579,580],{"from":360,"to":365,"sanitized":274},{"from":455,"to":486,"sanitized":273},{"from":486,"to":489,"sanitized":273},{"from":509,"to":511,"sanitized":273},{"from":511,"to":539,"sanitized":273},{"from":542,"to":544,"sanitized":273},{"from":544,"to":547,"sanitized":273},{"from":552,"to":554,"sanitized":273},{"from":554,"to":557,"sanitized":273},{"from":561,"to":564,"sanitized":273},{"from":564,"to":567,"sanitized":273},{"entryPoint":582,"graph":583,"unsanitizedCount":65,"severity":462},"qe_reward_points_get_chart_data (admin\u002Fpartials\u002Fdashboard\u002Fclass-qe-reward-points-line-chart.php:44)",{"nodes":584,"edges":589},[585,586,588],{"id":360,"type":361,"label":429,"file":298,"line":255},{"id":365,"type":452,"label":587,"file":298,"line":255},"→ qe_reward_points_get_points_chart_data()",{"id":455,"type":366,"label":558,"file":298,"line":196,"wp_function":559},[590,591],{"from":360,"to":365,"sanitized":273},{"from":365,"to":455,"sanitized":273},{"entryPoint":593,"graph":594,"unsanitizedCount":65,"severity":462},"\u003Cclass-qe-reward-points-line-chart> (admin\u002Fpartials\u002Fdashboard\u002Fclass-qe-reward-points-line-chart.php:0)",{"nodes":595,"edges":602},[596,598,599,600,601],{"id":360,"type":361,"label":429,"file":298,"line":597},57,{"id":365,"type":366,"label":558,"file":298,"line":196,"wp_function":559},{"id":455,"type":361,"label":429,"file":298,"line":255},{"id":486,"type":452,"label":587,"file":298,"line":255},{"id":489,"type":366,"label":558,"file":298,"line":196,"wp_function":559},[603,604,605],{"from":360,"to":365,"sanitized":274},{"from":455,"to":486,"sanitized":273},{"from":486,"to":489,"sanitized":273},{"entryPoint":607,"graph":608,"unsanitizedCount":65,"severity":462},"\u003Cemail-template-settings-view> (admin\u002Fpartials\u002Femail-templates\u002Femail-template-settings-view.php:0)",{"nodes":609,"edges":617},[610,611,613,615],{"id":360,"type":361,"label":529,"file":344,"line":327},{"id":365,"type":366,"label":548,"file":344,"line":612,"wp_function":550},103,{"id":455,"type":361,"label":614,"file":344,"line":327},"$_GET (x5)",{"id":486,"type":366,"label":526,"file":344,"line":616,"wp_function":527},229,[618,619],{"from":360,"to":365,"sanitized":273},{"from":455,"to":486,"sanitized":274},{"entryPoint":621,"graph":622,"unsanitizedCount":65,"severity":462},"qe_reward_points_ajax_get_points_history (public\u002Fpartials\u002Fmyaccount\u002Fclass-qe-reward-points-myaccounts-point-history-helper.php:62)",{"nodes":623,"edges":631},[624,627,629],{"id":360,"type":361,"label":429,"file":625,"line":626},"public\u002Fpartials\u002Fmyaccount\u002Fclass-qe-reward-points-myaccounts-point-history-helper.php",122,{"id":365,"type":452,"label":628,"file":625,"line":626},"→ qe_reward_points_get_points_history_filtered_server()",{"id":455,"type":366,"label":456,"file":630,"line":616,"wp_function":458},"public\u002Fpartials\u002Fmyaccount\u002Fclass-qe-reward-points-myaccount-helper.php",[632,633],{"from":360,"to":365,"sanitized":273},{"from":365,"to":455,"sanitized":273},{"entryPoint":635,"graph":636,"unsanitizedCount":65,"severity":462},"\u003Cclass-qe-reward-points-myaccounts-point-history-helper> (public\u002Fpartials\u002Fmyaccount\u002Fclass-qe-reward-points-myaccounts-point-history-helper.php:0)",{"nodes":637,"edges":641},[638,639,640],{"id":360,"type":361,"label":429,"file":625,"line":626},{"id":365,"type":452,"label":628,"file":625,"line":626},{"id":455,"type":366,"label":456,"file":630,"line":616,"wp_function":458},[642,643],{"from":360,"to":365,"sanitized":273},{"from":365,"to":455,"sanitized":273},{"summary":645,"deductions":646},"The plugin 'qe-reward-points-for-woocommerce' v1.0.0 exhibits a mixed security posture. On the positive side, the plugin demonstrates strong adherence to secure coding practices by exclusively using prepared statements for all SQL queries and properly escaping all output. The absence of any recorded vulnerabilities in its history is also a significant strength, suggesting a commitment to security or a lack of prior exploitation. However, the plugin presents a notable concern regarding its attack surface. It exposes 19 AJAX handlers, with a significant 6 of them lacking any authentication checks. This is a critical oversight that can expose sensitive functionality to unauthenticated users.\n\nThe taint analysis reveals 10 flows with unsanitized paths, all flagged with high severity. While no critical severity flows were identified, and the plugin uses prepared statements for SQL, these high-severity unsanitized flows could still lead to various security issues like information disclosure or even remote code execution if they interact with other vulnerable components or functions. The presence of these flows alongside unprotected AJAX handlers amplifies the risk, as an attacker could potentially leverage these unsanitized paths through the unprotected entry points.\n\nIn conclusion, while the plugin scores well on core secure coding principles like SQL sanitization and output escaping, the unprotected AJAX handlers and high-severity unsanitized taint flows represent significant weaknesses. The absence of a vulnerability history is reassuring but does not negate the immediate risks identified in the static and taint analysis. These identified issues require immediate attention to secure the plugin effectively.",[647,650],{"reason":648,"points":649},"Unprotected AJAX handlers",8,{"reason":651,"points":85},"High severity unsanitized taint flows","2026-04-16T14:19:09.705Z",{"wat":654,"direct":665},{"assetPaths":655,"generatorPatterns":659,"scriptPaths":660,"versionParams":661},[656,657,658],"\u002Fwp-content\u002Fplugins\u002Fqe-reward-points-for-woocommerce\u002Fassets\u002Fcss\u002Fcustom.css","\u002Fwp-content\u002Fplugins\u002Fqe-reward-points-for-woocommerce\u002Fassets\u002Fcss\u002Ffrontend.css","\u002Fwp-content\u002Fplugins\u002Fqe-reward-points-for-woocommerce\u002Fassets\u002Fjs\u002Ffrontend.js",[],[658],[662,663,664],"qe-reward-points-for-woocommerce\u002Fassets\u002Fcss\u002Fcustom.css?ver=","qe-reward-points-for-woocommerce\u002Fassets\u002Fcss\u002Ffrontend.css?ver=","qe-reward-points-for-woocommerce\u002Fassets\u002Fjs\u002Ffrontend.js?ver=",{"cssClasses":666,"htmlComments":669,"htmlAttributes":670,"restEndpoints":673,"jsGlobals":675,"shortcodeOutput":677},[4,667,668],"qe_reward_points_woo_balance","qe_reward_points_woo_account_balance",[],[671,672],"data-qe-reward-points-total","data-qe-reward-points-balance",[674],"\u002Fwp-json\u002Fqe-reward-points\u002Fv1\u002Fget-points",[676],"qe_reward_points_frontend_params",[678],"[qe_reward_points_display]",{"error":274,"url":680,"statusCode":681,"statusMessage":682,"message":682},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fqe-reward-points-for-woocommerce\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":65,"versions":684},[685],{"version":6,"download_url":24,"svn_tag_url":686,"released_at":26,"has_diff":273,"diff_files_changed":687,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":688,"is_current":274},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fqe-reward-points-for-woocommerce\u002Ftags\u002F1.0.0\u002F",[],[]]