
COD Guard for OpenCart 2.3, 3.x and 4.x — SMS code for cash on delivery, blacklist and amount limit
Protection from refused cash on delivery orders: the buyer confirms the phone with a code at checkout, and the blacklist filters out those who refused before. Pro adds an automatic blacklist by history, an amount limit, an allow list, an attempt log and Telegram. Perpetual licence.
- Compatibility
- OpenCart 4.0.2.3+ and 4.1.x (tested on 4.0.2.3 and 4.1.0.3), 3.x (tested on 3.0.5.0), 2.3.0.2 · PHP 7.0+ · a separate build for each line · admin languages: Ukrainian, Russian, English
- Version
-
v1.0.4 (OpenCart 4)
v1.0.3 (OpenCart 3.x)
v1.0.3 (OpenCart 2.3) - Licence
- a site + a staging copy, lifetime
- Trial
- 7 days, no card, one per site
- Updated
- 01.11.2026
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
Key points
What the buyer sees
The buyer picks cash on delivery and a phone confirmation box appears. The buyer presses the button, types the code from the SMS and can place the order.
What the admin gets
You mark the payment methods that are cash on delivery, pick an SMS provider and set the code length, its lifetime and the number of attempts.
How much it costs
The base version is free. Pro costs 1 290 UAH once, the licence is perpetual. You can try it free for 7 days, no card needed.

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — a site and a staging copy
Moving the site? Unlink the licence on the old domain and activate it on the new one yourself. A staging copy (staging., dev.) works with the same key and does not take a site slot. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
OpenCart 4.0.2.3+ and 4.1.x, 3.x or 2.3.0.2 · PHP 7.0+.
SMS provider with your own account and token.
OpenCart 2.3: the button of the stock cash on delivery module has its own protection. Other cash on delivery modules are protected at the payment and confirmation steps, but not on their own button.
Version history
Before updating to this version, note the settings and the licence key, or replace the files over FTP without uninstalling: later updates keep them.
Protection works on the payment extension button.
For OpenCart 4.x, 3.x and 2.3: confirmation code, blacklist and allow list, amount limit, log, Telegram.
Frequently bought with COD Guard


Cart Discounts (Amount-Based and N+1) for OpenCart

CatCode SEO Pack — SEO Module for OpenCart 2.3, 3.x and 4.x

AI Product Descriptions for OpenCart 2.3, 3.x and 4.x — description generator
Full module description
COD Guard protects a shop from refused cash on delivery orders. The parcel travels to the buyer, waits, comes back, and you pay for delivery both ways. COD Guard confirms the phone with a code at checkout and remembers those who refused before.
What the buyer sees
The buyer picks cash on delivery and a phone confirmation box appears. The buyer presses the button, types the code from the SMS and can place the order. If the buyer is on the blacklist, cash on delivery disappears or the buyer sees an explanation: you choose. Online payment stays available.
What the admin gets
You mark the payment methods that are cash on delivery, pick an SMS provider and set the code length, its lifetime and the number of attempts. In Pro you set after how many refused orders a number joins the blacklist and which amount is allowed for new and trusted buyers.
The log shows every code sent and every blocked attempt. The number is masked in the log.
How it works, step by step
- The buyer picks cash on delivery, and the module checks the number, e-mail, IP and, in Pro, the history.
- If nothing blocks it, the module sends a code.
- The buyer types the code and the number goes into the order.
- At the confirmation step the module checks everything again.
- In Pro, refused orders add the number to the blacklist over time.
Under the hood
- Codes are stored only as a hash.
- There are limits on attempts and on codes per number per hour.
- The payment method at confirmation comes from the session, the number from the order data.
- Buyer history is counted by the order phone. If managers edit numbers by hand, there will be fewer matches.
How to install
- Extensions → Installer: upload the archive for your version and keep the file name.
- OpenCart 2.3: Extensions → Modifications → Refresh. Without it the checkout protection does not work.
- Extensions → Modules → COD Guard → the install button → Edit.
- Mark the cash on delivery payment methods. Keep test mode first and walk through checkout.
- Pick a provider, enter the token and the sender.
- For Pro: paste the key or start the 7-day trial.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
What counts as a refused order?
The order statuses you pick in the automatic rules. If you pick none, the automatic blacklist does not run.
Does a buyer on the allow list still get a code?
Yes. The allow list lifts the blacklist and limits, while the code follows the general rules. To skip regular buyers, Pro has a separate condition.
OpenCart 2.3 does not install the archive.
The 2.3 installer copies files only with FTP on. Without FTP, put the files in place by hand. After that always use Extensions → Modifications → Refresh, or the checkout protection will not work.
Does it work with a One Page checkout?
Check it on your shop in test mode.
Is a blacklist personal data?
Yes. The log masks the number, while the list itself stores it in full. The legal assessment is yours to make.
Is there a WooCommerce version?
Yes, as a separate module. The India functions (MSG91, Fast2SMS, WhatsApp, PIN, advance) are in the WooCommerce version only.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—
Charged in UAH; your bank converts it to your currency. EUR price is approximate.



















