İzmir Karşıyaka'da 18 masalık küçük bir restoran sahibisiniz ve müşteriler menüden kredi kartıyla ödeme yapsın istiyorsunuz. Ancak kart numarası sunucunuza bir kez bile düşerse, PCI-DSS SAQ-D denetimi kapınızda — pen-test, ASV taraması, hukuk danışmanlığı dahil $8.000+ maliyet. Doğru mimari ile bu rakamı sıfıra indirebilirsiniz.
SAQ-A nedir ve neden istiyorsunuz?
PCI-DSS Self-Assessment Questionnaire'in en hafif versiyonu SAQ-A: kart verisi tamamen üçüncü tarafa (Stripe) outsource edildiğinde geçerli. Sadece 22 soruluk bir form; tek başınıza online doldurabilirsiniz, hukuk danışmanlığı maliyeti $0.
SAQ-D ise tam tersi: kart verisi sisteminize her hangi bir noktada (log, RAM, geçici değişken) dokunursa zorunlu. ASV (Approved Scanning Vendor) çeyrek başı taraması, yıllık penetrasyon testi, IDS/IPS, segmentasyon — yıllık $8.000-15.000 arası gider çıkar.
Stripe Elements paterni: kart sunucuya değmez
Çözüm Stripe.js'in Elements bileşenleri. Müşterinin kart numarası girdiği input aslında bir iframe — Stripe'ın kendi domain'inden (js.stripe.com) yüklenen izole bir bağlam. PAN, CVV ve son kullanma tarihi sunucunuzun JavaScript'iyle aynı origin'i bile paylaşmaz.
- Müşteri kartı yazar → iframe içinde kalır
- Frontend
stripe.confirmCardPayment(secret)çağırır → token (pi_xxx) döner - Sunucunuza sadece token gider; çiğ kart numarası asla görünmez
thMenu varsayılan davranışı
thMenu Platinum tier'da ödeme entegrasyonu Stripe Elements üzerine kuruludur. Restoran sahibinin yapması gereken tek şey Stripe hesabını bağlamak; backend kodunda PAN'a referans yoktur, log'larda kart maskelemesi gerekmez çünkü kart hiç gelmez. SAQ-A formunu Stripe'ın sağladığı şablonla 30 dakikada doldurabilirsiniz.
Ek olarak 3D Secure 2.0 ve Strong Customer Authentication Avrupa PSD2 uyumu Stripe tarafında otomatik yönetilir — Karşıyaka'daki restoran sahibinin EBA mevzuatıyla uğraşmasına gerek yoktur.
FAQ
SAQ-A için yıllık denetim gerekli mi? Hayır, self-assessment'tır — yılda bir kendiniz doldurursunuz, bankaya beyan edersiniz.
Webhook'tan gelen kart bilgisi PCI scope'a girer mi? Stripe webhook payload'unda sadece son 4 hane, marka, exp ay/yıl bulunur — PAN gönderilmez, kapsam dışı.
Telefon siparişlerinde kart numarasını el yazısıyla alsam? O an SAQ-D kapsamına girersiniz. Telefon sipariş için Stripe Terminal veya Payment Link kullanın — yine token'a düşer.
Faydalı buldunuz mu? Paylaşın.
İlgili makaleler
QR Menü Nedir? Restoranlar İçin Eksiksiz Rehber
QR kod menü, müşterilerin telefonlarıyla tarayarak dijital menünüze anında erişm…
Kağıt Menüden QR Menüye Geçiş: Adım Adım Pratik Kılavuz
Restoranınızda kağıt menüyü bırakıp dijital QR menüye geçmek istiyorsunuz ama ne…
Yemek %10, alkol %20 — restoran POS'unuz multi-rate KDV'yi nasıl yönetiyor?
Türkiye'de gıda KDV'si %10, alkollü içecekler için %20. Bir adisyonda ikisi de v…