Cash on delivery in Shopify: how to enable it and cut refusals

In short

Shopify's standard “Cash on Delivery” method only creates an unpaid order: no branches, no delivery price, no waybill. In UA Checkout, cash on delivery works fully with Nova Poshta — the buyer sees the delivery price and the transfer fee in advance, the waybill (TTN) is created with the cash on delivery amount, and partial prepayment and refusal protection reduce the number of returned parcels.

Cash on delivery is still the usual way to pay for many Ukrainian buyers: order, collect at the branch, inspect the parcel and pay. Shopify has a “Cash on Delivery” payment method, but it knows nothing about Nova Poshta. Here is how to make cash on delivery in Shopify work properly and how to cut the number of parcels that come back.

What is wrong with Shopify's standard “Cash on Delivery”

Shopify lets you add a manual payment method called “Cash on Delivery (COD)”. The order is simply created as unpaid. That is where the support ends:

  • the buyer does not choose a Nova Poshta branch from a list — they type the address as text;
  • they cannot see what delivery and the money transfer will cost, so the amount due on receipt comes as a surprise;
  • the manager creates the waybill (TTN) with the cash on delivery amount by hand in the Nova Poshta dashboard;
  • there is no protection against buyers who have already refused parcels.

These are the steps where calls, mistakes and refusals appear.

How cash on delivery works in UA Checkout

Payment methods on a phone: monobank, LiqPay, pay in parts with PrivatBank, cash on delivery
A list of payment methods on a phone, including cash on delivery

On the UA Checkout page, cash on delivery is one of the payment methods alongside monobank, LiqPay and others:

  1. The buyer picks a city and a Nova Poshta branch or parcel locker from a list.
  2. Before ordering, they see the estimated delivery price and the carrier's fee for the money transfer — both calculated by Nova Poshta's calculator and paid on receipt.
  3. The order appears in the Shopify admin straight away, with the delivery, payment method and tags.
  4. You create the waybill from the UA Checkout dashboard with one click or automatically — the cash on delivery amount is already in it.

In a new store, cash on delivery is exactly what is switched on by default: you turn on card payments outside Shopify separately, when you are ready.

How to reduce parcel refusals

Tool How it works What it gives
Partial prepayment The buyer pays part by card now (for example, 200 UAH) and the rest on receipt. Prepayment can be optional or mandatory Someone who has already paid is less likely to leave the parcel at the branch
Refusal protection If a buyer does not collect a cash-on-delivery parcel, cash on delivery is switched off for their phone number Repeat refusals from the same people stop
Price before payment Delivery and the transfer fee are shown already on the checkout page Fewer refusals caused by “I didn't know I'd have to pay that much”
Confirmation without a call The buyer can tick “don't call to confirm”, and the message arrives via TurboSMS or AlphaSMS Fewer missed calls and lost orders
Telegram notifications New orders and problems go straight to your chat Faster dispatch — less time to change their mind

The strongest tool is partial prepayment: it turns “just ordered” into “already paid”, while a buyer who is uncomfortable paying everything up front still gets the familiar pay-on-receipt option.

How to turn on cash on delivery in Shopify with UA Checkout

  1. Sign up in the UA Checkout dashboard and connect your store using the step-by-step instructions — it takes about 15 minutes and no developer.
  2. Add your Nova Poshta API key and dispatch city — this brings in branches, the delivery price and the transfer fee. How to do it is described in the article on Nova Poshta in Shopify.
  3. In the payment section, open “Cash on delivery” and, if you wish, set the partial prepayment amount and whether it is mandatory. Prepayment requires card payment — for example, monobank or LiqPay.
  4. Check the checkout in the live demo or on your own store and turn on the checkout replacement.

How much it costs

UA Checkout takes no percentage of sales. Up to 30 orders a month are free with all payment methods; after that, the Pro plan costs 790 UAH a month. The buyer pays Nova Poshta for delivery and the money transfer fee at the carrier's tariffs — the checkout page shows them in advance. For a comparison with other services, see the comparison with Chekly and Plata page.

A short note on Shopify's rules

Processing payments outside Shopify Checkout formally goes against Shopify's rules (API Terms, section 2.3.18), and Shopify may restrict such integrations. Similar services for Ukrainian stores have worked for years; UA Checkout warns about this openly when you connect, turns on only cash on delivery by default, and automatically sends buyers back to the standard checkout if the service is unavailable.

Questions and answers

Can I enable cash on delivery in Shopify without third-party services?

You can add a manual payment method called “Cash on Delivery”, but the buyer cannot choose a Nova Poshta branch and will not see the delivery cost, and the waybill has to be created by hand.

Who pays the money transfer fee?

The buyer pays Nova Poshta for delivery and the transfer fee at the carrier's tariffs on receipt. UA Checkout shows the estimated amount on the checkout page in advance.

How does partial prepayment work?

The buyer pays part of the amount by card straight away (for example, 200 UAH) and the rest on receipt at the branch. The store decides whether prepayment is optional or mandatory.

What happens if the buyer doesn't collect the parcel?

UA Checkout records the refusal and switches off cash on delivery for that phone number in future orders.

How much does UA Checkout cost?

Up to 30 orders a month are free; after that, Pro costs 790 UAH a month with no percentage of sales. The first 14 days of Pro are free.