Cash on Delivery (COD)
Enable Cash on Delivery on WooshPayment for IT/ES/RO/PL markets with guided setup.
TLDR: Cash on Delivery (COD) is still requested by many customers in markets such as IT/ES/RO/PL. WooshPayment supports it natively: you can launch COD-only or use it alongside Whop for cards and wallets. Setup: Dashboard โ Payments โ Cash on Delivery โ enable.
When to use COD
Pros:
- Can increase trust and checkout completion in markets where customers prefer paying on delivery
- Zero gateway fees (you only pay the courier's COD fee, ~โฌ2-4)
- Ideal for first orders: customers try it with no risk
Cons:
- Package rejection rate: 8-15% (customer doesn't collect)
- Cash flow delayed by 30-60 days (courier remits funds)
- Hard to manage above โฌ200-300 in order value
Setup
Two entry points, identical configuration:
A) From onboarding โ "Payments" step โ check "Cash on Delivery (COD)".
B) From the dashboard โ Dashboard โ Payments โ "Cash on Delivery (COD)" card.
Available fields:
- Enable/Disable (switch)
- COD surcharge (โฌ) โ the customer sees this added to the total (e.g.
3.99) - Instructions โ free text shown in checkout below the radio button (e.g. "Pay on delivery in cash or by card to the courier")
Save. From that moment, Cash on Delivery appears as a checkout method. If Whop is ready, it coexists with cards and wallets; if Whop is not ready, COD remains the available method for a COD-only launch.
โ Cash on Delivery
+โฌ3.99 surcharge โ pay the courier
Pay on delivery in cash or by card to the courier.
Roadmap. ZIP code blacklist, country/region whitelist, and dynamic fees by amount tier are not yet exposed in the UI. Today COD is a global on/off with a single surcharge. If you need tiers or a blacklist, reach out.
Required fields for COD
The checkout always requires name, email, phone, address, ZIP/postcode and province/region. For Cash on Delivery these must not become optional: phone and complete address are needed for order confirmation, delivery, order quality and Shopify/Woo reconciliation.
Integration with Shopify/Woo
When the customer chooses COD and completes checkout, WooshPayment creates the order with:
- Status:
PENDING_PAYMENT - Payment method:
cod - Internal note:
WooshPayment session: <token>
The order is also created on Shopify/Woo with payment_method: cod. When the courier remits the funds and you confirm receipt, you manually mark the order as paid in the Shopify/Woo Admin.
There's no automatic webhook that marks the order paid on the WooshPayment side. COD always requires manual confirmation on the store backend.
Reporting
COD orders appear in Dashboard โ Orders and are also created in the Shopify/Woo backend. To reconcile collected cash:
- use the WooshPayment order CSV export;
- compare orders against the courier report;
- manually mark orders as paid or closed in the Shopify/Woo backend;
- identify problematic ZIP codes/customers through manual export.
Limitations
- Apple Pay + COD coexist: if Apple Pay is available on the customer's device, they see it as the preferred option but can still choose COD by scrolling through the options
- Whop doesn't handle COD: the payment is offline; in our DB we flag
paymentMethod: cod, whopPaymentId: null - COD refunds: handle them manually on the store backend and with the courier, there's no automation via Whop
Useful links
- Refund flow
- Whop Setup โ to also accept cards