Background
🔌 API & Entegrasyon9 dk okuma

iyzico, PayTR, Sipay: Türkiye Ödeme Sistemleri Entegrasyon Rehberi

Bir yazılım veya e-ticaret projesinin can damarı ödeme alabilmektir. Bu rehberde, Türkiye'nin lider sanal POS firmalarını (iyzico, PayTR, Sipay) API kalitesi ve teknik özellikleri bakımından inceliyoruz.

Yazar: Burak Celik
🤖

AI & Hızlı Okuma Özeti

Bir yazılım veya e-ticaret projesinin can damarı ödeme alabilmektir. Bu rehberde, Türkiye'nin lider sanal POS firmalarını (iyzico, PayTR, Sipay) API kalitesi ve teknik özellikleri bakımından inceliyoruz. Bu içerik ORCA Software uzmanları tarafından derlenmiştir.

Web veya mobil projeniz ne kadar kusursuz olursa olsun, müşteri kart bilgilerini girdiği ekranda sistem yavaşlarsa veya güvensiz görünürse o işlem terk edilir. Türkiye pazarında ödeme almak, sadece bir banka API'sine bağlanmak demek değildir. Parçalı ödeme, pazar yeri (marketplace) mantığı, abonelikle (subscription) kart saklama, 3D Secure ve anti-fraud kontrollerinin bir bütün halinde kodlanmasıdır. Bu rehberde iyzico, PayTR ve Sipay gibi sağlayıcıların teknik kapasitelerini yazılım perspektifinden inceliyoruz.

1. Basit Entegrasyon Mu Başvuru Formu Mu (Checkout vs API)

Ödeme altyapısı kodlarken iki seçeneğiniz vardır:

  • Hazır Checkout Formu (Kolay): Kullanıcı satın ala tıklar, ödeme altyapısının kendi tasarladığı bir pop-up pencere açılır. iyzico ödeme formu, PayTR iframe'i gibi. Entegrasyonu 1 gün sürer, ancak checkout tasarımı değiştiremezsiniz.
  • Doğrudan (Direct) API (Gelişmiş): Tüm kart giriş ekranını kendiniz tasarlarsınız, sistem arkada salt şifreli veriyi API üzerinden iletir ve yanıtı döner. Tam White-label çözümdür, ciddi bir backend güvenliği (PCI-DSS farkındalığı) ister. Süreç 1 hafta sürer.

Sağlayıcıların Teknik İncelemesi

Türkiye'nin en popüler 3 BDDK onaylı ödeme kurumunu sadece komisyon oranıyla değil, yazılımcı deneyimi ile kıyaslıyoruz.

iyzico (En İyi Dev-Ex ve Abonelik)

Node.js, PHP, Python için resmi SDK'ları var. Dokümantasyonu kusursuzdur. • Abonelik: Recurring billing (tekrarlı ödeme) API'si mükemmel. • Pazar Yeri: iyzico Pazaryeri altyapısı (sub-merchant sistemi), komisyonun kesilip satıcı ile platform arası dağıtımını API seviyesinde çok iyi yönetir. • Eksi: API rate limitleri ve komisyon oranları standart poslara göre bir tık daha serttir.

PayTR (En Yüksek İstikrar ve iframe)

Özellikle Türk B2C standartlarında en yaygın ve risksiz altyapıdır. Sistem Iframe ile çalışmaya tam optimize edilmiştir. • Kart Saklama: Pci-Dss sertifikasına uyumlu şekilde tek tık ödeme (Tokenization) desteği güçlüdür. • Eksi: Özel tasarım API (Direct API) kullanımlarında kurallar çok ağırdır, ön gereksinim (Banka geçmişi, ciro vb) ister.

Sipay ve Diğerleri (Yeni Nesil & B2B Çözümleri)

Açık bankacılıkta (Open Banking) cüzdan ve havale/EFT işlemlerinde inovatif bir API'ye sahipler. • Eşzamanlı Cüzdan ve POS entegre çalışan mobil aplikasyon altyapılarına çok iyi bir altyapı desteği verir.

Güvenlik ve Veri Mimarisi (Webhook ve Callbackler)

Ödeme sistemi entegrasyonu yapan junior yazılımcıların en çok yaptığı hata: Ödeme işlemini sadece ekrandaki dönen yanıta (Response) bağlamaktır!

  • Müşteri kartı girdi, banka mesaj yolladı, şifre girildi ve işlem başarılı oldu... Tam o saniye müşteri internetini kopardı! Tarayıcısı 200 OK yanıtını göremediği için sipariş sisteminizde 'ÖDENMEDİ' kalır, ancak para çekilmiştir.
  • Çözüm: Asenkron Webhook mimarisi. Ödeme başarılı olduğunda, müşteri ekranından bağımsız olarak iyzico/PayTR'nin sunucuları sizin backend API'nizdeki (/api/payments/webhook) adresine bir Server-to-Server istek atar. Sipariş durumu %100 bu gizli tünel üzerinden doğrulanmalıdır.

Abonelik ve Tekrarlayan Ödemeler (Bireysel Kredi Kartı Tutma)

SaaS projeniz varsa, müşteriden her ay para çekmeniz gerekir.

Nasıl Çalışır?

Sitenizde kullanıcının kredi kartı numarasını kendi MySQL/PostgreSQL veritabanınıza **asla, hiçbir koşulda, şifreleyerek dahi kaydetmezsiniz**! (Kanun ihlalidir). Bunun yerine kart detaylarını ödeme sağlayıcısına gönderirsiniz. Onlar da size uzun bir string olan `card_token` (örn: token_A12v3B) verir. Sizin DB'de sadece bu token saklanır. Sonraki ay cron-job (veya cron) bu token ile API'ye istek atar: 'Bu tokendaki karttan 100₺ çek'. Para saniyesinde çekilir.

ORCA'nın Entegrasyon Standartları

ORCA Software ile e-ticaret, mobil veya B2B yazılım geliştirdiğinizde ödeme altyapıları şu standartlarda kodlanır:

  • Hata Loglama Çerçevesi (Global Error Handling), müşteri ne hata aldıysa direkt Discord/Slack üzerinden teknik ekibe iletir.
  • Zero Downtime garantili asenkron Webhook yapı taşları, veritabanı yorulduğunda işlemleri boşa düşürmeyen kuyruk (Queue) sistemi.
  • Uluslararası projelerde tek tuşla Stripe (Global vPOS) geçiş esnekliği yapısı.

Sonuç

Bir ödeme sisteminin kodlaması, projenin en kırılgan bölgesidir. Eksik veya mantık hatalarıyla yazılmış bir API entegrasyonu, hem şirketin maddi kayıplarına (çift ödeme çekilmeleri, iptaller) hem de müşteri itibarının zedelenmesine yol açar. Ödeme API entegrasyonunu sağlam bir yazılım mühendisliği çatısına oturtmak ticari süreklilik için zaruridir.

Mevcut sisteminize iyzico, PayTR veya Stripe bağlamak veya sıfırdan abonelik modelli bir SaaS e-ticaret altyapısı için ORCA'nın ödeme mimarisi ekibiyle temasa geçin.

İletişime Geç

Sık Sorulan Sorular

Entegrasyon süresi (API kodlama) ne kadar sürer?

Eğer firmanız BDDK onay süreçlerini (sözleşmeler vs) tamamlamışsa, basit bir iyzico form entegrasyonunu 1 günde yapar, testlerden geçiririz. Abonelik (Saklı Token) ve Marketplace komisyon dağıtımı mimarisi 3 ila 7 gün sürmektedir.

Tüm sistemlerim için tek API kullanabilir miyim?

Node.js veya .NET ortamında ara bir 'Payment Gateway (Orchestrator)' yazarız. Bu sayede iyzico çökerse otomatik PayTr'den tahsilata geçer. Böylece siz tek API kullanırsınız arka taraf yedeğiyle çalışır.

Sanal POS entegrasyonu SSL Sertifikası şart koşar mı?

Yüzde yüz şarttır. Sayfanızın HTTPS olması teknik başvuru onayı için en temel zorunluluktur.

🏢

ORCA Software Ekibi

Teknoloji ve dijital dönüşüm uzmanları.

WhatsApp ile İletişim