Ö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?
| Kriter | Stripe | iyzico |
|---|---|---|
| Hedef pazar | Global | Türkiye |
| Taksit | Sınırlı | Güçlü |
| Abonelik | Çok güçlü | Temel |
| Marketplace | Stripe Connect | iyzico MarketPlace |
| Kurulum kolaylığı | Kolay | Kolay |
| Dokümantasyon | Mü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.
