Ankara Çankaya'da 45 masalık bir et lokantası, akşam servisinde "hesap" demekten servis çıkışına kadar geçen 7-9 dakikalık ölü zamandan kurtulmak için iyzico Inline Checkout entegrasyonunu seçti. Hedef sadece tahsilat hızı değildi — KDV %10 yemek ve %20 alkol oranlı fatura PDF'ini Türkiye mevzuatına uygun üretmekti.
Neden Inline Checkout? 3DS v2 ve PCI scope
Inline Checkout, kart bilgilerinin iyzico iframe içinde alınmasını sağlar — merchant sunucusu kart PAN'ına asla dokunmaz. Bu, PCI DSS scope'unu SAQ-A seviyesine düşürür: yıllık denetim maliyeti yaklaşık 2,500-4,000 USD yerine sıfır olur. 3DS v2 entegrasyonu otomatik tetiklenir, frictionless flow %78 işlemde devreye girer.
Mimari basit: müşteri QR menüden "Öde" der → /api/payments/initialize backend'e POST eder → iyzico'dan checkoutFormContent alır → iframe açılır. Müşteri kart bilgilerini iyzico'ya verir, callback merchant'a sadece token döner.
Webhook idempotency ve race condition
iyzico webhook'u aynı paymentId için 3-7 kez tetiklenebilir — özellikle 3DS challenge sırasında. Çözüm: paymentId UNIQUE constraint ile iyzico_webhook_events tablosu. Her event INSERT denenir; 23505 (duplicate) gelirse 200 no-op döner. Bu pattern Stripe ile aynı.
- Signature doğrulama: iyzico HMAC-SHA256 ile imzalar; secret merchant panelinden alınır, env var'a yazılır.
- Replay window: 5 dakika; eski timestamp'leri reddedin.
- Status mapping: SUCCESS → orders.payment_status = paid; FAILURE → retry edilebilir hata kodu.
KDV oranlı fatura PDF (yemek %10, alkol %20)
Türkiye'de restoran faturası mevzuat gereği yiyecek için %10 KDV, alkollü içecek için %20 KDV ayrımı yapmak zorunda. Çankaya örneğinde 480 TL'lik bir hesabın 320 TL'si yemek (29.09 TL KDV) ve 160 TL'si alkol (26.67 TL KDV) olarak iki ayrı satırda görünür.
PDF üretimi @react-pdf/renderer ile yapılır; vergi numarası, VKN/TCKN, mükellef adı, fatura tarihi alanları e-Arşiv'e uygun şekilde işlenir. Aylık ortalama 3,200 fatura üretiminde sunucu maliyeti $4-6 mertebesinde kalır.
FAQ
iyzico komisyonu ne kadar? Standart oran %2.49 + 0.25 TL/işlem; aylık 100K TL üzeri ciroda pazarlık ile %1.99'a kadar iner.
Kart save (Card Storage) özelliği güvenli mi? iyzico cardUserKey/cardToken döner; merchant hiçbir PAN saklamaz, PCI scope dışı kalırsınız.
Refund süresi ne kadar? Aynı gün içinde tam iade anında işlenir; T+1'den sonra 2-7 iş günü bankaya yansır.
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…