Shopify PayTR Entegrasyonu Nedir? Shopify PayTR entegrasyonu, PayTR’nin iFrame tabanlı sanal POS altyapısını Shopify checkout sürecine bağlayarak kredi kartı tahsilatının kart bilgisi mağaza sunucusuna hiç uğramadan doğrudan PayTR sunucusunda işlenmesini sağlayan ödeme kurulumudur.
PayTR, 2012’den bu yana Türkiye’de faaliyet gösteren ve PCI-DSS (ödeme kartı veri güvenliği standardı) sorumluluğunu kendi altyapısında taşıyan bir ödeme kuruluşudur. Bu özellik onu, kart verisi güvenliğini kendi sunucusunda yönetmek istemeyen mağaza sahipleri için tercih edilen bir seçenek haline getirir. Shopify mağaza kurulumu adım adım rehberi sürecinde ödeme altyapısı aşamasına gelen bir mağaza sahibi, PayTR’yi genelde iyzico ile birlikte değerlendirir; bu makale her iki sistemin teknik kurulum farkını netleştirir.
Bu makale iki farklı entegrasyon modelini ele alır: PayTR’nin Shopify’a hazır uygulamayla bağlandığı dijital-öncelikli model ve Garanti BBVA gibi bankaların şube süreciyle işleyen geleneksel sanal POS modeli. İki modelin başvuru hızı, evrak gereksinimi ve teknik entegrasyon derinliği birbirinden belirgin şekilde ayrışır; bu fark, mağaza sahibinin hangi profile uygun olduğunu belirlemesine yardımcı olur.
PayTR Nedir ve iFrame Yöntemi Nasıl Çalışır?
PayTR, kredi kartı bilgisi girişini kendi barındırdığı bir iFrame (sayfa içine gömülü çerçeve) üzerinden alır; bu yöntemde kart numarası hiçbir zaman mağazanın kendi sunucusuna veya veritabanına ulaşmaz.
iFrame yöntemi, Shopify checkout sayfasında görsel olarak sayfanın bir parçası gibi görünür ama teknik olarak PayTR’nin kendi sunucusundan servis edilir. Bu ayrım, mağaza sahibinin PCI-DSS uyumluluğu için ayrı bir güvenlik sertifikasyonu almasını gereksiz kılar; sorumluluk PayTR’nin altyapısında kalır (PayTR Entegrasyon Dokümantasyonu, 2025).
[İPUCU] iFrame yöntemi, özel checkout tasarımı yapan mağazalar için tema uyumluluğu açısından PayTR panelinde “iFrame boyutu” ve “tema rengi” ayarlarının mağaza temasıyla eşleştirilmesini gerektirir; aksi halde ödeme kutusu görsel olarak uyumsuz görünür.
iFrame’in bir diğer teknik avantajı, kart bilgisi girişi sırasında oluşan hatanın (geçersiz kart numarası, son kullanma tarihi hatası gibi) PayTR tarafından anlık olarak müşteriye gösterilmesidir. Bu geri bildirim mekanizması, müşterinin formu tekrar tekrar göndermek yerine hatayı hemen düzeltmesini sağlar ve checkout terk oranını dolaylı olarak düşürür. iFrame içeriği PayTR sunucusundan geldiği için mağaza temasının CSS (stil) dosyaları iFrame’in iç görünümünü doğrudan etkilemez; renk ve yazı tipi uyumu yalnızca PayTR panelindeki ayarlar üzerinden yapılabilir.
PayTR Entegrasyon Süreci Nasıl İşler?
PayTR entegrasyonu, PayTR.com üzerinden mağaza başvurusu yapıp onay sonrası Shopify App Store’dan PayTR uygulamasını kurarak mağaza kimlik bilgilerini (merchant ID, merchant key, merchant salt) girmekle tamamlanır.
Başvuru formunda işletme türü, aylık tahmini ciro ve satılan ürün kategorisi belirtilir. PayTR, özellikle yeni açılan mağazalar için önce sınırlı bir işlem limitiyle hesabı aktive eder; işlem geçmişi biriktikçe bu limit gözden geçirilir. Aşağıdaki adımlar sürecin genel akışını gösterir:
- PayTR.com üzerinden mağaza başvuru formunu doldur.
- Şirket evraklarını (vergi levhası, imza sirküleri gibi) yükle.
- Onay sonrası merchant ID, merchant key ve merchant salt bilgilerini panelden al.
- Shopify App Store’dan PayTR uygulamasını kur.
- Uygulama ayarlarına merchant bilgilerini gir ve test işlemi yap.
| Alan | Açıklama | Nereden Alınır |
|---|---|---|
| Merchant ID | Mağazayı tekil olarak tanımlayan numara | PayTR Mağaza Paneli |
| Merchant Key | API isteklerinde kimlik doğrulama için kullanılır | PayTR Mağaza Paneli |
| Merchant Salt | İstek imzalama (hash) işleminde kullanılır | PayTR Mağaza Paneli |
Yeni mağazalar için uygulanan sınırlı işlem limiti, genelde ilk 30-60 gün içinde belirli sayıda başarılı işlem tamamlandıktan sonra otomatik olarak yükseltilir. Bu limit artışı manuel talep gerektirmez, ancak işlem hacmi limitin çok üzerine çıkarsa (örneğin kampanya dönemlerinde ani talep artışı) PayTR destek hattından ek limit talep etmek gerekebilir. Kampanya öncesi bu limiti kontrol etmek, yoğun satış gününde ödeme reddi yaşamamak için pratik bir önlemdir.
[KRİTİK NOT] Merchant key ve merchant salt bilgileri asla mağaza temasının önyüz (frontend) koduna eklenmemelidir; bu bilgiler yalnızca sunucu tarafı veya uygulama ayarları üzerinden işlenmelidir, aksi halde kötü niyetli kişiler sahte istek gönderebilir.
PCI-DSS Sorumluluk Devri Ne Anlama Gelir?
PCI-DSS sorumluluk devri, kart verisi güvenliğinin denetim yükünün mağaza sahibinden PayTR’ye geçtiği anlamına gelir; bu da mağaza sahibinin ayrı bir güvenlik sertifikasyonu almasını gereksiz kılar.
Kart bilgisi mağazanın kendi sunucusunda toplanıp işlendiğinde, mağaza PCI-DSS Seviye 1 uyumluluğu için yıllık denetimden geçmek zorunda kalır; bu süreç hem maliyetli hem teknik olarak karmaşıktır. PayTR’nin iFrame yöntemi bu yükü ortadan kaldırır çünkü kart verisi hiçbir zaman mağaza sunucusuna dokunmaz. Bir mağaza sahibi için bu fark, yıllık güvenlik denetimi bütçesi ile geliştirici zamanının tamamen farklı bir işe yönlendirilebilmesi anlamına gelir.
[KRİTİK NOT] PCI-DSS sorumluluğunun PayTR’ye devredilmesi, mağazanın hiçbir güvenlik yükümlülüğü kalmadığı anlamına gelmez; SSL sertifikası, checkout sayfası bütünlüğü ve admin panel erişim güvenliği hâlâ mağaza sahibinin sorumluluğundadır.
Garanti BBVA Sanal POS Kurulum Şartları Nelerdir?
Garanti BBVA sanal POS başvurusu, PayTR’den farklı olarak banka şubesiyle üyelik sözleşmesi imzalamayı ve genelde yüz yüze ya da noter onaylı evrak teslimini gerektirir.
Banka sanal POS süreçlerinde tipik olarak istenen belgeler arasında ticaret sicil gazetesi, imza sirküleri, vergi levhası ve şirketin faaliyet konusunu gösteren belge yer alır. Sürecin PayTR’den en belirgin farkı, başvurunun tamamen dijital ilerlememesidir; banka genelde ilişkili olduğu şubeden bir yetkiliyle görüşme talep eder. Bu görüşmede işletmenin faaliyet alanı, tahmini işlem hacmi ve risk profili değerlendirilir.
Banka sanal POS başvurusunda genelde bir asgari ciro taahhüdü veya belirli bir hesap bakiyesi bulundurma şartı da gündeme gelir; bu şart bankadan bankaya değişir ve başvuru öncesi netleştirilmesi gereken bir kalemdir. Ayrıca bazı bankalar sanal POS üyeliğini, işletmenin o bankada ticari hesap açmasına bağlı tutar; bu da PayTR gibi bağımsız sağlayıcılarda bulunmayan ek bir bağımlılık yaratır. İşletmenin zaten o bankada ticari hesabı varsa süreç kısalır, yoksa hesap açma adımı süreci uzatan bir ön koşul haline gelir.
| Kriter | PayTR | Banka Sanal POS (Garanti BBVA) |
|---|---|---|
| Başvuru Şekli | Tamamen dijital | Şube görüşmesi gerekebilir |
| Onay Süresi | Ortalama 1-5 iş günü | Genelde 2-4 hafta |
| Sözleşme Türü | Elektronik mağaza sözleşmesi | Banka üyelik sözleşmesi |
| PCI-DSS Sorumluluğu | PayTR üstlenir (iFrame ile) | Mağazanın entegrasyon yöntemine bağlıdır |
Bu tablo, Shopify Türkiye ödeme yöntemleri karşılaştırması makalesinde ele alınan daha kapsamlı karşılaştırmanın PayTR-banka POS eksenine odaklanan özet halidir.
Garanti BBVA örneğinde görüşme süreci genelde iki aşamadan oluşur: önce şubede genel bilgilendirme yapılır, ardından işlem hacmi ve risk değerlendirmesi tamamlandıktan sonra sözleşme imzalanır. Bu iki aşama arasında geçen süre işletmenin mevcut banka geçmişine bağlı olarak değişir; aynı bankada uzun süredir ticari hesabı olan bir işletme için süreç hızlanırken, bankayla ilk kez çalışan bir işletme için ek doğrulama istenebilir.
Banka Sanal POS’u Shopify’a Nasıl Bağlanır?
Banka sanal POS’u Shopify’a bağlamak için genelde bankanın sağladığı API bilgilerini destekleyen bir Shopify uygulaması veya özel geliştirme (custom development) gerekir, çünkü çoğu banka doğrudan Shopify App Store’da hazır uygulama sunmaz.
Bu nokta, PayTR ve iyzico gibi Shopify’a özel hazır uygulaması olan sağlayıcılarla banka sanal POS’u arasındaki en somut farktır. Banka sanal POS’u tercih eden bir mağaza sahibi, genelde bir aracı yazılım (middleware) veya PayTR/iyzico’nun kendi altyapısı üzerinden bankaya bağlanan bir çözüm kullanır; doğrudan banka API’siyle Shopify checkout’u entegre etmek özel yazılım geliştirme gerektirir.
- Hazır Shopify uygulaması olan sağlayıcı (PayTR, iyzico) üzerinden dolaylı bağlantı.
- Bankanın kendi API’siyle özel geliştirme (yüksek teknik maliyet).
- Banka sanal POS’unu yalnızca fiziksel mağaza veya çağrı merkezi siparişlerinde kullanma, Shopify’da alternatif sağlayıcı tercih etme.
[İPUCU] Zaten bir bankayla ticari kredi ilişkisi olan işletmeler için o bankanın sanal POS’unu tercih etmek, kredi limiti veya komisyon pazarlığında ek avantaj sağlayabilir; bu avantaj hazır uygulama sağlayıcılarında genelde mevcut değildir.
Aracı Yazılım (Middleware) Ne Zaman Gerekir?
Aracı yazılım, banka sanal POS’unun Shopify’ın beklediği API formatını desteklemediği durumlarda iki sistem arasında veri dönüştürme görevi görür ve genelde özel yazılım geliştirme gerektirir.
Shopify checkout, ödeme sağlayıcılarından belirli bir API yanıt formatı bekler; bu format bankaların kendi API’lerinden farklı olabilir. Aracı yazılım, Shopify’ın gönderdiği isteği bankanın anladığı formata çevirir ve bankadan gelen yanıtı da Shopify’ın anlayacağı şekilde geri döndürür. Bu katman, hem geliştirme maliyeti hem de bakım yükü getirir; her iki tarafın API’sinde yapılan bir güncelleme, aracı yazılımın da güncellenmesini gerektirir.
[İPUCU] Aracı yazılım ihtiyacı doğduğunda maliyet-fayda analizini PayTR veya iyzico gibi hazır entegrasyonlu sağlayıcılarla karşılaştırmak, çoğu küçük ve orta ölçekli mağaza için hazır sağlayıcı lehine sonuçlanır.
PayTR ve Banka Sanal POS Arasındaki Temel Fark Nedir?
Temel fark, PayTR’nin Shopify’a hazır uygulama üzerinden dakikalar içinde bağlanabilmesine karşılık banka sanal POS’unun genelde özel entegrasyon veya aracı yazılım gerektirmesidir.
Yeni açılan ve teknik kaynağı sınırlı bir mağaza için PayTR, kurulum hızı açısından net bir avantaj sunar. Kurumsal bir işletme için ise banka sanal POS’u, mevcut kurumsal bankacılık ilişkisiyle entegre raporlama ve muhasebe kolaylığı sağlayabilir. Bu iki profil arasındaki seçim, teknik kurulum kolaylığı ile kurumsal entegrasyon ihtiyacı arasında yapılan bir denge kurmayı gerektirir.
Sandbox test süreci her iki yöntemde de zorunludur; PayTR test ortamı için ayrı bir “test modu” sunarken, banka sanal POS’ları genelde ayrı bir test üyeliği (mağaza numarası) üzerinden test işlemi yapılmasını ister. Test aşaması atlanıp doğrudan canlıya geçilmesi, ilk gerçek siparişte 3D Secure yönlendirme hatası veya callback URL uyuşmazlığı gibi sorunlara yol açabilir bu, Shopify’da iyzico kurulumu makalesinde detaylandırılan callback URL sorununa benzer bir mekanizmadır.
Muhasebe entegrasyonu açısından da iki yöntem farklılaşır. Banka sanal POS’u kullanan bir işletme, işlem ekstresini doğrudan aynı bankadaki ticari hesabından takip edebilir; bu da mutabakat (reconciliation) sürecini muhasebe ekibi için basitleştirir. PayTR gibi bağımsız sağlayıcılarda ise hakediş tutarı ayrı bir hesaba yatırıldığı için mutabakat, PayTR panelindeki işlem raporu ile banka ekstresinin karşılaştırılmasını gerektirir. Yüksek işlem hacmine sahip mağazalar için bu fark, muhasebe iş yükünü doğrudan etkileyen bir operasyonel detaydır.
Hangi İşletme Profili Hangi Yöntemi Seçmeli?
İşletmenin teknik kaynağı, kurumsal bankacılık ilişkisi ve işlem hacmi, PayTR ile banka sanal POS’u arasındaki seçimi belirleyen üç ana değişkendir.
Teknik kaynağı sınırlı, hızlı kurulum isteyen ve düşük-orta işlem hacmine sahip bir mağaza için PayTR, dakikalar içinde aktif olan hazır entegrasyonuyla öne çıkar. Buna karşılık kurumsal bankacılık ilişkisi güçlü, muhasebe süreçlerini tek bankada toplamak isteyen ve yüksek işlem hacmine sahip bir işletme için banka sanal POS’u, uzun vadede daha entegre bir yapı sunabilir.
- Yeni kurulan, teknik ekibi olmayan mağaza → PayTR veya iyzico gibi hazır entegrasyon.
- Kurumsal bankacılık ilişkisi olan, yüksek hacimli işletme → banka sanal POS’u değerlendirilebilir.
- Hem hız hem kurumsal entegrasyon isteyen işletme → PayTR ile başlayıp hacim arttıkça banka sanal POS’una geçiş.
[İPUCU] Karar aşamasında iki yöntemi aynı anda test etmek yerine, düşük riskli bir dönemde (kampanya olmayan bir hafta) tek yöntemle başlamak, entegrasyon sorunlarını canlı satış baskısı olmadan tespit etmeyi sağlar.
Sık Karşılaşılan Entegrasyon Sorunları Nelerdir?
PayTR ve banka sanal POS entegrasyonunda en sık görülen sorunlar, hash (imza) doğrulama hatası, iFrame boyut uyumsuzluğu ve callback bildiriminin Shopify sipariş durumuna yansımamasıdır.
Hash doğrulama hatası, merchant salt değerinin yanlış kopyalanması veya istek gövdesinin (request body) PayTR’nin beklediği formatla uyuşmamasından kaynaklanır. iFrame boyut uyumsuzluğu ise mobil cihazlarda ödeme kutusunun kesilmesi veya kaydırma çubuğu göstermesi şeklinde ortaya çıkar ve genelde PayTR panelindeki “responsive” ayarının etkinleştirilmemesinden kaynaklanır.
| Sorun | Olası Neden | Çözüm |
|---|---|---|
| Hash Doğrulama Hatası | Merchant salt yanlış veya eksik | PayTR panelinden salt değerini yeniden kopyala |
| iFrame Mobilde Kesiliyor | Responsive ayarı kapalı | PayTR panelinde mobil uyumlu iFrame modunu aç |
| Sipariş Durumu Güncellenmiyor | Callback (bildirim) URL'i yanlış tanımlı | Shopify uygulama ayarlarında bildirim URL'ini doğrula |
| Test Modunda Kalan İşlemler | Uygulama canlı moda geçirilmemiş | PayTR panelinde mağaza durumunu "aktif" yap |
[KRİTİK NOT] Canlı moda geçmeden önce test modunda yapılan işlemler gerçek para hareketi oluşturmaz; bazı mağaza sahipleri bu ayrımı fark etmeden canlı siparişleri test modunda karşıladığı için tahsilat alamadığını sonradan fark eder.
Entegrasyon tamamlandıktan sonra düzenli olarak yapılması gereken bir kontrol de SSL sertifikası yenilemesidir. PayTR’nin iFrame’i, mağazanın HTTPS bağlantısı üzerinden yüklenir; sertifika süresi dolduğunda tarayıcılar iFrame’i güvensiz içerik olarak engelleyebilir. Shopify’ın kendi domain yönetimi genelde sertifika yenilemesini otomatik yapar, ancak özel domain sağlayıcısı üzerinden DNS yönetimi yapan mağazalarda bu otomasyon her zaman sorunsuz çalışmayabilir; yılda bir kez manuel kontrol, olası bir kesintiyi önler.
Raporlama ve Mutabakat Süreci Nasıl Yürütülür?
Raporlama, PayTR panelindeki günlük işlem dökümü ile Shopify sipariş listesinin karşılaştırılmasıyla yürütülür; bu karşılaştırma her işlemin doğru tutarla ve doğru sipariş numarasıyla eşleştiğini doğrular.
PayTR, işlem bazında hakediş tarihini ve kesilen komisyon tutarını ayrı ayrı raporlar; bu raporlar genelde CSV (virgülle ayrılmış değer) formatında dışa aktarılabilir. Banka sanal POS’unda ise raporlama doğrudan internet bankacılığı ekranından, ticari hesap hareketleri içinden takip edilir. Muhasebe ekibinin hangi formatla çalıştığı, entegrasyon kararında göz ardı edilmemesi gereken pratik bir kriterdir.
[İPUCU] Aylık mutabakatı elle yapmak yerine PayTR’nin sunduğu CSV raporunu muhasebe yazılımına otomatik aktaran bir entegrasyon kurmak, yüksek işlem hacminde saatlerce süren manuel kontrol işini dakikalara indirir.
Sık Sorulan Sorular
PayTR mi Garanti sanal POS mu daha hızlı kurulur? PayTR, tamamen dijital başvuru süreciyle genelde 1-5 iş gününde aktif olur. Banka sanal POS’u ise şube görüşmesi gerektirdiği için 2-4 hafta sürebilir.
PayTR’de PCI-DSS sertifikası almam gerekir mi? Hayır, iFrame yöntemi kullanıldığında kart verisi mağaza sunucusuna uğramaz. PCI-DSS sorumluluğu PayTR’nin altyapısında kalır.
Banka sanal POS’u doğrudan Shopify App Store’dan kurabilir miyim? Çoğu banka Shopify’a özel hazır uygulama sunmaz. Genelde aracı bir sağlayıcı veya özel geliştirme gerekir.
PayTR taksit seçeneği sunuyor mu? Evet, PayTR panelinde anlaşmalı bankalar üzerinden taksit seçenekleri tanımlanabilir. Taksit oranları bankaya ve kart tipine göre değişir.
PayTR ile iyzico’yu aynı mağazada kullanabilir miyim? Teknik olarak ikisi de checkout’ta listelenebilir. Ancak çoğu mağaza operasyonel sadelik için tek sağlayıcıda karar kılar.
Garanti sanal POS için hangi evraklar isteniyor? Genelde vergi levhası, imza sirküleri ve ticaret sicil gazetesi istenir. Şirket türüne göre ek belge talep edilebilir.
PayTR komisyon oranı sabit midir? Hayır, işlem hacmine ve sektöre göre değişir. Yüksek hacimli mağazalar özel oran görüşmesi talep edebilir.
Banka sanal POS’u iptal edip PayTR’ye geçebilir miyim? Evet, iki sistem birbirini teknik olarak engellemez. Geçiş sırasında checkout ayarlarının güncellenmesi ve eski entegrasyonun devre dışı bırakılması gerekir.
PayTR’de iade işlemi nasıl yapılır? İade, PayTR panelinden işlem numarası seçilip kısmi veya tam iade talebi oluşturularak başlatılır. İade tutarı, kartın bağlı olduğu bankanın işlem süresine göre müşteri hesabına yansır.
Banka sanal POS’unda taksit komisyonu kim öder? Bu, banka ile yapılan sözleşmede belirlenen bir kalemdir; bazı sözleşmelerde komisyon mağazaya, bazılarında müşteriye yansıtılır. Sözleşme imzalanmadan önce bu maddenin netleştirilmesi gerekir.
Karar sürecinde göz ardı edilmemesi gereken son bir nokta, sağlayıcı değişikliğinin checkout’ta yarattığı geçiş süresidir. Bir sağlayıcıdan diğerine geçerken eski entegrasyonu hemen kapatmak yerine, yeni sağlayıcıyı önce test siparişleriyle doğrulayıp ardından eskisini devre dışı bırakmak, geçiş sırasında olası bir ödeme kesintisini engeller. Bu iki aşamalı geçiş, özellikle kampanya dönemlerinde tercih edilmemesi gereken riskli bir zamanlamadır; geçiş için trafiğin düşük olduğu bir hafta içi gün seçmek daha güvenlidir.
Sonraki Adım
PayTR ve banka sanal POS arasındaki karar netleştikten sonra tüm Türkiye ödeme seçeneklerini yan yana görmek isteyenler Shopify Türkiye ödeme yöntemleri karşılaştırması makalesine, kart dışı ödeme yöntemi eklemek isteyenler ise Shopify’da kapıda ödeme ve taksit seçeneği açma makalesine geçebilir.
