WordPress plugin intelligence profile

Smart COD for WooCommerce

Configure COD restrictions and extra fees for WooCommerce Classic Checkout and Cart & Checkout Blocks.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version1.9.8
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 4.5 · PHP 5.6
Directory statusactive
Last directory update23 Oct 202610d ago
Active installations30K+Adoption metric — not a quality score
WordPress.org rating4.6 / 5 from 52 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Smart COD for WooCommerce version 1.9.8 as active, updated 10d ago and tested up to WordPress 7.1.

Overview

About this plugin

Smart COD for WooCommerce extends the WooCommerce Cash on Delivery (COD) Gateway with an optional extra fee and restrictions based on customer conditions such as location and selected shipping method.

9+ for Blocks). The same COD restrictions and extra fees apply to both checkout types.

Protect your COD orders with Smart COD AI

Go beyond your own store’s history: use delivery history from connected stores in your country, machine-learning risk assessment and clear reasons for COD decisions. Choose your protection rules and checkout actions, and preview and import your existing Smart COD settings.

Discover Smart COD AI — a separate paid service with a 7-day free trial. This Free plugin remains free and works independently.

Restrictions

Each restriction can be easily toggled between Enable and Disable. When set to Enable, the restriction will allow the Cash on Delivery (COD) payment option only for the specified selections. On the other hand, when set to Disable, the restriction will disable the COD option for the specified selections, making it unavailable for them.

  • Shipping Zone
  • Shipping Method inside Shipping Zone
  • Country
  • State
  • Postal Code (Supports Ranges)
  • City
  • User Role
  • Products in cart (Supports Variations)
  • Categories of the products in cart
  • Shipping Class

You can define an informational message to display before the payment methods, when the COD method is not available for a customer.

You can define different messages per restrict reason.

Extra Fees

You can configure a standard extra fee and a separate fee for local pickup.

You can use a fixed price or a percentage of the customer’s cart amount.

You also have a nice rounding option.

You can enable tax for this fee.

Settings Backup

Export your Free settings as a JSON file and restore them on the same store from WooCommerce > Smart COD: Settings backup. Review the current and saved values before confirming. No Smart COD AI account is required.

Backups include COD availability, fees, restriction selections and messages. Sharing consent, credentials and order/customer data are excluded and remain unchanged during restoration. Files from another store are not accepted because product, shipping and category identifiers are store-specific.

A preview expires after ten minutes; changing settings after preview requires a new preview.

Developer-Friendly

The plugin integrates seamlessly with WooCommerce and uses a clean, object-oriented codebase. It also provides the following filters for easy customization:

  • wc_smart_cod_fee: Alter the extra fee.
  • wc_smart_cod_available: Alter the current COD restriction.
  • wc_smart_cod_fee_title: Change the COD fee title.

Since the plugin extends the existing WooCommerce Cash on Delivery Gateway, there’s no need to enable or disable gateways manually.

External services

COD Protection and order-history sharing are optional and off by default in this Free plugin. com and permits the collection described below. Collection includes future physical COD creation snapshots and subsequent outcomes in signed background batches, without requiring tracking or a 24-hour wait.

The existing filtered cancellation relay still sends eligible historical and future cancellation evidence and a capped prior-completed tracked COD count for the same shopper at that shop. An existing enabled sharing setting applies to this collection after updating, without another activation step or expansion notice; disabled settings remain disabled. Registration includes a generated installation identifier, shop domain, operating country and public signing key.

Events include pseudonymized customer/location identifiers, a non-reversible order reference, timestamps, totals/currency, shipping method, item count, guest/registered status and courier/tracking where available. The service validates signed submissions, deduplicates events and applies an additional secret-keyed transformation to identity tokens.

Data supports same-store COD protection and, subject to server-side eligibility review, cross-store machine-learning training; collection does not activate live ML scoring. No individual shop could perform that cross-shop processing locally.

When COD Protection is enabled and checkout contains an email address or telephone number, the plugin sends locally generated SHA-256 identity tokens, the installation identifier and operating country to the COD Protection endpoint. Raw email and telephone values are not sent. The service checks only eligible events belonging to that same installation and returns only an allow/disable decision with a decision reference and policy metadata, not customer-history counts.

The service records aggregate decision statistics and pseudonymized supporting evidence for denials, rather than storing every raw checkout lookup request. A timeout, invalid response or unavailable service leaves Cash on Delivery available. Turning the option off stops future collection, transmission and checkout lookups.

The plugin does not call courier APIs.

Service information: cancelled COD service privacy details, Terms and Conditions and Privacy Policy.

COD Protection, successful history and order lifecycle

Classic shortcode checkout remains supported. 9 or newer through the native Store API and Blocks extension APIs. The same COD rules, fees and optional order-lifecycle collection apply to both checkouts.

Third-party gateways and checkout fields require their own Blocks support.

Changes in this release: collection expands from filtered cancellation evidence to prospective physical COD creation and outcome events. The successful-history allowance adds context so earlier cancellations are not considered in isolation. This prepares representative data for cross-store machine-learning training; receiving data does not automatically activate ML scoring at checkout.

New lifecycle events do NOT require tracking or a 24-hour wait. A new physical COD order created and cancelled within minutes is still recorded whenever the sharing setting is enabled. Other payment methods, virtual-only orders and deposit-child orders are excluded.

Existing historical cancellations retain their filtered relay: this release does not import all past creations or completed orders.

Collection and COD restriction are different. Not every collected cancellation is a qualifying negative match. The existing shipment/fulfilment checks remain: tracking, a prior physical-order completed status or a shipped/fulfilled transition.

The lower-confidence untracked fallback applies only without a recognized tracking integration, after at least 24 hours between creation and cancellation, with a fulfilment-stage source status when supplied. Tracking AND 24 hours are not universal joint requirements. A cancellation by itself is not proof of refusal or non-delivery.

Optional and off by default in this Free plugin. Protection checks only this installation. com in signed background batches.

Creation snapshots include pseudonymized email/telephone and postcode identifiers, order reference, timing, totals/currency, shipping method, item count and guest/registered status. Courier names and tracking codes are included where available. Raw customer email, telephone and names are not sent.

Data is used for COD protection and, subject to server-side eligibility review, cross-store machine-learning training.

There is one sharing setting. After updating, stores that already enabled sharing also collect future physical COD creation snapshots and subsequent outcomes, without a separate activation or upgrade notice. Stores with sharing disabled remain disabled.

Switching sharing off stops future capture, transmission and checkout checks. Historical cancellations keep their existing compatibility relay. Old orders first observed after the update or activation are marked as late observations, not invented checkout snapshots.

The configurable successful-history allowance uses only directly matching email or telephone in this store and affects only the history-based restriction. Default minimum rate: 100%, preserving the existing history restriction unless the merchant chooses a lower rate (50% to 100%). Nine known successful orders and one qualifying dispatched-then-cancelled order meet 90%.

Pending orders do not count. WooCommerce completed status is merchant-reported, not automatically courier-confirmed. New completion rows and cumulative historical snapshots are not summed: the service uses a conservative maximum to avoid counting the same deliveries twice.

Exact individually imported historical success coverage may therefore be incomplete.

Checkout calls contain hashed identifiers, not raw identity values. The service records aggregate operational counts and pseudonymized evidence for actual denials. This is distinct from storing every raw lookup request.

Transport/service errors fail open. com/cancelled-cod-data-sharing/

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • cash on delivery
  • cod extra fee
  • smart cod
  • woocommerce
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 4.5 · PHP 5.6
Update activity23 Oct 202610d ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

Version1.9.61.9.8
Version1.9.51.9.6
Version1.9.41.9.5
WordPress compatibility7.1.17.1.3
Version1.9.31.9.4
Version1.9.11.9.3
WordPress compatibility7.17.1.1
WordPress requirement4.04.5
Directory statusinactiveactive
Directory statusactiveinactive
Version1.9.01.9.1
Version1.8.41.9.0
WordPress compatibility6.8.87.1
WordPress requirement3.0.14.0
PHP requirementNot listed5.6
Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.