Muharrem Önel

MUHARREM

Önel
Full Stack Developer
|
Blog'a Dön
Teknoloji29 Temmuz 20269 dk okuma

Ödeme Entegrasyonu Rehberi: Stripe ve iyzico ile Güvenli Ödeme Altyapısı

M
Muharrem ÖnelFull Stack Developer

Ödeme Entegrasyonu Neden Karmaşıktır?

Ödeme sistemi entegrasyonu, bir web projesinin en hassas bileşenidir. Para söz konusu olduğunda güvenlik, güvenilirlik ve kullanıcı deneyimi kusursuz olmalıdır. Yanlış implementasyon hem müşteri kaybına hem yasal sorunlara yol açabilir.

Hangi Ödeme Sağlayıcıyı Seçmeliyim?

Stripe — Global projeler için:

  • 135+ ülkede ödeme kabul etme
  • Mükemmel geliştirici deneyimi ve dokümantasyon
  • Güçlü abonelik yönetimi (Stripe Billing)
  • Stripe Connect ile marketplace ödemeleri
  • Webhook tabanlı güvenilir event sistemi
  • 3D Secure ve SCA (Strong Customer Authentication) desteği

iyzico — Türkiye odaklı projeler için:

  • Türk bankaları ile doğrudan entegrasyon
  • Taksit seçenekleri (2-12 ay)
  • Marketplace ödeme altyapısı
  • Kolay checkout formu (iyzico ile öde butonu)
  • BKM Express entegrasyonu
  • Türk lirası (TRY) odaklı çalışma

Ne zaman hangisi?

KriterStripeiyzico
Hedef pazarGlobalTürkiye
TaksitSınırlıGüçlü
AbonelikÇok güçlüTemel
MarketplaceStripe Connectiyzico MarketPlace
Kurulum kolaylığıKolayKolay
DokümantasyonMükemmelİyi

Güvenli Ödeme Akışı Tasarımı

Ödeme akışında güvenlik en öncelikli konudur:

Kart bilgilerini asla kendi sunucunuzda işlemeyin:

  • Stripe Elements veya iyzico'nun checkout formu kullanın
  • Kart numarası sunucunuza hiç ulaşmaz — tokenize edilir
  • PCI DSS uyumluluk yükünüzü minimuma indirir

Tipik güvenli ödeme akışı:

1. Kullanıcı ürünü sepete ekler

2. Checkout sayfasında ödeme formunu doldurur (Stripe Elements / iyzico form)

3. Kart bilgisi doğrudan ödeme sağlayıcısına gönderilir, token alınır

4. Token backend'e iletilir

5. Backend, token ile ödeme sağlayıcısından ödeme oluşturur

6. 3D Secure doğrulaması gerekiyorsa kullanıcı yönlendirilir

7. Ödeme sonucu webhook ile backend'e bildirilir

8. Sipariş oluşturulur ve kullanıcıya onay gösterilir

Webhook Yönetimi

Webhook'lar ödeme sisteminin güvenilirliğinin temelidir:

  • Neden webhook? Kullanıcının tarayıcısı kapanabilir, internet kesilecebilir. Webhook ile ödeme sağlayıcısı sizi doğrudan bilgilendirir
  • İdempotency: Aynı webhook birden fazla kez gelebilir — aynı işlemi tekrar etmeyin
  • Signature doğrulama: Gelen webhook'un gerçekten ödeme sağlayıcısından geldiğini doğrulayın
  • Retry mekanizması: Webhook işleme başarısız olursa, sağlayıcı tekrar dener
  • Event sıralama: Event'ler sıralı gelmeyebilir — state machine ile yönetin

Abonelik (Recurring Payment) Yönetimi

SaaS ve abonelik modeli için dikkat edilmesi gerekenler:

  • Plan yönetimi: Farklı fiyatlandırma planları oluşturun (aylık, yıllık, free trial)
  • Proration: Kullanıcı plan değiştirdiğinde orantılı ücretlendirme
  • Dunning management: Ödeme başarısız olduğunda otomatik yeniden deneme ve bildirim
  • Grace period: Ödeme başarısız olsa bile hizmetin belirli süre devam etmesi
  • İptal akışı: Kolay iptal, veri saklama politikası, win-back stratejisi
  • Fatura oluşturma: Otomatik fatura üretimi ve gönderimi

Hata Yönetimi

Ödeme işlemlerinde hata yönetimi kritiktir:

Yaygın ödeme hataları:

  • Yetersiz bakiye
  • Kart limiti aşımı
  • 3D Secure doğrulama başarısızlığı
  • Süresi dolmuş kart
  • Banka tarafından reddedilme
  • Ağ hataları ve timeout

Her hata için:

  • Kullanıcıya anlaşılır hata mesajı gösterin — teknik jargon kullanmayın
  • Hatayı loglayın ve izleyin
  • Alternatif ödeme yöntemi önerin
  • Kritik hataları anlık bildirimle ekibe iletin

Yasal Uyumluluk ve Güvenlik

  • PCI DSS: Kart bilgisi işliyorsanız uyum zorunluluğu — tokenization kullanarak yükü minimize edin
  • KVKK/GDPR: Kullanıcı ödeme verilerini nasıl sakladığınızı ve işlediğinizi açıkça belirtin
  • Fatura yükümlülüğü: E-fatura veya e-arşiv fatura entegrasyonu
  • Mesafeli satış sözleşmesi: E-ticaret için yasal gereklilik
  • İade politikası: Açık ve anlaşılır iade koşulları

Test Stratejisi

Ödeme sistemlerini canlıya almadan önce kapsamlı test yapın:

  • Test kartları: Stripe ve iyzico'nun sağladığı test kart numaralarını kullanın
  • Tüm senaryoları test edin: Başarılı ödeme, başarısız ödeme, 3D Secure, iade, iptal
  • Webhook testleri: Stripe CLI veya ngrok ile yerel ortamda webhook test edin
  • Edge case'ler: Çift tıklama, timeout, yarıda kesilen işlem
  • Yük testi: Yoğun dönemlerde (kampanya, Black Friday) ödeme altyapısının dayanıklılığını test edin

Sonuç

Ödeme entegrasyonu karmaşık ama doğru yaklaşımla güvenli ve güvenilir bir altyapı kurmak mümkündür. Tokenization ile kart güvenliğini sağlayın, webhook'lar ile güvenilirliği artırın ve her hata senaryosunu ele alın.

Projenize ödeme sistemi entegre etmek mi istiyorsunuz? İletişime geçin ve birlikte güvenli bir ödeme altyapısı kuralım.

PaymentStripeiyzicoE-commerceSaaSPCI DSSFintech

Diğer Yazılar