Kapıda ödeme on Shopify: the Turkish COD setup, done right

Updated · ACOD (E-TRADE PARTNER)

Turkish customers know and accept the kapıda ödeme ücreti: carriers like Yurtiçi, Aras, MNG, Sürat and PTT charge it themselves on marketplace orders, so a fee at your Shopify checkout reads as normal. The setup: a dedicated kapıda ödeme shipping rate in TL linked to the COD payment method via ACOD, optionally split cash vs card at the door, with the fee surviving your free-shipping threshold and coexisting cleanly with PayTR or iyzico for prepaid.

4.9 · ACOD does this for you: COD fees plus location, order-value, product, and customer rules.

Try it free
On this page
  1. Kapıda ödeme is normal here; price it like the carriers do
  2. Setup for a Turkish store
  3. The free-shipping trap (asked constantly)
  4. Coexisting with PayTR / iyzico
  5. Frequently asked questions

Kapıda ödeme is normal here; price it like the carriers do

Türkiye may be the world's most fee-normalized COD market: every major marketplace displays a kapıda ödeme ücreti, carriers publish their own door-payment surcharges, and customers routinely pay a bit more for cash (nakit) than for card at the door. That's your pricing template: a visible flat fee in TL, slightly higher for cash than card if your carrier differentiates.

Setup for a Turkish store

  1. Settings → Payments → activate the manual payment method; name it “Kapıda Ödeme” so checkout reads natively Turkish.
  2. Create the fee rate(s) in your Türkiye zone: “Kapıda Ödeme: Nakit (+100 TL)” and, if offered, “Kapıda Ödeme: Kredi Kartı (+120 TL)”. Two variants, two fees, one payment method.
  3. Link the rates in ACOD → Cash on Delivery fee. Now the fee is undodgeable and prepaid customers never see it.
  4. Test with testing mode (test@example.com), then go live.

The free-shipping trap (asked constantly)

“Shipping free over 1,000 TL, but kapıda ödeme should still cost 150 TL; yet above 1,000 TL only the COD fee shows and standard shipping isn't added.” This exact case is in our support archive, and it's a rate-conditions issue, not an app bug: price the kapıda ödeme rate conditionally (shipping + fee below the threshold, fee only above it). The worked example is here.

Coexisting with PayTR / iyzico

Turkish stores typically run PayTR or iyzico for cards alongside kapıda ödeme. They coexist fine: the gateway handles prepaid, the manual method handles the door. Two of our archived Turkish support cases wanted PayTR hidden when kapıda ödeme is selected. Note that payment methods aren't hidden based on *each other* at checkout (the customer picks exactly one), so usually no rule is needed; if you want kapıda ödeme itself hidden for certain orders (value, region, discounted carts), that's standard ACOD limit rules.

Türkçe konuşuyoruz

Support in Turkish works: the in-app chat translates live, and Turkish merchants are our second-largest support group. Bu sayfanın Türkçesi: Shopify'da kapıda ödeme kurulumu.

Kapıda ödeme, kurulumu 5 dakika

TL cinsinden kapıda ödeme ücreti, nakit/kart varyantları, bölge ve tutar kuralları, tüm Shopify planlarında. Aylık 4,99 USD'den başlar, 7 gün ücretsiz deneme.

Install ACOD free for 7 days

4.9 stars · 100+ reviews · Built for Shopify

Frequently asked questions

Shopify'da kapıda ödemeye otomatik ekstra ücret eklenebilir mi?

Evet: ücret, kapıda ödeme ödeme yöntemine bağlanmış özel bir kargo seçeneği olarak eklenir. Müşteri kapıda ödemeyi seçince ücret otomatik uygulanır; ön ödemeli siparişlerde görünmez. (Yes, via a linked shipping rate; automatic when COD is selected.)

Can I charge more for cash than card at the door?

Yes. Create two linked rates with different prices (e.g. nakit +120 TL, kart +100 TL) and rename the payment method to the generic “Kapıda Ödeme”. The customer's rate choice sets the fee.

Does the kapıda ödeme fee work with a free-shipping threshold?

Yes, but the COD rate needs conditional pricing so it charges shipping + fee below the threshold and fee-only above it; otherwise Shopify's rate conditions can zero it out. See the free-shipping recipe in our docs.

Related articles