Title: Dango COD Order Form for WooCommerce
Author: DANGO
Published: <strong>October 25, 2026</strong>
Last modified: October 25, 2026

---

Search plugins

![](https://ps.w.org/dango-cod-order-form/assets/banner-772x250.png?rev=3764882)

![](https://ps.w.org/dango-cod-order-form/assets/icon-256x256.png?rev=3764882)

# Dango COD Order Form for WooCommerce

 By [DANGO](https://profiles.wordpress.org/usmanghazanfar/)

[Download](https://downloads.wordpress.org/plugin/dango-cod-order-form.1.1.0.zip)

 * [Details](https://wordpress.org/plugins/dango-cod-order-form/#description)
 * [Reviews](https://wordpress.org/plugins/dango-cod-order-form/#reviews)
 *  [Installation](https://wordpress.org/plugins/dango-cod-order-form/#installation)
 * [Development](https://wordpress.org/plugins/dango-cod-order-form/#developers)

 [Support](https://wordpress.org/support/plugin/dango-cod-order-form/)

## Description

**Dango COD Order Form** helps cash-on-delivery stores take more orders and lose
less money to fake ones. Use it in either of two ways — the setup wizard asks which:

 * **With the one-step order form** — customers tap “Order now” on the product page,
   fill in their name, phone, city and address, and the order is placed: no cart,
   no account, no card.
 * **With your normal checkout** — keep WooCommerce’s cart and checkout exactly 
   as they are, and ask risky cash-on-delivery orders to pay the delivery charge(
   or the whole order) online first.

Built for cash-on-delivery stores everywhere, with first-class support for Pakistan.

Every feature below is complete and works without limits. There is no order cap,
no trial and no licence key in this plugin.

#### The order form

 * **Popup or embedded** on the product page — replace the Add to cart button, or
   show the form above, below or after the price.
 * **Sticky “Order now” bar on phones** that appears once the main button scrolls
   away.
 * **Quick-buy buttons** on shop and category pages, an **order button on the cart
   page**, or **replace the checkout** with the form for COD-only stores.
 * **Shortcode, block and Elementor widget** for landing pages: `[dango_cod_form
   product="123" mode="embed"]`.
 * **Drag-and-drop form builder** with a live preview that uses the real storefront
   form — what you see is what customers get.
 * Fields for name, phone, email, city, province, address, nearest landmark, postcode
   and notes, plus **custom fields** (text, number, dropdown, choice buttons, checkbox,
   date, hidden value from a link).
 * **Simple and variable products** with size and colour choices, quantity, and 
   live totals.
 * **WooCommerce coupons**, and a clear order summary with savings.
 * **Six ready languages** for the form — English, Urdu, Roman Urdu, Arabic, French
   and Spanish — with right-to-left layout, and every word editable.
 * **Three design templates**, your brand colour, corner style, field style, dark
   mode and button animations.

#### Built for cash-on-delivery markets

 * **Worldwide phone checks** for more than 50 countries: every common way of typing
   a number is accepted (“0300-1234567”, “+92 300 1234567”, “923001234567”) and 
   saved in one consistent format. The international number is kept too, for WhatsApp
   and SMS.
 * **Selling to several countries?** The form starts on the shopper’s own country,
   read from the browser’s time zone and language. No location lookup; nothing is
   sent anywhere.
 * **Searchable city lists** for Pakistan, India, Bangladesh, the UAE, Saudi Arabia,
   Egypt and Morocco (English and local names), and free-text cities everywhere 
   else.
 * **Delivery charges**: a flat charge, free above an amount, a different charge
   per city — or your WooCommerce shipping zones. Optionally show an **estimated
   delivery time** under the charge, for all cities or per city. Taxes from WooCommerce
   are shown and added the same way the order adds them.
 * **Terms & conditions** at order placement: a checkbox or a short line linking
   to your terms page, recorded on the order.
 * **Address tips** that nudge customers to add a house number and street, so riders
   can find them.

#### Fake-order protection

 * Invisible **bot trap** and **minimum fill time** — no CAPTCHA puzzles for real
   customers.
 * **Duplicate check**: the same phone ordering the same product again is told their
   order is already on its way.
 * **Daily limits** per phone number and per internet connection.
 * **Blocklist** of phones, emails and IP addresses — block a customer straight 
   from their order screen.
 * Optional **advance payment** for the customers you choose (see below).
 * Optional **Cloudflare Turnstile** bot check (reuses the keys from Dango System
   Utilities if you have it).
 * A **rejected-attempts log** so you can see what was stopped and why.

#### Advance payment (optional)

Ask some customers to pay part of the order — or all of it — before you send the
parcel. Off by default; you decide who is asked:

 * **Every** cash-on-delivery order, or **only orders that match** your conditions:
   order total above an amount, first order from a phone number, customers who returned
   or refused an order before, delivery to cities you choose — and, with **SafeShip**
   installed, customers with cancelled or returned orders in SafeShip’s history 
   or flagged by SafeShip before.
 * **How much**: the delivery charge; the delivery charge plus a fixed amount or
   a percentage of the products; a fixed amount; a percentage of the order; or the
   whole order. The advance is always part of the order total, never extra — it 
   is taken off the cash the rider collects.
 * Works for orders from the order form **and from your normal WooCommerce checkout**(
   cash on delivery).
 * Customers get a **Pay now** button after the order, on the thank-you page and
   in order emails, and pay on WooCommerce’s own pay page with any online method
   you offer — card, wallet or bank transfer. Cash on delivery is hidden there.
 * A part payment is a small “Advance payment for order #…” order; once paid it 
   is taken off the cash to collect and the order moves to Processing. Unpaid advances
   are cancelled by WooCommerce’s unpaid-order timer.

#### Works with WooCommerce, not around it

Every order is a normal WooCommerce order: stock, emails, reports, coupons and other
plugins keep working. Compatible with the new order storage (HPOS) and the classic
one, block themes and classic themes, and full-page caching (no exclusions needed).

Also works with **WPML and Polylang** (translate the form’s words per language),**
currency switchers** (WOOCS, WPML multi-currency, Aelia, CURCY), **Elementor**, 
and product add-on plugins (products with required add-on fields keep the normal
Add to cart). Includes **WP-CLI** commands (`wp dango-cod`) and a **debug log** 
you can switch on when something needs looking into.

#### Fast by design

No scripts or styles load on pages without a form. On product pages only a tiny 
loader runs until the shopper shows interest; the full form loads on first tap.

#### Ad tracking

Fire Meta (Facebook), TikTok and Google Analytics 4 events when the form opens and
when an order is placed. Campaign details (UTM) and ad click ids are saved on each
order, and WooCommerce’s own order attribution (“Origin”) is filled in too. Using
Google Tag Manager? The form also pushes `dcof_begin_checkout` and `dcof_purchase`(
with order number, value and items) to the data layer for your own tags.

#### Connects with DANGO products

 * **TrackKaro** (courier tracking for Pakistan): the form uses your courier’s own
   city list from the copy TrackKaro keeps in your shop, and saves the courier city
   on the order for booking. The form never contacts TrackKaro’s servers.
 * **TrackKaro WhatsApp**: form orders get the same WhatsApp confirmation as checkout
   orders.
 * **Dango System Utilities**: reuse its Cloudflare Turnstile keys.
 * **SafeShip**: if installed, its verdict is shown on the order screen, and its
   saved verdicts and customer history can decide who pays in advance. Read from
   your shop’s database only.

#### Pro add-on

A separate, paid add-on — Dango COD Order Form Pro — adds quantity offers and bundles,
order bumps, one-click upsells, one-time codes by SMS or WhatsApp, risk rules, lost-
sale recovery, server-side ad events, full reports and connections such as Google
Sheets and webhooks, plus multi-step and conditional forms, file uploads, order 
confirmation links, a call queue for your team, A/B tests and more. It is described
on the plugin’s Add-ons screen and at [solutions.dango.pk](https://solutions.dango.pk/software/dango-cod-order-form/).
This plugin works fully on its own.

### Source code

Everything in this plugin is its own, human-readable source: the PHP, JavaScript(
assets/js, assets/admin) and CSS are hand-written and shipped exactly as written.
Nothing is compiled, bundled or minified, so there are no build tools to run — edit
the files directly. No third-party libraries are included.

### External services

This plugin connects to outside services **only when you switch them on**:

#### Cloudflare Turnstile (bot check)

Used only when you enable “Cloudflare Turnstile” under Protection. When the form
is shown, the customer’s browser loads Cloudflare’s Turnstile script from challenges.
cloudflare.com; when an order is submitted, your site sends the Turnstile answer,
your secret key and the customer’s IP address to Cloudflare’s siteverify endpoint
to confirm the visitor is human. [Terms of use](https://www.cloudflare.com/website-terms/)·
[Privacy policy](https://www.cloudflare.com/privacypolicy/)

#### Meta (Facebook) Pixel

Used only when you enter a Meta Pixel ID. The customer’s browser loads Meta’s pixel
script from connect.facebook.net and sends page-view, “InitiateCheckout” and “Purchase”
events (order value, currency and product ids). [Terms](https://www.facebook.com/legal/terms/businesstools)·
[Privacy policy](https://www.facebook.com/privacy/policy/)

#### TikTok Pixel

Used only when you enter a TikTok Pixel ID. The customer’s browser loads TikTok’s
pixel script from analytics.tiktok.com and sends page-view, “InitiateCheckout” and“
CompletePayment” events (order value, currency and products). [Terms](https://ads.tiktok.com/i18n/official/policy/terms)·
[Privacy policy](https://www.tiktok.com/legal/page/row/privacy-policy/en)

#### Google Analytics 4

Used only when you enter a GA4 measurement ID. The customer’s browser loads Google’s
tag from www.googletagmanager.com and sends page-view, “begin_checkout” and “purchase”
events (order number, value, currency and products). [Terms](https://marketingplatform.google.com/about/analytics/terms/us/)·
[Privacy policy](https://policies.google.com/privacy)

The pixel code can be turned off (“Load the pixel code on my site”) when another
plugin already loads it, and events can wait for cookie consent through the WordPress
Consent API.

No other outside requests are made. The plugin does not contact DANGO, TrackKaro
or any other server.

## Screenshots

[⌊The order form in a popup on a product page. No cart, no account: name, phone,
city, address and the order is placed.⌉⌊The order form in a popup on a product page.
No cart, no account: name, phone, city, address and the order is placed.⌉[

The order form in a popup on a product page. No cart, no account: name, phone, city,
address and the order is placed.

[⌊On phones the form opens as a bottom sheet.⌉⌊On phones the form opens as a bottom
sheet.⌉[

On phones the form opens as a bottom sheet.

[⌊The drag-and-drop form builder with live preview. Click any part of the form to
edit it.⌉⌊The drag-and-drop form builder with live preview. Click any part of the
form to edit it.⌉[

The drag-and-drop form builder with live preview. Click any part of the form to 
edit it.

[⌊The setup wizard: pick a style and a brand colour.⌉⌊The setup wizard: pick a style
and a brand colour.⌉[

The setup wizard: pick a style and a brand colour.

[⌊Dashboard: form opens, orders, conversion and revenue.⌉⌊Dashboard: form opens,
orders, conversion and revenue.⌉[

Dashboard: form opens, orders, conversion and revenue.

[⌊Fake-order protection: bot trap, repeat orders and daily limits per phone and 
connection.⌉⌊Fake-order protection: bot trap, repeat orders and daily limits per
phone and connection.⌉[

Fake-order protection: bot trap, repeat orders and daily limits per phone and connection.

[⌊Blocklist for phone numbers, emails and IP addresses.⌉⌊Blocklist for phone numbers,
emails and IP addresses.⌉[

Blocklist for phone numbers, emails and IP addresses.

[⌊Each form order shows its form, page, phone (with a WhatsApp link) and campaign
source.⌉⌊Each form order shows its form, page, phone (with a WhatsApp link) and 
campaign source.⌉[

Each form order shows its form, page, phone (with a WhatsApp link) and campaign 
source.

[⌊An Urdu form, right to left, with size and colour buttons for a variable product.⌉⌊
An Urdu form, right to left, with size and colour buttons for a variable product
.⌉[

An Urdu form, right to left, with size and colour buttons for a variable product.

[⌊Advance payment: after the order the customer pays the delivery charge online;
the rest is cash on delivery.⌉⌊Advance payment: after the order the customer pays
the delivery charge online; the rest is cash on delivery.⌉[

Advance payment: after the order the customer pays the delivery charge online; the
rest is cash on delivery.

[⌊Settings → Advance payment: choose who pays in advance (big orders, first orders,
earlier returns, cities) and how much.⌉⌊Settings → Advance payment: choose who pays
in advance (big orders, first orders, earlier returns, cities) and how much.⌉[

Settings  Advance payment: choose who pays in advance (big orders, first orders,
earlier returns, cities) and how much.

## Blocks

This plugin provides 1 block.

 *   COD Order Form

## Installation

 1. Install and activate WooCommerce.
 2. Install this plugin from **Plugins  Add New**, or upload the zip, and activate 
    it.
 3. You are taken to a short setup: choose your country and language, where the form
    shows and how it looks.
 4. Open any product page — the order button is there. Place a test order with test
    mode on.

## FAQ

### Does it replace the normal checkout?

Only if you want it to. By default the form sits on product pages next to (or instead
of) Add to cart, and your normal checkout still works. There is an option to replace
the checkout page for COD-only stores.

### Can I use it without the order form?

Yes. Choose “My normal checkout” in the setup wizard (or set Settings  Placement
to Off). Your cart and checkout stay as they are, and advance payment works on cash-
on-delivery orders from your checkout. The form’s own fake-order checks apply to
orders placed through the form, so you can add the form to some products later and
keep the checkout for the rest.

### Is there a limit on orders?

No. Unlimited orders, always.

### Does it work with page caching?

Yes. The form fetches a short-lived security token when it opens, so cached pages
work without any exclusions.

### Which payment method do form orders use?

WooCommerce’s “Cash on delivery”. The form works even if that gateway is disabled
at the normal checkout.

### Can risky customers pay before delivery?

Yes. Settings  Advance payment asks every COD order, or only the ones you choose(
big orders, first orders, earlier returns, certain cities, SafeShip history), to
pay the delivery charge, an amount, a percentage or the whole order online first.
You need at least one online payment method (card, wallet or bank transfer) switched
on in WooCommerce.

### Can I change the words and translate the form?

Yes. Pick one of six ready languages in the builder, then edit any text. With WPML
or Polylang, the form’s words appear in their string translation screens. The admin
screens are translatable through translate.wordpress.org.

### Does it work outside Pakistan?

Yes — phone checks cover more than 50 countries and any other number is checked 
with a general rule. You can accept orders from several countries; customers then
get a country picker.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Dango COD Order Form for WooCommerce” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ DANGO ](https://profiles.wordpress.org/usmanghazanfar/)

[Translate “Dango COD Order Form for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/dango-cod-order-form)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/dango-cod-order-form/),
check out the [SVN repository](https://plugins.svn.wordpress.org/dango-cod-order-form/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/dango-cod-order-form/)
by [RSS](https://plugins.trac.wordpress.org/log/dango-cod-order-form/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.0

 * New: terms & conditions at order placement, like WooCommerce’s checkout — a checkbox(
   ticked or not by default) or a “By placing your order, you agree to our terms”
   line, linking to your WooCommerce terms page. The order notes record the agreement.
   Settings  General.
 * Change: the delivery-time note is now an estimated delivery time, off by default(
   Settings  Delivery  “Show an estimated delivery time”), and reads “Estimated 
   delivery: …”. Shops that already had a note keep it on.

#### 1.0.2

 * Fix: when WooCommerce taxes are on, the form now shows the tax (a GST/VAT row,
   or “Includes … tax” when prices are shown with tax) and its total matches the
   order.
 * New: Settings  Delivery  “Charge tax on delivery” for the simple delivery charge(
   off by default: tax on the products only).
 * Fix: with prices shown including tax, a discount no longer takes tax off twice.

#### 1.0.1

 * Security hardening: all output escaped when printed.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.1.0**
 *  Last updated **4 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [cash on delivery](https://wordpress.org/plugins/tags/cash-on-delivery/)[checkout](https://wordpress.org/plugins/tags/checkout/)
   [cod](https://wordpress.org/plugins/tags/cod/)[order form](https://wordpress.org/plugins/tags/order-form/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/dango-cod-order-form/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/dango-cod-order-form/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/dango-cod-order-form/reviews/)

## Contributors

 *   [ DANGO ](https://profiles.wordpress.org/usmanghazanfar/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/dango-cod-order-form/)