İçeriğe atla
ÖzelliklerFiyatlandırmaİş OrtaklığıBlogYardımHakkımızdaİletişim
BaşlaGiriş Yap
Bloga Dön
guides2026-07-177 dk okuma

iyzico Inline Checkout ile QR Menüden Tek Tıkla Ödeme: Entegrasyon Adımları

Ankara Çankaya'da 45 masalık et lokantasının iyzico Inline Checkout (3DS v2) ile masadan ödeme entegrasyonu — webhook idempotency, KDV %10/%20 fatura PDF, PCI scope dışı.

th

thMenu Team

thmenu.com

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.