{"id":267067,"date":"2026-02-25T12:50:48","date_gmt":"2026-02-25T12:50:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/smart-cod-control-fraud-blocker\/"},"modified":"2026-04-25T17:19:39","modified_gmt":"2026-04-25T17:19:39","slug":"theforge-smart-cod-control-fraud-blocker-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/en-ca.wordpress.org\/plugins\/theforge-smart-cod-control-fraud-blocker-for-woocommerce\/","author":23315595,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.2","stable_tag":"1.4.2","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Smart Cash on Delivery Fraud Blocker & OTP Verification for WooCommerce","header_author":"The Plugin Forge","header_description":"Reduce fake Cash-on-Delivery orders and COD-related fraud by controlling when COD is available and blocking risky customers.","assets_banners_color":"","last_updated":"2026-04-25 17:19:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/wc-smart-cod-fraud-blocker\/","header_author_uri":"https:\/\/thepluginforge.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":808,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"thepluginforge","date":"2026-02-25 12:50:39"},"1.1.1":{"tag":"1.1.1","author":"thepluginforge","date":"2026-03-15 17:04:53"},"1.2.0":{"tag":"1.2.0","author":"thepluginforge","date":"2026-03-22 05:47:42"},"1.2.1":{"tag":"1.2.1","author":"thepluginforge","date":"2026-03-22 05:53:41"},"1.3.0":{"tag":"1.3.0","author":"thepluginforge","date":"2026-03-22 08:45:29"},"1.3.1":{"tag":"1.3.1","author":"thepluginforge","date":"2026-03-22 08:56:02"},"1.3.2":{"tag":"1.3.2","author":"thepluginforge","date":"2026-03-22 13:15:05"},"1.3.3":{"tag":"1.3.3","author":"thepluginforge","date":"2026-03-22 13:20:39"},"1.4.0":{"tag":"1.4.0","author":"thepluginforge","date":"2026-03-26 05:16:35"},"1.4.1":{"tag":"1.4.1","author":"thepluginforge","date":"2026-04-22 17:12:32"},"1.4.2":{"tag":"1.4.2","author":"thepluginforge","date":"2026-04-25 17:19:39"}},"upgrade_notice":{"1.4.2":"<p>Adds setup wizard, review nudge, deactivation survey, orders list fraud badge, and dashboard widget.<\/p>","1.3.3":"<p>Fixes Quick Start presets and template cards broken in 1.3.2 due to a deployment error. Update immediately.<\/p>","1.3.2":"<p>Important bug fix: General\/Location\/Advanced tab settings were not enforced at checkout since 1.3.0. Strongly recommended for all users.<\/p>","1.3.1":"<p>Bug fix: First rule now appears immediately on save. Recommended update for all 1.3.0 users.<\/p>","1.3.0":"<p>Major update: Visual COD Rule Builder with 11 condition types and quick-start presets. All existing settings preserved.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3469436,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":[],"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3528932,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=wcsf-settings\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"woocommerce\"}},{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"theforge-smart-cod-control-fraud-blocker-for-woocommerce\"}}]}"}},"all_blocks":[],"tagged_versions":["1.1.0","1.1.1","1.2.0","1.2.1","1.3.0","1.3.1","1.3.2","1.3.3","1.4.0","1.4.1","1.4.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3488107,"resolution":"1","location":"assets","locale":"","width":3260,"height":2000},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3488107,"resolution":"2","location":"assets","locale":"","width":3256,"height":2004},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3488190,"resolution":"3","location":"assets","locale":"","width":3256,"height":2002},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3469436,"resolution":"4","location":"assets","locale":"","width":3572,"height":2004},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3488596,"resolution":"5","location":"assets","locale":"","width":3246,"height":1976},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3469436,"resolution":"6","location":"assets","locale":"","width":3580,"height":1960},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3469436,"resolution":"7","location":"assets","locale":"","width":3574,"height":2013},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3488190,"resolution":"8","location":"assets","locale":"","width":3246,"height":1906}},"screenshots":{"1":"COD Rules Dashboard \u2014 block and allow rule groups","2":"Rule editor \u2014 conditions with AND\/OR logic and preset templates","3":"General Settings \u2014 blocked message and COD handling fee","4":"OTP Verification \u2014 provider setup and live widget preview","5":"Test Simulator \u2014 per-rule results showing exactly what matched","6":"Admin Approval \u2014 review suspicious orders","7":"Auto-Blacklist \u2014 automated blocking by threshold","8":"Manual Blacklist \u2014 one-click email and phone blocking"}},"plugin_section":[262246],"plugin_tags":[31179,31178,12891,237935,286],"plugin_category":[45],"plugin_contributors":[251839],"plugin_business_model":[],"class_list":["post-267067","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-cash-on-delivery","plugin_tags-cod","plugin_tags-fraud","plugin_tags-otp-verification","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-thepluginforge","plugin_committers-thepluginforge"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/theforge-smart-cod-control-fraud-blocker-for-woocommerce\/assets\/icon-128x128.png?rev=3469436","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/theforge-smart-cod-control-fraud-blocker-for-woocommerce\/assets\/screenshot-1.png?rev=3488107","caption":"COD Rules Dashboard \u2014 block and allow rule groups"},{"src":"https:\/\/ps.w.org\/theforge-smart-cod-control-fraud-blocker-for-woocommerce\/assets\/screenshot-2.png?rev=3488107","caption":"Rule editor \u2014 conditions with AND\/OR logic and preset templates"},{"src":"https:\/\/ps.w.org\/theforge-smart-cod-control-fraud-blocker-for-woocommerce\/assets\/screenshot-3.png?rev=3488190","caption":"General Settings \u2014 blocked message and COD handling fee"},{"src":"https:\/\/ps.w.org\/theforge-smart-cod-control-fraud-blocker-for-woocommerce\/assets\/screenshot-4.png?rev=3469436","caption":"OTP Verification \u2014 provider setup and live widget preview"},{"src":"https:\/\/ps.w.org\/theforge-smart-cod-control-fraud-blocker-for-woocommerce\/assets\/screenshot-5.png?rev=3488596","caption":"Test Simulator \u2014 per-rule results showing exactly what matched"},{"src":"https:\/\/ps.w.org\/theforge-smart-cod-control-fraud-blocker-for-woocommerce\/assets\/screenshot-6.png?rev=3469436","caption":"Admin Approval \u2014 review suspicious orders"},{"src":"https:\/\/ps.w.org\/theforge-smart-cod-control-fraud-blocker-for-woocommerce\/assets\/screenshot-7.png?rev=3469436","caption":"Auto-Blacklist \u2014 automated blocking by threshold"},{"src":"https:\/\/ps.w.org\/theforge-smart-cod-control-fraud-blocker-for-woocommerce\/assets\/screenshot-8.png?rev=3488190","caption":"Manual Blacklist \u2014 one-click email and phone blocking"}],"raw_content":"<!--section=description-->\n<p><strong>Fake COD orders costing your store money?<\/strong><\/p>\n\n<p>Returned shipments, wasted delivery costs, inventory stuck in transit \u2014 this plugin stops fraud at checkout before a single penny is spent on shipping.<\/p>\n\n<p>Built by <strong><a href=\"https:\/\/thepluginforge.com\">The Plugin Forge<\/a><\/strong>.<\/p>\n\n\n\n<h3>What It Does<\/h3>\n\n<p><strong>Visual Rule Builder<\/strong> \u2014 Create rules to block or allow COD based on conditions like cart value, country, state, postal code, schedule, user role, product, category, coupon, or weight. No code needed.<\/p>\n\n<p><strong>OTP Phone Verification<\/strong> \u2014 Customers verify their phone number via SMS before placing a COD order. Supports Twilio, Vonage, and custom webhooks.<\/p>\n\n<p><strong>Auto-Blacklist<\/strong> \u2014 Automatically blocks customers who exceed a set number of failed deliveries or cancellations.<\/p>\n\n<p><strong>Manual Blacklist<\/strong> \u2014 Block any email or phone number with one click.<\/p>\n\n<p><strong>Fraud Logs<\/strong> \u2014 Every blocked attempt is logged with full detail \u2014 who, what, where, and why.<\/p>\n\n<p><strong>Test Simulator<\/strong> \u2014 Test your rules against any scenario before going live.<\/p>\n\n<p><strong>Admin Approval<\/strong> \u2014 Hold suspicious orders for manual review.<\/p>\n\n<p><strong>Fraud Heatmap<\/strong> \u2014 See where COD fraud is coming from geographically.<\/p>\n\n\n\n<h3>How Rules Work<\/h3>\n\n<p>Go to <strong>WooCommerce \u2192 Smart COD Control \u2192 COD Rules<\/strong>.<\/p>\n\n<ol>\n<li>Click <strong>Add New Rule<\/strong> (or pick a quick-start preset)<\/li>\n<li>Choose <strong>action<\/strong>: Block COD when conditions match, or Allow COD only when conditions match<\/li>\n<li>Choose <strong>match mode<\/strong>: All conditions must match (AND), or any one condition (OR)<\/li>\n<li>Add conditions and save<\/li>\n<\/ol>\n\n<p>Rules are evaluated at checkout in order. If no rules exist, COD is available to everyone.<\/p>\n\n\n\n<p>Built and maintained by <strong><a href=\"https:\/\/thepluginforge.com\">The Plugin Forge<\/a><\/strong>.<\/p>\n\n<h3>Privacy<\/h3>\n\n<ul>\n<li>Blocked order data (email, phone, IP, location, reason) is stored in your WordPress database only<\/li>\n<li>OTP SMS is sent via your chosen provider \u2014 no data goes to The Plugin Forge<\/li>\n<li>Review notice stores plugin install date and dismissal state in <code>wp_options<\/code> \u2014 no data sent externally<\/li>\n<li>Deactivation survey: if you choose to submit feedback, the selected reason, optional details, plugin version, WordPress version, WooCommerce version, and your site URL are sent to The Plugin Forge (thepluginforge.com) to help improve the plugin. Clicking \"Skip &amp; Deactivate\" sends nothing.<\/li>\n<li>No external tracking, no cookies, no analytics<\/li>\n<li>All data permanently deleted on plugin removal via uninstall.php<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong> and search for <strong>\"Smart COD Control\"<\/strong><\/li>\n<li>Install and activate<\/li>\n<li>Go to <strong>WooCommerce \u2192 Smart COD Control<\/strong><\/li>\n<li>Enable the plugin and create your first rule<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20woocommerce%3F\"><h3>Does this require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce 5.0 or higher.<\/p><\/dd>\n<dt id=\"if%20i%20have%20no%20rules%2C%20is%20cod%20still%20available%3F\"><h3>If I have no rules, is COD still available?<\/h3><\/dt>\n<dd><p>Yes. Rules only restrict availability. No rules = COD available for everyone.<\/p><\/dd>\n<dt id=\"what%20is%20otp%20verification%3F\"><h3>What is OTP verification?<\/h3><\/dt>\n<dd><p>A 6-digit code is sent to the customer's phone via SMS. They must enter it before placing a COD order. Supports Twilio, Vonage, and any custom webhook.<\/p><\/dd>\n<dt id=\"does%20otp%20work%20with%20block%20checkout%3F\"><h3>Does OTP work with Block Checkout?<\/h3><\/dt>\n<dd><p>Yes. Works with both Classic and Block checkout.<\/p><\/dd>\n<dt id=\"can%20i%20test%20rules%20without%20affecting%20real%20customers%3F\"><h3>Can I test rules without affecting real customers?<\/h3><\/dt>\n<dd><p>Yes. Use the Test Simulator tab to simulate any order scenario.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20store%3F\"><h3>Will this slow down my store?<\/h3><\/dt>\n<dd><p>No. The plugin only runs at checkout.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens when I delete the plugin?<\/h3><\/dt>\n<dd><p>All data is permanently removed via uninstall.php.<\/p><\/dd>\n<dt id=\"is%20it%20hpos%20compatible%3F\"><h3>Is it HPOS compatible?<\/h3><\/dt>\n<dd><p>Yes. Fully compatible with WooCommerce High-Performance Order Storage.<\/p><\/dd>\n<dt id=\"does%20it%20send%20data%20externally%3F\"><h3>Does it send data externally?<\/h3><\/dt>\n<dd><p>Only OTP SMS \u2014 sent via your chosen provider. Nothing else leaves your server.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.2 - 2026-04-22<\/h4>\n\n<ul>\n<li>NEW: Setup wizard on first activation \u2014 get running in 60 seconds<\/li>\n<li>NEW: 7-day review nudge (shows only if at least one order was blocked)<\/li>\n<li>NEW: Deactivation survey \u2014 local-only, no data sent externally<\/li>\n<li>NEW: \ud83d\udea8 fraud badge on WooCommerce orders list for flagged orders<\/li>\n<li>NEW: Dashboard widget \u2014 today \/ week \/ all-time blocked order counts<\/li>\n<\/ul>\n\n<h4>1.4.1 - 2026-04-22<\/h4>\n\n<ul>\n<li>Confirmed compatibility with WordPress 6.9 and WooCommerce 10.6.0<\/li>\n<\/ul>\n\n<h4>1.4.0 - 2026-03-26<\/h4>\n\n<ul>\n<li>NEW: COD Rules tab split into two sections \u2014 Simple Settings (quick toggles) and Custom Rules (rule builder)<\/li>\n<li>NEW: Simple Settings \u2014 one-click rules for block above $X, block below $X, and allow only one country; all disabled by default<\/li>\n<li>NEW: Custom Rules take priority over Simple Settings \u2014 allow_only rules act as explicit exceptions that bypass simple settings<\/li>\n<li>NEW: Condition picker redesigned as a card panel grouped by category (Cart, Location, Customer, Product, Time) with icons and descriptions<\/li>\n<li>NEW: General Settings tab now shows the COD enable\/disable toggle and blocked message settings (previously on COD Rules tab)<\/li>\n<li>FIX: Hide message toggle alignment \u2014 was broken by a conflicting label CSS rule inside the message bar<\/li>\n<li>FIX: Add Condition dropdown (now picker panel) click not working \u2014 was using prop(hidden) instead of show\/hide<\/li>\n<\/ul>\n\n<h4>1.3.3 - 2026-03-22<\/h4>\n\n<ul>\n<li>FIX: Quick Start presets and template cards now correctly open the rule editor \u2014 a deployment error in 1.3.2 had shipped an older rule-builder.js missing the preset functionality<\/li>\n<\/ul>\n\n<h4>1.3.2 - 2026-03-22<\/h4>\n\n<ul>\n<li>FIX: General, Location, and Advanced tab settings (min\/max cart, schedule, countries, states, postcodes, roles, products, categories, coupons, weight) were silently ignored at checkout since 1.3.0 \u2014 all now enforced correctly<\/li>\n<li>FIX: Weight rule condition was inverted \u2014 was matching orders above the max weight instead of within range<\/li>\n<li>FIX: OTP \"please verify\" error no longer appears alongside \"no payment methods\" when COD is blocked by a rule<\/li>\n<li>FIX: Plugin toggle (enable\/disable) no longer resets blocked message, colors, and cart limits to defaults<\/li>\n<li>FIX: Color\/message Save button no longer disables the plugin<\/li>\n<\/ul>\n\n<h4>1.3.1 - 2026-03-22<\/h4>\n\n<ul>\n<li>FIX: First rule now appears immediately after saving without requiring a page refresh<\/li>\n<\/ul>\n\n<h4>1.3.0 - 2026-03-22<\/h4>\n\n<ul>\n<li>NEW: Visual COD Rule Builder with block and allow-only rule groups<\/li>\n<li>NEW: 11 condition types \u2014 cart, location, schedule, role, product, category, coupon, weight<\/li>\n<li>NEW: AND\/OR logic with live connector badges between conditions<\/li>\n<li>NEW: Quick-start preset templates and empty-state preset cards<\/li>\n<li>NEW: Rule test simulator rewritten to evaluate actual saved rules<\/li>\n<li>NEW: OTP verification widget live preview in admin settings<\/li>\n<li>FIX: Blocked message text and colors now correctly applied on frontend<\/li>\n<li>FIX: Ajax COD check uses rule-resolved message<\/li>\n<\/ul>\n\n<h4>1.2.0 - 2026-03-21<\/h4>\n\n<ul>\n<li>NEW: OTP phone verification (Twilio, Vonage, custom webhook)<\/li>\n<li>NEW: Configurable OTP expiry, max attempts, message template<\/li>\n<li>NEW: 60-second resend cooldown<\/li>\n<\/ul>\n\n<h4>1.1.0 - 2025-12-07<\/h4>\n\n<ul>\n<li>NEW: Schedule, user role, product, category, coupon, weight rules<\/li>\n<li>NEW: Behavior risk scoring, admin approval, auto-blacklist<\/li>\n<li>NEW: Test simulator and fraud heatmap<\/li>\n<\/ul>\n\n<h4>1.0.0 - 2025-01-01<\/h4>\n\n<ul>\n<li>Initial release \u2014 location rules, cart value limits, COD fee, blacklist, fraud logs<\/li>\n<\/ul>","raw_excerpt":"Stop fake COD orders before they ship. Smart rules, OTP phone verification, and fraud analytics \u2014 all in one plugin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/267067","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=267067"}],"author":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/thepluginforge"}],"wp:attachment":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=267067"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=267067"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=267067"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=267067"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=267067"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=267067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}