Skip to content
ENTERPRISE Enterprise technology · Engineered for your business Enterprise Software · Managed Servers · Business E-mail · LiteSpeed + CloudLinux · Imunify360 Security · cPanel Control · Network profile up to 3 Gbps on eligible plans
AIOR

Shopify in Turkey: Payment Gateways, Shipping, Invoicing and Setup

Aior

Administrator

Staff member
Joined
Apr 2, 2023
Messages
929
Reaction score
2
Points
18
Age
41
Location
Turkey
Website
aior.com
Thread owner

Türkiye'de kurulu bir işletme Shopify ile satış yapabilir, ama yabancı rehberlerdeki kurulumun birkaç parçası burada çalışmaz: Shopify Payments yoktur, kartlı ödemeyi yerli bir ödeme kuruluşunun uygulamasıyla alırsınız ve Shopify bu işlemlerden ayrıca ücret keser. e-Arşiv faturayı Shopify düzenlemez; mesafeli satış, KVKK ve ETBİS yükümlülükleri de satıcıya aittir. Aşağıda ödeme, KDV, kargo, fatura ve yasal sayfaları ele alıyor, ardından kurulum listesi, geliştirici notları ve platform karşılaştırması veriyoruz. Shopify'ın plan koşulları sık değişiyor; yazıdaki tespitler Ekim 2026 itibarıyladır.

Kısa cevap: Türkiye'de Shopify ile ne çalışır?​

KonuDurumNot
Tema, ürünler, Türkçe vitrin ve ödeme sayfası (checkout)Yerleşikİkinci dil için Translate & Adapt
TRY ve KDV dahil fiyatYerleşikOranları siz girer, siz güncellersiniz
Shopify PaymentsYokTürkiye desteklenen ülkeler arasında değil
PayPal ve Stripe (Türkiye'deki işletme için)YokPayPal Haziran 2016'dan beri Türkiye'de hizmet vermiyor; Stripe'ın desteklediği ülkeler arasında Türkiye yok
iyzico, PayTR gibi ödeme kuruluşlarıUygulama ileShopify ek işlem ücreti alır
Taksit ve 3D SecureSağlayıcıya bağlıÇoğunlukla sağlayıcının ödeme sayfasında
Yabancı müşteriden kendi para biriminde tahsilatYokShopify Payments ya da Adyen ister; yerli sağlayıcıda müşteri TL öder
Kapıda ödemeManuel ödeme yöntemiİşlem ücreti yok, operasyonel risk var
e-Arşiv ve e-FaturaUygulama veya entegratör ileShopify fatura düzenlemez
Checkout içinde ön bilgilendirme onayıYalnızca PlusDiğer planlarda sepet sayfasında geçici çözüm
ETBİS kaydıSatıcının yükümlülüğüSatışa başlamadan önce

Ödeme altyapısı (payment gateway)​

Shopify Payments'ın sunulduğu ülkeler arasında Türkiye yok. Türkiye adresli bir mağazada ödeme ayarlarının (Settings > Payments) sağlayıcı bölümünde üçüncü taraf sağlayıcı listesini "Choose a provider" düğmesiyle açarsınız. Shopify bu listeyi Settings > General'daki mağaza adresine göre süzer ve aynı anda yalnızca bir kredi kartı sağlayıcısının etkin olmasına izin verir. Esas liste kendi panelinizde görünendir; bu yazı hazırlanırken yaygın seçenekler şöyle:
  • iyzico: Ödeme ayarlarında iyzico uygulamasını arayıp kurarsınız; bağlantı, iyzico üye işyeri panelindeki API anahtarı ve gizli anahtarla yapılır.
  • PayTR: "PayTR Virtual POS" uygulamasında ödeme PayTR'nin sayfasında alınır. PayTR, Shopify'ın ödeme yöntemlerine yeterli müşteri bilgisi aktarmadığını belirterek checkout'ta ad ve soyadın zorunlu tutulmasını öneriyor. Kendi panelinden yapılan iadeler Shopify siparişine yansımadığı için iadeyi Shopify'daki siparişten başlatın.
  • Banka sanal POS'u: Shopify'da ödeme uzantısını (payments extension) yalnızca Shopify'ın onayladığı iş ortakları geliştirebiliyor; mağazaya özel ödeme uzantısı da yalnızca uygun Plus mağazalarına açık. Bu yüzden Plus dışında bankanızın sanal POS'unu kendi kodunuzla checkout'a bağlayamazsınız; bankanın ya da bir ödeme kuruluşunun onaylı uygulaması gerekir.
Müşteri çoğunlukla sağlayıcının barındırdığı ödeme sayfasına yönlendirilir ve ödemeden sonra mağazaya döner. Sağlayıcının genel hizmetleri ile Shopify uygulamasının kapsamı aynı olmayabilir; taksit, yurt dışı kart ve kısmi iade desteğini sözleşmeden önce yazılı olarak sorun. Komisyon ve valör karşılaştırması için ödeme sağlayıcı seçimi yazımıza bakın.

Ek işlem ücreti: Shopify, üçüncü taraf sağlayıcıdan geçen işlemlerden sağlayıcının komisyonuna ek olarak kendi işlem ücretini (third-party transaction fee) alır. Oran plana göre değişir ve üst planlarda düşer; güncel oranlar Shopify'ın fiyatlandırma sayfasında. Kapıda ödeme, havale/EFT gibi manuel yöntemler ve test siparişleri bu ücretten muaf. 12 Mayıs 2025 ve sonrasında açılan mağazalarda hediye kartı ya da mağaza kredisiyle ödenen tutar da ücrete tabi. Aylık maliyeti kabaca şöyle modelleyin: abonelik + uygulamalar + ciro × (Shopify oranı + sağlayıcı komisyonu) + işlem adedi × sağlayıcının sabit ücreti (varsa) + üstlendiğiniz taksit maliyeti. Türkiye, Shopify'ın yerel para birimiyle faturaladığı ülkeler arasında olmadığından fatura dolar üzerinden gelir, geliriniz ise TL; hesabı birkaç kur senaryosuyla çalıştırın. Shopify ve uygulama faturaları yurt dışından alınan hizmet olduğu için bunlardaki KDV'nin nasıl beyan edileceğini (sorumlu sıfatıyla KDV) mali müşavirinize sorun.

Taksit ve 3D Secure: Taksit Shopify'ın değil, ödeme kuruluşunun özelliğidir; müşteri taksit sayısını sağlayıcının sayfasında seçer. Bazı ürün gruplarında taksit sayısı BDDK düzenlemeleriyle sınırlıdır; bu sınırları banka ve ödeme kuruluşu uygular. Vade farkını müşterinin mi sizin mi üstleneceğine baştan karar verin. Yerli ödeme kuruluşlarında kartlı ödemeler genellikle 3D Secure ile doğrulanır; 3D'siz (non-3D) çekim için sağlayıcıyla ayrıca anlaşmanız gerekir.

Test ve iade: Önce Shopify'ın test ödeme ağ geçidini (Test payment gateway) deneyin; bunun için ücretli bir plan seçmiş olmanız gerekir. Etkin kart sağlayıcısını devre dışı bırakın, sağlayıcı listesinden Test payment gateway'i etkinleştirin ve kart numarası alanına 1 (onay), 2 (ret) veya 3 (ağ geçidi hatası) yazın; tutar 1 ABD dolarının karşılığından büyük olmalı. Bitince test ağ geçidini kapatıp gerçek sağlayıcıyı yeniden etkinleştirin. Ardından sağlayıcının test modunu, en son da gerçek kartla küçük bir sipariş ve iadesini deneyin. Mesafeli Sözleşmeler Yönetmeliği'ne göre tüketici cayarsa satıcı, ürün ön bilgilendirmede belirttiği iade taşıyıcısına teslim edildikten sonra 14 gün içinde tahsil ettiği tüm tutarı, tüketicinin kullandığı ödeme aracına uygun şekilde, masrafsız ve tek seferde iade eder. Tüketici ürünü başka bir taşıyıcıyla gönderirse 14 günlük süre ürün size ulaştığında başlar.

Para birimi, KDV ve yurt dışına satış​

Para birimini ilk satıştan önce genel ayarlardaki (Settings > General) mağaza varsayılanlarından TRY yapın; Shopify çalışanlarının topluluk forumundaki yanıtlarına göre bu alan ilk satıştan sonra kilitlenir ve değişikliği ancak destek ekibi yapabilir. Müşterinin kendi para biriminde tahsilat, ana ağ geçidi Shopify Payments ya da kurumsal ölçekte Adyen olduğunda mümkündür. Yerli bir sağlayıcıyla tema başka para biriminde fiyat gösterse bile checkout'ta tutar mağaza para birimine çevrilir: yabancı karttan TL çekilir, dönüşümü kartı veren banka yapar.

Shopify Türkiye için vergiyi otomatik hesaplamaz; mağaza manuel vergiyle (Manual Tax) çalışır ve oranları vergi ayarlarında (Settings > Taxes and duties) siz yönetirsiniz:
  • Genel KDV oranı 10 Temmuz 2023'ten beri %20; bazı mal ve hizmetlerde %10 veya %1. Shopify'ın açık kaynaklı ülke verisinde (worldwide deposu) Türkiye oranı bu yazı hazırlanırken hâlâ 0.18. Paneldeki oranı mutlaka kontrol edin: manuel oranlar mevzuat değişince kendiliğinden güncellenmez, varsayılan oranlara dönme düğmesi (Reset to default tax rates) de oranı Shopify'ın varsayılanına çeker.
  • Mesafeli Sözleşmeler Yönetmeliği tüm vergiler dahil toplam fiyatın bildirilmesini istediği için aynı sayfadaki "Include sales tax in product price and shipping rate" seçeneğini açın.
  • Farklı oranlı ürünler için geçersiz kılma (tax override) tanımlayın: önce bu ürünleri elle eklediğiniz bir koleksiyon oluşturur, sonra koleksiyona Türkiye için oran verirsiniz. Koşullarla dolan otomatik koleksiyonlar bu iş için kabul edilmiyor.
  • Manuel vergide kargo bedelinin vergisi otomatik hesaplanmaz; "Charge tax on shipping rates" ayarını mali müşavirinizle birlikte belirleyin.
Yurt dışına satış: Markets ile pazar bazında dil, alan adı, ürün ve kargo ayarlarsınız; ancak yerel para birimiyle tahsilat Shopify Payments ya da Adyen gerektirdiğinden Türk sağlayıcıyla çalışan mağazada yabancı müşteri de TL öder. Gümrük vergisini checkout'ta tahsil etmek (DDP) için ürünlerde HS kodu (GTİP'in ilk altı hanesi) gerekir; etiketi Shopify üzerinden alıyorsanız taşıyıcı DDP etiketini desteklemeli ve Shopify bu siparişlerden ayrıca yüzde bazlı bir ücret alır. Seçeneğin mağazanızda açık olup olmadığını Settings > Taxes and duties'te kontrol edin. Aksi halde alıcı vergiyi teslimatta öder (DAP); bunu ürün ve kargo sayfalarında açıkça yazın. Hedef ülke kuralları da değişiyor: ABD düşük değerli gönderi muafiyetini (de minimis) Ağustos 2025'ten beri hiçbir ülke için uygulamıyor. AB de 150 avroluk gümrük muafiyetini kaldırdı: 1 Temmuz 2026'dan itibaren geçici olarak, 150 avroyu aşmayan gönderilerde paketteki her farklı ürün türü (tarife pozisyonu) için 3 avro sabit gümrük vergisi alınıyor; düzenleme IOSS'a kayıtlı satıcıların gönderilerini hedefliyor. ETGB ile mikro ihracat için mali müşavir ve gümrük müşaviriyle çalışın; ETBİS'e kayıtlıysanız sınır ötesi satışların yıllık hacmini ülke ve ödeme yöntemi bazında her yıl mart sonuna kadar bildirirsiniz. Türkiye'ye satan yabancı markalar kendi ülkelerinde Shopify Payments kullanabilir, ama Türk müşterinin beklediği taksit genellikle yerli ödeme kuruluşlarıyla sunulur.

Kargo: tarife, desi, etiket ve kapıda ödeme​

Türkiye adres formunda il ve ilçe için açılır liste yok: Shopify'ın açık kaynaklı adres verisi Türkiye için il alanını gizler, il ve ilçe bilgisi yalnızca posta kodu ile serbest metinli şehir (city) alanından gelir. Kargo entegrasyonunuz il ve ilçeyi bu metinden ve posta kodundan çıkarmak zorunda; posta kodunun ilk iki hanesi il plaka koduna karşılık gelir (34 İstanbul, 06 Ankara). Shopify Eylül 2026'da 81 ili posta kodu önekleriyle birlikte bu veriye ekledi ama bayraklarla kapalı tuttu; il alanı ileride açılabileceği için entegrasyonunuz TR-34 gibi bir il kodu geldiğinde onu da işleyebilmeli. Checkout ayarlarında (Settings > Checkout) kargo adresi telefonunu zorunlu (Required) yapın; kargo firmaları alıcı telefonu ister.
  • Manuel tarife: Sipariş ağırlığına veya sepet tutarına göre koşullu ücret ve belirli tutarın üzerinde ücretsiz kargo. Küçük kataloglar için en öngörülebilir yol.
  • Desi: Yurt içi taşıyıcılar genellikle desi = en × boy × yükseklik (cm) / 3000 hesaplar ve desi ile gerçek ağırlıktan büyük olanı faturalar; 40 × 30 × 20 cm'lik koli 8 desidir. Manuel tarife hacme değil ağırlığa ya da sepet tutarına baktığı için hacimli ürünlerde ürün ağırlığı yerine faturalanacak ağırlığı girmek bir çözüm yoludur, ama birden çok ürün aynı koliye girdiğinde sapar.
  • Canlı ücret (carrier-calculated shipping): Uygulamadan gelen canlı fiyatlar Advanced ve Plus planlarında var; Grow planında ek aylık ücretle ya da yıllık faturalamaya geçerek ekleniyor.
Kargo firmasının kendi uygulaması ya da çok firmalı bir kargo uygulaması gönderiyi oluşturur, etiketi basar ve takip numarasını Shopify'daki gönderi kaydına (fulfillment) yazar. Shopify takip bağlantısını PTT, Yurtiçi Kargo, Aras Kargo ve Sürat Kargo için kendisi oluşturur; diğer firmalarda taşıyıcı olarak "Other" seçilir ve takip URL'sinin tamamı da gönderilmelidir. İade süreçleri için kargo entegrasyonu ve iadeler yazımıza bakın.

Kapıda ödeme manuel ödeme yöntemi (Cash on Delivery) olarak eklenir; sipariş ödemesi beklemede (Pending) açılır, kargo firması tahsilatı aktarınca siparişi elle ödendi olarak işaretlersiniz. Riskleri: teslim alınmayan paketlerde iki yönlü kargo, kargo firmasının tahsilat bedeli ve geç gelen nakit. Belirli tutarın üzerinde ya da bazı bölgelerde kapıda ödemeyi gizlemek için ödeme özelleştirmesi (payment customization) yapan bir uygulama kullanın; Shopify Functions tabanlı herkese açık uygulamalar Starter dışındaki planlarda çalışır. Kapıda ödeme için ek ücret alacaksanız bunu sipariş öncesinde toplam fiyatta gösterin; Shopify'da ödeme yöntemine göre ücret ekleyen yerleşik bir ayar bulunmadığından bu da bir uygulamayla yapılır.

e-Arşiv, e-Fatura ve yasal sayfalar​

Shopify'ın sipariş onay e-postası fatura değildir. e-Fatura'ya geçiş zorunluluğu ciro ve sektör gibi ölçütlere bağlıdır ve bu ölçütler sık değişir. Kâğıt fatura dönemi de kapanıyor: 509 Sıra No.lu VUK Genel Tebliği'ni değiştiren 573 Sıra No.lu Tebliğ'e göre e-Fatura ve e-Arşiv uygulamalarına dahil olmayan mükellefler de 1 Ocak 2026'dan beri faturalarını tutarına bakılmaksızın e-Arşiv olarak düzenlemek zorunda; 589 Sıra No.lu Tebliğ bu tarihi basit usul ve işletme hesabı mükellefleri için 1 Ocak 2027'ye öteledi. Durumunuzu GİB e-Belge sitesinden ve mali müşavirinizden teyit edin. Seçenekler: GİB'den izinli bir özel entegratörün Shopify uygulaması, ön muhasebe yazılımınızın entegrasyonu ya da bir entegratörün API'sine bağlanan kendi entegrasyonunuz; sipariş sayısı çok düşükse faturayı GİB'in ücretsiz e-Arşiv Portal'ından elle de düzenleyebilirsiniz. Siz de e-Fatura kullanıcısıysanız ve alıcı bu sisteme kayıtlıysa e-Arşiv yerine e-Fatura düzenlenir; entegratör bunu, alıcının vergi kimlik numarasını (şahıs işletmelerinde TCKN) GİB'in kayıtlı kullanıcı listesinde sorgulayarak ayırır.

İnternet satışına ait e-Arşiv faturada web adresi, ödeme şekli ve tarihi, malın gönderim tarihi, taşıyıcının adı veya unvanı ile VKN'si ya da TCKN'si, tüketicinin iade ederken dolduracağı bir iade bölümü ve "Bu satış internet üzerinden yapılmıştır." ifadesi bulunmalı. Mal satışlarında e-Arşiv faturanın kâğıt çıktısı malla birlikte gönderilir (fatura sevkiyattan önce düzenlenmediyse malın yanında sevk irsaliyesi bulunur); bu yüzden fatura çoğunlukla kargolama adımında kesilir. Entegratörünüze şunları sorun: TCKN, VKN ve vergi dairesi nasıl toplanıyor (Shopify'ın Türkiye adres biçiminde vergi numarası alanı yok; uygulamalar sepet özniteliği ya da sipariş sonrası formla topluyor), indirimler ve farklı KDV oranları doğru satıra düşüyor mu, kısmi iadede ne üretiliyor, fatura numarası siparişe meta alan (metafield) olarak yazılıyor mu? TCKN kişisel veridir; yalnızca gerektiğinde isteyin.

Mesafeli satış sözleşmesi ve ön bilgilendirme formu​

Mesafeli Sözleşmeler Yönetmeliği sözleşmeden önce şunların bildirilmesini istiyor: ürünün temel nitelikleri, satıcının adı veya unvanı ile MERSİS ya da vergi kimlik numarası, açık adres ve iletişim bilgileri, tüm vergiler dahil toplam fiyat ve kargo gibi ek masraflar, ödeme ve teslimat bilgileri, cayma hakkının koşulları ve iade için öngörülen taşıyıcı. Tüketici bu bilgileri aldığını teyit etmeli. İnternet satışında temel nitelikler, toplam fiyat, cayma koşulları ve cayma hakkının kullanılamadığı durumlar, tüketici ödeme yükümlülüğü altına girmeden hemen önce ayrıca ve bir bütün olarak gösterilmeli; sipariş onayından hemen önce de siparişin ödeme yükümlülüğü doğurduğu açıkça belirtilmeli. Metin en az 12 punto (CSS'te 16 piksel) olmalı. Cayma süresi 14 gün; teslim süresi, kişiye özel hazırlanan ürünler dışında en çok 30 gün; satıcı her işleme ait bilgi ve belgeyi üç yıl saklar. İade kargosunda da 1 Ocak 2026'dan beri yeni kural geçerli: tüketici ürünü ön bilgilendirmede belirtilen iade taşıyıcısıyla gönderirse ya da taşıyıcı hiç belirtilmemişse iade kargo bedeli tüketiciden istenemez; belirtilen taşıyıcının tüketicinin bulunduğu yerde şubesi yoksa ürünü ek masraf istemeden siz aldırırsınız. İade politikanızı ve kargo anlaşmanızı buna göre yazın.

Checkout'un bilgi, kargo ve ödeme adımlarına onay kutusu ekleyen checkout UI uzantıları yalnızca Plus'ta çalışıyor. Diğer planlarda yaygın kurgu şöyle: iki metni ayrı sayfa olarak yayınlamak (Settings > Policies'e girilen politikalar checkout'un altında otomatik bağlantılanır; Shopify da otomatik politika şablonlarının hukuki danışmanlık olmadığını belirtiyor, Türkçe metinleri kendiniz hazırlayın), sepet sayfasına zorunlu bir onay kutusu koyup onayı metin sürümü ve zamanla birlikte sepet özniteliği olarak siparişe taşımak, sepeti atlayan dinamik ödeme ("Hemen satın al") düğmelerini kapatmak ve sözleşme metnini sipariş onay e-postasıyla göndermek. Yönetmeliğin "ödeme yükümlülüğünden hemen önce" şartı Plus dışındaki planlarda en zor karşılanan kısımdır; kurguyu hukuk danışmanınıza doğrulatın.

KVKK, çerezler, ileti izni ve ETBİS​

  • Aydınlatma metni: Metni gizlilik politikası alanına koyun ki checkout'ta da bağlantısı görünsün. Kişisel Verileri Koruma Kurulu'nun 24 Mart 2026'da Resmî Gazete'de yayımlanan 2026/347 sayılı ilke kararına göre aydınlatma metni ile açık rıza metni ayrı düzenlenmeli; aydınlatma metni için onay ya da rıza istenmez, yalnızca "okudum ve anladım" gibi okunduğuna dair bir teyit alınabilir. "Okudum, onaylıyorum" türü zorunlu kutular yerine, açık rıza gereken işlemler için ayrı ve isteğe bağlı bir kutu kullanın.
  • Yurt dışına aktarım: Shopify verileri Kanada, ABD ve İrlanda gibi konumlarda işliyor. 2024'te değişen KVKK 9. maddesine göre aktarımın dayanağını netleştirin; standart sözleşme imzalanırsa beş iş günü içinde Kurum'a bildirilir.
  • Çerez ve ileti izni: Shopify'ın çerez bandını (Settings > Customer privacy > Cookie banner) bölgeler arasına Türkiye'yi ekleyerek açın ve zorunlu olmayan çerezler için açık rıza alın. Bant Shopify'ın kendi araçlarını ve piksellerini yönetir; uygulamalarla ya da elle eklenen izleme kodlarının izne uyduğunu ayrıca test edin. E-posta abonelik kutusunu önceden işaretli bırakmayın; ticari ileti izinlerinin İleti Yönetim Sistemi'ne (İYS) kaydını ayrıca planlayın.
  • ETBİS: Kendi sitesinden satan e-ticaret hizmet sağlayıcıları faaliyete başlamadan önce ETBİS'e kaydolur; yalnızca yurt içindeki pazar yerlerinde satanların kayıt yükümlülüğü yok. Girişi, MERSİS'te (esnafsanız ESBİS'te) yetkili temsilci olarak kayıtlı kişi e-Devlet ile yapar; tacir ya da esnaf değilseniz vergi kimlik numaranızla kaydolursunuz. Önce tebligata elverişli bir KEP adresi alın. Kayıtta KEP adresinizi, e-ticaretin türünü, sunduğunuz mal ve hizmetleri, ödeme yöntemlerinizi ve ikinci el ürün satıp satmadığınızı bildirir, değişiklikleri 30 gün içinde güncellersiniz. ETBİS karekod uygulaması 2 Eylül 2025 tarihli duyuruyla sonlandırıldı.
  • Ana sayfa başlıkları: "İletişim" altında KEP adresi, e-posta, telefon, bağlı olunan meslek odası ve tacirseniz ticaret unvanı, MERSİS numarası ve merkez adresi (esnafsanız ad-soyad, vergi kimlik numarası ve merkez adresi); "İşlem Rehberi" altında sipariş adımları, sözleşmenin saklanması ve erişimi, veri girişi hatalarının düzeltilmesi, gizlilik kuralları ve varsa alternatif uyuşmazlık çözümü bulunmalı.

Kurulum kontrol listesi​

  1. Varsayılanlar: TRY, İstanbul saat dilimi, metrik birim, yasal işletme adı ve adres (ödeme sağlayıcı listesi bu adrese göre gelir).
  2. Alan adı: Kök alan adı için A kaydı 23.227.38.65, AAAA kaydı 2620:0127:f00f:5::, www için CNAME shops.myshopify.com. Alan adındaki diğer A ve AAAA kayıtlarını silin; yayılma 48 saati bulabilir, TLS sertifikası bağlantı doğrulanınca kendiliğinden verilir.
  3. Tema ve dil: Online Store 2.0 uyumlu tema, varsayılan dil Türkçe. Ücretsiz Translate & Adapt uygulaması, Türkiye gibi Shopify'ın listesinde olmayan ülkelerdeki mağazalarda varsayılan dile ek olarak iki dile kadar otomatik çeviri yapıyor (uygulamada "Translate now" düğmesi görünen mağazalarda sınır sekiz dil). Otomatik çevrilen dil sonradan başka bir dille değiştirilemiyor, dili kaldırmak hakkı geri vermiyor ve yasal politikalar otomatik çevrilmiyor.
  4. Ödeme, vergi, kargo ve sayfalar: Yukarıdaki ayarlar, test siparişleri ve yasal metinler.
  5. Checkout: Kargo telefonu zorunlu, şirket adı isteğe bağlı, pazarlama onay kutusu işaretsiz.
  6. Personel: Herkese ayrı hesap ve en az yetki. Mağaza sahibi Settings > Users altında iki adımlı doğrulamayı tüm personel için zorunlu (Required) yapabilir (bu yazı hazırlanırken beta; Plus'ta bu ayar organizasyon düzeyinde yapılır). Zorunluluk POS kullanıcılarına ve işbirlikçi (collaborator) hesaplara uygulanmıyor; bu hesapları ayrıca denetleyin.
  7. Canlıya çıkış: ETBİS kaydı ve fatura, etiket, e-posta ve iade dahil uçtan uca bir test.
Ürünleri CSV ile aktarırken dikkat: Türkçe bölge ayarlı Excel dosyayı noktalı virgülle ve virgüllü ondalıkla kaydedebilir; Shopify ise virgülle ayrılmış, UTF-8 kodlu, LF satır sonlu bir dosya ve 499.90 gibi noktalı fiyat bekler. Ağırlığı birimsiz ve ondalıksız gram olarak yazın. Varyant satırlarına URL handle ve varyant sütunları yazılır; Option1 name ve Option1 value sütunlarını dosyadan çıkarırsanız Shopify varsayılan bir varyant oluşturup mevcut varyantları siler.
Code:
Title,URL handle,Vendor,Status,SKU,Option1 name,Option1 value,Price,Charge tax,Weight value (grams)
Pamuk Tişört,pamuk-tisort,Örnek Marka,active,TS-001-S,Beden,S,499.90,true,220
,pamuk-tisort,,,TS-001-M,,M,499.90,true,240

Geliştirici notları​

  • Tema: Online Store 2.0'da sayfalar bölümlerden (section) oluşan JSON şablonlardır; uygulamalar temaya uygulama bloğu (app block) ekler. Shopify CLI (npm install -g @shopify/cli@latest; Node.js 22.12 ve üzeri, Git 2.28 ve üzeri) ile shopify theme dev bir geliştirme temasında canlı önizleme açar, shopify theme push --unpublished ise yeni ve yayımlanmamış bir temaya yükler.
  • Uygulama ve API: 1 Ocak 2026'dan beri panelde eski tip (legacy) custom uygulama oluşturulamıyor; tek mağazaya özel uygulamalar Dev Dashboard'dan oluşturuluyor. REST Admin API 1 Ekim 2024'ten beri eski (legacy) statüde; 1 Nisan 2025'ten bu yana yeni public uygulamalar yalnızca GraphQL Admin API ile yazılabiliyor.
  • Webhook: X-Shopify-Hmac-SHA256 başlığını, ham gövdeden uygulamanın gizli anahtarıyla (client secret) hesaplanan HMAC-SHA256 değerinin Base64 karşılığıyla karşılaştırın. Shopify isteğin tamamı için beş saniye bekler ve başarısız teslimatı dört saat içinde sekiz kez dener; Admin API ile kurulan abonelik art arda sekiz başarısızlıktan sonra silinir. Aynı teslimat birden çok kez gelebilir; tekrarları X-Shopify-Webhook-Id ile ayıklayın, hemen 200 dönüp işi kuyruğa atın.
  • Checkout ve Functions: Bilgi, kargo ve ödeme adımlarındaki UI uzantıları Plus'a özel; teşekkür ve sipariş durumu sayfası uzantıları Basic ve üzeri planlarda da var. Sipariş durumu sayfasındaki script tag'ler Plus dışındaki mağazalarda 26 Ağustos 2026'da çalışmayı bıraktı (Plus'ta 28 Ağustos 2025'te); izleme kodlarını müşteri olaylarına (Customer events) ya da bir web pikseline taşıyın. 1 Ekim 2026'dan beri yeni script tag oluşturulamıyor ve mevcutlar güncellenemiyor; Shopify 1 Mart 2027'de vitrine script tag eklemeyi tamamen bırakacak, yerine uygulama gömme bloğu (app embed block) kullanılıyor. Functions içeren custom uygulamalar yalnızca Plus'ta çalışır.
e-Arşiv entegrasyonunda kuyruğu işleyen arka plan servisi (worker), fatura için gereken veriyi GraphQL Admin API'den tek sorguyla çekebilir:
Code:
query FaturaVerisi($id: ID!) {
  order(id: $id) {
    name
    processedAt
    taxesIncluded
    paymentGatewayNames
    customAttributes { key value }
    billingAddress { name company address1 zip city phone }
    lineItems(first: 100) {
      nodes {
        title
        sku
        currentQuantity
        originalUnitPriceSet { shopMoney { amount } }
        discountAllocations { allocatedAmountSet { shopMoney { amount } } }
        taxLines { ratePercentage priceSet { shopMoney { amount } } }
      }
    }
    fulfillments(first: 5) { createdAt trackingInfo(first: 1) { company number } }
  }
}
Sorgudaki ad, adres ve telefon korumalı müşteri verisidir (protected customer data): uygulamanıza bu alanlar için erişim tanımlanmamışsa (herkese açık uygulamalarda Shopify incelemesi de gerekir) yanıt yine HTTP 200 döner, ama alanlar null gelir ve hata errors dizisinde yer alır.
Üç tuzak: quantity iade edilen ve kaldırılan adetleri de içerir, faturada currentQuantity kullanın; taxLines da iade edilen adetlerin vergisini kapsar, kısmi iadeli siparişte vergiyi kalan adet üzerinden yeniden hesaplayın; discountedTotalSet ise sipariş düzeyindeki indirimleri içermez ve kod indirimlerini varsayılan olarak dışarıda bırakır, satır indirimlerini discountAllocations'tan toplayın.

Shopify ne zaman doğru seçim değil?​

Satışınız taksit ve banka kampanyalarına ya da birden çok sanal POS arasında yönlendirmeye dayanıyorsa, Plus bütçesi olmadan checkout'a alan eklemeniz gerekiyorsa, cironun çoğu pazar yerlerinden geliyorsa ya da marjınız ek işlem ücretini kaldırmıyorsa alternatiflere bakın:
KriterShopifyWooCommerceYerli SaaS (ikas, Ticimax, IdeaSoft vb.)
Yerli ödeme ve taksitOnaylı uygulamalar, ek işlem ücretiSağlayıcı eklentileri, birden çok sanal POSGenellikle hazır
e-Arşiv ve pazar yeri entegrasyonuUygulamalarlaEklentilerleGenellikle pakette; kapsamı kontrol edin
Checkout özelleştirmeAdımlar yalnızca Plus'taTam kontrolPlatforma göre değişir
Yurt dışı satış ve çok dilGüçlü; ödeme TLEklentilerlePlatforma göre değişir
İşletme yüküBarındırma ve güvenlik Shopify'daSunucu, güncelleme ve yedek sizdePlatformda
Maliyet sürücüleriDolar bazlı abonelik, işlem ücreti, uygulamalarBarındırma, eklenti lisansları, geliştirici zamanıAbonelik paketi, varsa ciro komisyonu
Daha geniş bir karşılaştırma için e-ticaret platformu seçimi yazımıza bakın.

Sık sorulan sorular​

Türkiye'deki şirketim Shopify Payments kullanabilir mi?
Bu yazı hazırlanırken hayır. Bazı girişimler desteklenen bir ülkede şirket kurup oradaki banka hesabıyla kullanıyor; bu bir ayar değil, ayrı bir hukuki ve vergisel yapıdır.

Taksit sunabilir miyim?
Evet, Shopify uygulaması taksiti destekleyen bir ödeme kuruluşuyla. Taksit sağlayıcının sayfasında seçilir; ürün grubu sınırlarını banka ve ödeme kuruluşu uygular.

Shopify e-Arşiv fatura keser mi?
Hayır. GİB'den izinli bir entegratörün uygulaması, ön muhasebe yazılımınızın entegrasyonu ya da bir entegratörün API'sine bağlanan kendi entegrasyonunuz gerekir; çok düşük hacimde GİB'in e-Arşiv Portal'ı da iş görür.

Türkiye'den Avrupa'ya veya ABD'ye satabilir miyim?
Evet. Markets ile pazar bazında dil, alan adı ve kargo ayarlanır, müşteri TL öder. Gümrük vergisi, değişen muafiyet kuralları ve ETGB için satıştan önce plan yapın.

ETBİS kaydı gerekiyor mu?
Kendi alan adınızdaki mağazadan satıyorsanız evet, satışa başlamadan önce. Yalnızca yurt içi pazar yerlerinde satanların kayıt yükümlülüğü yok.

Sonuç ve sonraki adımlar​

Shopify Türkiye'de çalışır; işin ağırlığı ödeme uygulamasında, fatura entegrasyonunda ve yasal sayfalarda toplanır. Sırasıyla: sağlayıcınızdan Shopify uygulamasının kapsamını yazılı alın, toplam maliyeti işlem ücretiyle birlikte hesaplayın, e-Arşiv entegratörünüzü seçip fatura alanlarını test edin, yasal metinleri hukuk danışmanınıza onaylatın, ETBİS kaydını tamamlayın ve canlıya çıkmadan uçtan uca bir test siparişi verin. Kurulumu ve entegrasyonları bir ekiple yürütmek isterseniz AIOR'un e-ticaret hizmetlerine göz atabilirsiniz. Mağazanıza özel sorularınızı bu konuya yazabilirsiniz.

A business based in Turkey (Türkiye) can sell on Shopify, but several parts of the setup that international guides take for granted do not apply here. Shopify Payments is not available, so card payments go through a Turkish payment institution's app, and Shopify adds its own fee on those transactions. Shopify does not issue e-Arşiv invoices, and the distance-selling, data-protection (KVKK) and ETBİS duties sit with the merchant. Below we cover payments, VAT, shipping, invoicing and the legal pages, then give a setup checklist, developer notes and a platform comparison. Shopify's plan rules change often; every status below reflects October 2026.

Short answer: what works in Türkiye​

TopicStatusNote
Themes, products, Turkish storefront and checkoutBuilt inTranslate & Adapt for a second language
TRY and VAT-inclusive pricesBuilt inYou enter and update the rates yourself
Shopify PaymentsNot availableTürkiye is not a supported country
PayPal and Stripe for a Türkiye-based businessNot availablePayPal stopped serving Türkiye in June 2016; Türkiye is not on Stripe's list of supported countries
Payment institutions such as iyzico and PayTRThrough an appShopify charges an extra transaction fee
Installments and 3D SecureDepends on providerUsually on the provider's payment page
Charging foreign customers in their own currencyNot availableNeeds Shopify Payments or Adyen; with a Turkish provider customers pay in lira
Cash on deliveryManual payment methodNo transaction fee, real operational risk
e-Arşiv and e-Fatura invoicesThrough an app or integratorShopify does not issue them
Pre-contract consent inside checkoutPlus onlyOther plans use a cart-page workaround
ETBİS registrationMerchant's dutyBefore you start selling

Payment gateways​

Türkiye is not on the list of countries where Shopify Payments is offered. In a store with a Turkish address, you open the third-party provider list with "Choose a provider" in the provider section of Settings > Payments. Shopify filters that list by the store address in Settings > General and allows only one credit card provider to be active at a time. The list in your own admin is the authoritative one; at the time of writing, the common options work like this:
  • iyzico: search for the iyzico app in the payment settings, install it and connect it with the API key and secret key from your iyzico merchant panel.
  • PayTR: with the "PayTR Virtual POS" app, payment is taken on PayTR's page. PayTR notes that Shopify passes limited customer data to payment methods and recommends making first and last name required at checkout. Refunds made in PayTR's own panel are not reflected in the Shopify order, so start refunds from the order in Shopify.
  • A bank's virtual POS: only partners approved by Shopify can build payments extensions, and a custom payments extension is open only to eligible Plus merchants. Outside Plus, you therefore cannot wire your bank's virtual POS into checkout with your own code; you need an approved app from the bank or a payment institution.
The customer is usually redirected to a payment page hosted by the provider and returns to the store after paying. A provider's general product and its Shopify app do not always match, so ask in writing, before signing, whether the app supports installments, foreign cards and partial refunds. To compare commission and settlement times, see our payment provider guide.

The extra transaction fee: Shopify charges its own third-party transaction fee on transactions processed through a third-party provider, on top of the provider's commission. The rate depends on your plan and falls on higher plans; the pricing page has current figures. Manual methods such as cash on delivery or bank transfer (havale/EFT) and test orders are exempt. For stores created on or after 12 May 2025, amounts paid with gift cards or store credit are charged too. Model your monthly cost roughly as subscription + apps + revenue × (Shopify rate + provider commission) + transactions × the provider's fixed fee (if any) + any installment cost you absorb. Türkiye is not among the countries Shopify bills in local currency, so your Shopify bill comes in US dollars while you earn lira; run the numbers under a few exchange-rate scenarios. Because Shopify and app charges are services bought from abroad, ask your accountant how VAT on them is declared (reverse charge, sorumlu sıfatıyla KDV).

Installments and 3D Secure: installments (taksit) are a feature of the payment institution, not of Shopify; the customer picks the number of installments on the provider's page. Rules from the banking regulator (BDDK) cap installments for some product categories, and the bank and payment institution enforce them. Decide up front whether you or the customer carries the installment cost (vade farkı). Turkish payment institutions generally authenticate card payments with 3D Secure; charging without it (non-3D) needs a separate agreement with the provider.

Testing and refunds: start with Shopify's Test payment gateway, which requires a paid plan. Deactivate the active card provider, activate Test payment gateway from the provider list, and enter 1 (approved), 2 (declined) or 3 (gateway failure) as the card number; the amount must be more than the equivalent of US$1. When you finish, turn the test gateway off and reactivate your real provider. Then try the provider's test mode, and finally a small real-card order and its refund. Under the Distance Contracts Regulation (Mesafeli Sözleşmeler Yönetmeliği), when a consumer withdraws, the seller must refund everything collected within 14 days of the goods reaching the return carrier named in the pre-contract information, in a way that matches the payment instrument used, in one payment and at no cost to the consumer. If the consumer uses a different carrier, the 14 days start when the goods reach you.

Currency, VAT and selling abroad​

Set the store currency to TRY under store defaults in Settings > General before your first sale; according to Shopify staff replies on the community forum, the field locks after the first sale and only Support can change it. Charging customers in their own currency works only when the primary gateway is Shopify Payments or, for enterprise merchants, Adyen. With a Turkish provider, even if your theme displays other currencies, checkout converts the amount to the store currency: a foreign card is charged in lira and the issuing bank does the conversion.

Shopify does not calculate tax automatically for Türkiye; the store runs on Manual Tax and you manage rates in Settings > Taxes and duties:
  • The general VAT (KDV) rate has been 20% since 10 July 2023, with 10% or 1% for some goods and services. At the time of writing, Shopify's open-source country data (the worldwide repository) still lists 0.18 for Türkiye. Check the rate in your admin: manual rates do not update when the law changes, and the Reset to default tax rates button pulls them back to Shopify's defaults.
  • The Distance Contracts Regulation requires the total price including all taxes, so turn on "Include sales tax in product price and shipping rate" on the same page.
  • For goods at other rates, create a tax override: first build a collection to which you add those products manually, then give that collection a rate for Türkiye. Automated collections that fill by conditions are not accepted.
  • Under Manual Tax, tax on shipping is not calculated automatically; decide on "Charge tax on shipping rates" with your accountant (mali müşavir).
Selling abroad: Markets lets you set language, domain, product availability and shipping per market, but local-currency checkout needs Shopify Payments or Adyen, so a store using a Turkish provider charges foreign customers in lira as well. Collecting duties at checkout (DDP) needs HS codes (the first six digits of a Turkish GTİP code) on your products; if you buy labels through Shopify, the carrier must support DDP labels, and Shopify charges an extra percentage fee on those orders. Check in Settings > Taxes and duties whether the option is available to your store. Otherwise the buyer pays duties on delivery (DAP), which you should state clearly on product and shipping pages. Destination rules are moving: the US has not applied its de minimis exemption for low-value parcels from any country since August 2025, and the EU has removed its €150 customs duty exemption. From 1 July 2026, as a temporary measure, consignments up to €150 pay a flat €3 duty for each different item category (tariff heading) in the parcel; the measure targets goods sold by sellers registered for IOSS. Work with your accountant and a customs broker on micro-exports under ETGB; if you are registered in ETBİS, you report the annual volume of cross-border sales, by country and payment method, by the end of March each year. Foreign brands selling into Türkiye can use Shopify Payments from their home country, but the installments Turkish shoppers expect are generally offered through local payment institutions.

Shipping: rates, desi, labels and cash on delivery​

The Turkish address form has no province (il) or district (ilçe) drop-down: Shopify's open-source address data hides the province field for Türkiye, so province and district arrive only through the postal code and a free-text city field. Your carrier integration has to parse province and district from that text and the postal code, whose first two digits match the province's licence-plate code (34 Istanbul, 06 Ankara). In September 2026 Shopify added all 81 provinces, with their postal-code prefixes, to that data but kept them switched off behind flags; a province field may appear later, so make sure your integration can handle a province code such as TR-34 when one arrives. In Settings > Checkout, set the shipping address phone number to Required; carriers ask for the recipient's phone.
  • Manual rates: conditional rates by order weight or order value, plus a free-shipping threshold. The most predictable option for small catalogs.
  • Desi: domestic carriers usually compute desi = length × width × height (cm) / 3000 and bill whichever is larger, desi or actual weight; a 40 × 30 × 20 cm box is 8 desi. Manual rates use weight or order value, never volume, so entering the billable weight instead of the product weight for bulky items is one workaround, but it drifts when several items share a box.
  • Carrier-calculated shipping: live rates from an app are available on Advanced and Plus; Grow stores can add them for a monthly fee or by switching to annual billing.
The carrier's own app or a multi-carrier app creates the shipment, prints the label and writes the tracking number to the Shopify fulfillment. Shopify builds tracking links itself for PTT, Yurtiçi Kargo, Aras Kargo and Sürat Kargo; for other carriers, choose "Other" and send the full tracking URL as well. For returns, see our shipping integration and returns guide.

Cash on delivery (kapıda ödeme) is added as a manual payment method (Cash on Delivery): the order opens with a pending payment status, and you mark it as paid when the carrier remits the cash. The risks are refused parcels shipped both ways, the carrier's collection fee and slow cash flow. To hide COD above a cart value or in some regions, use a payment customization app; public apps built on Shopify Functions work on every plan except Starter. If you charge a COD fee, it must appear in the total before the order is placed, and since Shopify has no built-in setting for a fee by payment method, that also takes an app.

e-Arşiv, e-Fatura and the legal pages​

Shopify's order confirmation email is not an invoice. Whether you must join e-Fatura depends on criteria such as revenue and sector, and those criteria change often. The paper-invoice option is closing as well: Communiqué No. 573, which amended VUK General Communiqué No. 509, requires taxpayers outside the e-Fatura and e-Arşiv systems to issue every invoice as e-Arşiv, whatever the amount, from 1 January 2026, and Communiqué No. 589 moved that date to 1 January 2027 for simplified-method and single-entry (işletme hesabı) taxpayers. Check your position on the GİB e-Belge site and with your accountant. Your options are a GİB-authorised private integrator's Shopify app, your accounting software's integration, or your own code against an integrator's API; at very low volume you can also issue invoices by hand on GİB's free e-Arşiv Portal. If you use e-Fatura yourself and the buyer is registered for it, you issue an e-Fatura instead of an e-Arşiv invoice; the integrator tells the two apart by checking the buyer's tax number (TCKN for sole traders) against GİB's list of registered users.

An e-Arşiv invoice for an online sale must carry the website address, the payment method and date, the shipping date, the carrier's name and tax or ID number, a return section the consumer fills in when sending goods back, and the statement "Bu satış internet üzerinden yapılmıştır." (this sale was made online). For goods, a printed copy of the e-Arşiv invoice travels with the parcel (if the invoice has not been issued before shipping, a dispatch note goes with the goods instead), which is why invoices are usually created at the shipping step. Ask your integrator: how are TCKN, VKN and tax office collected (Shopify's Turkish address format has no tax ID field, so apps use cart attributes or a post-purchase form), do discounts and mixed VAT rates land on the right lines, what happens on partial refunds, and is the invoice number written back to the order as a metafield? A national ID number (TCKN) is personal data; request it only where it is required.

Distance sales contract and pre-contract information​

The Distance Contracts Regulation requires disclosure, before the contract, of the goods' main characteristics, the seller's name or trade name and MERSİS or tax number, address and contact details, the total price including all taxes and extra costs such as shipping, payment and delivery terms, withdrawal conditions and the carrier designated for returns. The consumer must confirm receiving this information. For online sales, the main characteristics, total price, withdrawal conditions and any cases where withdrawal does not apply must be shown again, separately and together, right before the consumer takes on the payment obligation; and right before confirming the order, the consumer must be told clearly that ordering creates a payment obligation. The text must be at least 12 point (16 pixels in CSS). The withdrawal period is 14 days; delivery may take at most 30 days except for made-to-order goods; and the seller keeps the information and documents for each transaction for three years. Return shipping follows a newer rule, in force since 1 January 2026: a consumer who sends the goods back through the return carrier named in the pre-contract information, or who was never told of one, cannot be charged for return shipping, and if the named carrier has no branch where the consumer lives, you must arrange collection at no extra cost. Write your refund policy and carrier contract accordingly.

Checkout UI extensions that add a checkbox to the information, shipping and payment steps work only on Plus. On other plans, a common setup is: publish both documents as pages (policies entered in Settings > Policies are linked in the checkout footer automatically; Shopify itself says its automated policy templates are not legal advice, so write the Turkish texts yourself), put a required checkbox on the cart page and pass the consent, with text version and timestamp, to the order as a cart attribute, turn off the dynamic "Buy it now" buttons that skip the cart, and send the contract text with the order confirmation email. The regulation's "right before the payment obligation" requirement is the hardest part to meet without Plus, so have a lawyer confirm the setup.

KVKK, cookies, marketing consent and ETBİS​

  • Privacy notice: put the KVKK privacy notice (aydınlatma metni) in the privacy policy field so that checkout links to it. Under principle decision 2026/347 of the Personal Data Protection Board, published in the Official Gazette on 24 March 2026, the privacy notice and the explicit consent text must be separate, and the privacy notice must not be "approved" or consented to; at most you collect an acknowledgement such as "I have read and understood". Replace required "I have read and accept" boxes with a separate, optional box for processing that needs explicit consent.
  • Transfers abroad: Shopify processes data in locations such as Canada, the US and Ireland. Under KVKK Article 9 as amended in 2024, settle which safeguard the transfer relies on; a signed standard contract must be notified to the authority within five business days.
  • Cookies and marketing consent: enable Shopify's cookie banner (Settings > Customer privacy > Cookie banner) with Türkiye added to its regions, and get explicit consent for non-essential cookies. The banner governs Shopify's own tools and pixels; test separately that tracking code added by apps or by hand respects consent. Do not preselect the email sign-up box, and plan how commercial message consents are registered in İYS, the national message management system.
  • ETBİS: e-commerce providers selling through their own site must register in ETBİS before they start; sellers active only on domestic marketplaces are exempt. The person registered as an authorised representative in MERSİS (ESBİS for tradespeople) logs in through e-Devlet; if you are neither a merchant (tacir) nor a tradesperson (esnaf), you register with your tax number. Get a registered e-mail (KEP) address first. Registration asks for that KEP address, the type of e-commerce, the goods and services you offer, your payment methods and whether you sell second-hand goods, and changes must be reported within 30 days. ETBİS announced on 2 September 2025 that its QR code scheme has ended.
  • Home page sections: an "İletişim" (contact) section with KEP address, email, phone and professional chamber, plus trade name, MERSİS number and head office address for merchants (name, tax number and head office address for tradespeople), and an "İşlem Rehberi" (transaction guide) covering ordering steps, how the contract is stored and accessed, correcting input errors, privacy rules and any alternative dispute resolution.

Setup checklist​

  1. Defaults: TRY, Istanbul time zone, metric units, legal business name and address (the payment provider list follows this address).
  2. Domain: an A record for the root domain pointing to 23.227.38.65, an AAAA record to 2620:0127:f00f:5::, and a CNAME for www to shops.myshopify.com. Delete any other A and AAAA records on the domain; propagation can take up to 48 hours, and the TLS certificate is issued automatically once the connection is verified.
  3. Theme and language: an Online Store 2.0 theme with Turkish as the default language. The free Translate & Adapt app auto-translates up to two languages beyond the default for stores in countries Shopify does not list, Türkiye included (stores that see a "Translate now" button get eight). An auto-translated language cannot later be swapped for another, removing it does not reset the count, and legal policies are never auto-translated.
  4. Payments, tax, shipping and pages: the settings above, the test orders and the legal texts.
  5. Checkout: shipping phone required, company name optional, marketing box not preselected.
  6. Staff: a separate account for everyone, least privilege. The store owner can make two-step authentication Required for all staff under Settings > Users (in beta at the time of writing; Plus uses the organization-level setting). It cannot be enforced for POS users or collaborator accounts, so review those separately.
  7. Go-live: ETBİS registration and one end-to-end test through invoice, label, email and refund.
When importing products by CSV, watch out: Excel with Turkish regional settings may save the file with semicolons and comma decimals, while Shopify expects a comma-separated, UTF-8 file with LF line endings and prices written like 499.90. Write weight as whole grams with no unit. Variant rows carry the URL handle and the variant columns; if you drop the Option1 name and Option1 value columns from the file, Shopify creates a default variant and deletes existing ones.
Code:
Title,URL handle,Vendor,Status,SKU,Option1 name,Option1 value,Price,Charge tax,Weight value (grams)
Cotton T-shirt,cotton-t-shirt,Example Brand,active,TS-001-S,Size,S,499.90,true,220
,cotton-t-shirt,,,TS-001-M,,M,499.90,true,240

Developer notes​

  • Themes: in Online Store 2.0, pages are JSON templates made of sections, and apps add app blocks. With Shopify CLI (npm install -g @shopify/cli@latest; Node.js 22.12 or higher and Git 2.28 or higher), shopify theme dev serves a live preview on a development theme and shopify theme push --unpublished uploads to a new unpublished theme.
  • Apps and API: since 1 January 2026, new legacy custom apps can no longer be created in the admin; custom apps for a single store are created in the Dev Dashboard. The REST Admin API has been legacy since 1 October 2024, and since 1 April 2025 new public apps must be built with the GraphQL Admin API only.
  • Webhooks: compare the X-Shopify-Hmac-SHA256 header with the Base64-encoded HMAC-SHA256 of the raw body, keyed with your app's client secret. Shopify waits five seconds for the whole request and retries a failed delivery eight times over four hours; a subscription created through the Admin API is deleted after eight consecutive failures. The same delivery can arrive more than once, so de-duplicate on X-Shopify-Webhook-Id, return 200 right away and push the work to a queue.
  • Checkout and Functions: UI extensions in the information, shipping and payment steps are Plus-only; Thank you and Order status page extensions are available on Basic and above. Script tags on the Order status page stopped running for non-Plus stores on 26 August 2026 (for Plus on 28 August 2025), so move tracking code to Customer events or a web pixel. Since 1 October 2026 script tags can no longer be created or updated, and from 1 March 2027 Shopify stops adding them to storefronts; app embed blocks are the replacement. Custom apps containing Functions run only on Plus.
For an e-Arşiv integration, the queue worker can fetch everything the invoice needs from the GraphQL Admin API in one query:
Code:
query InvoiceData($id: ID!) {
  order(id: $id) {
    name
    processedAt
    taxesIncluded
    paymentGatewayNames
    customAttributes { key value }
    billingAddress { name company address1 zip city phone }
    lineItems(first: 100) {
      nodes {
        title
        sku
        currentQuantity
        originalUnitPriceSet { shopMoney { amount } }
        discountAllocations { allocatedAmountSet { shopMoney { amount } } }
        taxLines { ratePercentage priceSet { shopMoney { amount } } }
      }
    }
    fulfillments(first: 5) { createdAt trackingInfo(first: 1) { company number } }
  }
}
Name, address and phone in this query are protected customer data: if your app has not been granted those fields (public apps also need Shopify's review), the response is still HTTP 200, but the fields come back null and the error sits in the errors array.
Three traps: quantity includes refunded and removed units, so invoice currentQuantity; taxLines also include tax on refunded units, so recompute tax on the remaining quantity for partially refunded orders; and discountedTotalSet leaves out order-level discounts and, by default, discount codes, so sum line discounts from discountAllocations.

When Shopify is the wrong choice​

Look at alternatives if your sales lean on installment and bank campaigns or routing across several virtual POS accounts, if you need extra checkout fields without a Plus budget, if most revenue comes from marketplaces, or if your margin cannot absorb the extra transaction fee:
CriterionShopifyWooCommerceTurkish SaaS (ikas, Ticimax, IdeaSoft, etc.)
Local payments and installmentsApproved apps, extra transaction feeProvider plugins, several virtual POS accountsUsually built in
e-Arşiv and marketplace integrationThrough appsThrough pluginsUsually in the package; check scope
Checkout customizationCheckout steps on Plus onlyFull controlVaries by platform
Selling abroad, multiple languagesStrong; payment in liraThrough pluginsVaries by platform
Operations burdenHosting and security handled by ShopifyServer, updates and backups are yoursHandled by the platform
Cost driversDollar subscription, transaction fee, appsHosting, plugin licences, developer timeSubscription package, revenue commission if any
For a broader comparison, read our guide to choosing an e-commerce platform.

FAQ​

Can a company based in Türkiye use Shopify Payments?
Not at the time of writing. Some founders set up a company in a supported country and use its bank account; that is a separate legal and tax structure, not a setting.

Can I offer installments?
Yes, with a payment institution whose Shopify app supports them. The customer chooses installments on the provider's page, and the bank and payment institution enforce category limits.

Does Shopify issue e-Arşiv invoices?
No. You need a GİB-authorised integrator's app, your accounting software's integration or your own code against an integrator's API; at very low volume, GİB's e-Arşiv Portal also works.

Can I sell to Europe or the US from Türkiye?
Yes. Markets handles language, domain and shipping per market, and customers pay in lira. Plan for duties, changing exemption rules and ETGB before you launch.

Do I need to register in ETBİS?
Yes if you sell through a store on your own domain, and before you start. Sellers active only on domestic marketplaces are exempt.

Conclusion and next steps​

Shopify works in Türkiye; the effort concentrates in the payment app, the invoice integration and the legal pages. In order: get the scope of your provider's Shopify app in writing, model total cost including the transaction fee, choose an e-Arşiv integrator and test the invoice fields, have a lawyer approve the legal texts, complete ETBİS registration, and place one end-to-end test order before going live. If you want a team to handle setup and integrations, AIOR's e-commerce services are one option. Post questions about your own store in this thread.
 
Last edited:

Forum statistics

Threads
925
Messages
932
Members
26
Latest member
Jessicawatson

Members online

No members online now.

Featured content

AIOR
AIOR TECHNOLOGY

Get a quote for all your needs

Hosting · Domain · Servers · Design · Software · Engineering · Industry Solutions

Get a quote

24/7 Support · Quick response

Back
Top