iyzico entegrasyonu

Türkiye’de kartla tahsilat, taksit ve abonelik: Hippotenus’un web ödemelerini iyzico ile kurduk ve kendimiz işletiyoruz.

Web uygulamanıza iyzico ile tek seferlik ödeme, taksit ve abonelik ekliyoruz. Hippotenus’un ödemeleri böyle çalışıyor; kart bilgisi sunucumuza gelmiyor.

Son güncelleme:

Bu teknolojiyle geliştirdiklerimiz

Hepsi yayında; mağaza sayfalarına ve ayrıntılara Ürünler sayfasından ulaşabilirsiniz.

Hippotenus

Eğitim kurumları platformu

Abonelikler ve peşin paketler iyzico ile; kart bilgisi iyzico’nun ödeme formunda kalıyor, sonuç sunucuda iyzico’dan yeniden okunup doğrulanıyor.

Ürünü incele

iyzico ne zaman doğru seçim

iyzico, Türkiye’de online ödeme alan işletmelerin kullandığı bir ödeme kuruluşu. Bankalarla tek tek sanal POS sözleşmesi yapmadan Türk kartlarından tahsilat yapmayı, taksit sunmayı ve tekrarlayan ödemeleri (abonelik) tek bir API üzerinden yönetmeyi sağlıyor. Kart bilgisi iyzico’nun ödeme formuna girildiği için kart numarası sizin sunucunuza hiç uğramıyor.

iyzico’nun iyi oturduğu durumlar

  • Türkiye’deki müşterilerden web üzerinden kartla ödeme alıyorsunuz
  • Taksit seçeneği sunmak istiyorsunuz
  • Aylık ya da yıllık abonelik satıyorsunuz ve yenilemelerin kendiliğinden çekilmesini istiyorsunuz
  • Kart bilgisini kendi sunucunuzda tutmak istemiyorsunuz

Başka bir yolu önereceğimiz durumlar

  • Bir mobil uygulamanın içinde dijital içerik ya da abonelik satıyorsunuz: Apple ve Google burada kendi ödeme sistemlerini şart koşuyor
  • Bankanızla zaten uygun koşullu bir sanal POS sözleşmeniz var; doğrudan banka entegrasyonu daha mantıklı olabilir
  • Şirketiniz Türkiye dışında kurulu ve satışınız ağırlıkla yurt dışına; bulunduğunuz ülkede çalışan bir sağlayıcı daha uygun olabilir

Hippotenus’ta iyzico nasıl çalışıyor

Hippotenus’ta iki ödeme modeli var ve ikisi de iyzico üzerinden: abonelik ve peşin ödenen paketler. Abonelikte iyzico’nun abonelik API’sini kullanıyoruz; ürünler ve fiyat planları iyzico’da tanımlı, yenileme çekimini iyzico yapıyor, iptal, plan yükseltme ve kart güncelleme de aynı API’den geçiyor. Peşin paketlerde ödeme formuyla tek çekim ya da taksitli ödeme alıyoruz; sunulan taksit sayısı paketin süresini aşmıyor.

AbonelikPeşin paket
iyzico tarafıAbonelik API’si ve abonelik ödeme formuÖdeme formu (Checkout Form)
ÇekimYenilemede kayıtlı karttan iyzico çekiyorTek çekim ya da taksit
Sonradan yapılanlarİptal, plan yükseltme, kart güncellemeCayma hakkı kapsamında iyzico üzerinden iade
Sunucuya gelen bilgiYenileme, başarısız çekim ve iptal bildirimleriÖdeme sonucu; iyzico’dan token ile yeniden okunuyor

Ödeme kesinleşmeden paketi açmıyoruz

Online ödemede asıl iş, her şeyin yolunda gittiği senaryonun dışında kalan durumlar. Hippotenus’ta bunları şöyle ele alıyoruz:

  • Kullanıcı ödemeden sonra siteye döndüğünde tarayıcının söylediğine güvenmiyoruz: sunucu ödemeyi iyzico’dan token ile yeniden okuyor; sepet numarası, tutar ve para birimi siparişle birebir tutmazsa paket açılmıyor.
  • 3D Secure sırasında sekme kapanır ve dönüş hiç gelmezse, zamanlanmış bir görev yarım kalan siparişleri iyzico’ya soruyor. Ödeme alınmışsa paket aynı doğrulamadan geçerek açılıyor; ödenmemiş siparişler bir süre sonra kapanıyor.
  • iyzico’dan gelen bildirimler kayda geçiyor; aynı bildirim ikinci kez gelirse işlem tekrarlanmıyor.
  • Her ödeme için KDV kırılımını gösteren bir PDF makbuz oluşuyor; iadeler aynı işlem kayıtlarına işleniyor.
  • Kupon, deneme süresi ve plan değişikliğinden önce fark önizlemesi de aynı ödeme katmanının parçası.

iyzico entegrasyonunda kullandığımız araçlar

NestJS

Hippotenus’un API’si. Ödeme kodu ayrı bir faturalama modülünde; iyzico, ödeme sağlayıcısı arayüzünün arkasında duruyor.

iyzipay

iyzico’nun Node.js kütüphanesi. Ödeme formu, abonelik, taksit bilgisi ve iade çağrıları bunun üzerinden.

Prisma ve PostgreSQL

Siparişler, işlemler, abonelik olayları ve iyzico bildirimleri ayrı tablolarda tutuluyor; bir ödemenin geçmişi sonradan izlenebiliyor.

Zamanlanmış görevler

NestJS Schedule ile yarım kalan ödemelerin kontrolü, paket yenileme hatırlatmaları ve plan değişikliklerinin zamanında uygulanması.

React web paneli

iyzico’nun ödeme formu, React ile yazılmış web panelinin içine gömülü olarak açılıyor.

Ödeme test ekranı

Yönetici panelinde iyzico bildirimini taklit eden ve zamanı ileri sarıp yenilemeyi beklemeden deneyen bir test ekranı var.

Bir iyzico entegrasyonu nasıl ilerliyor

  1. 01

    Ücretsiz keşif görüşmesi

    30 dk

    Ne sattığınızı (tek seferlik, taksitli, abonelik), kime sattığınızı ve iyzico hesabınızın durumunu konuşuyoruz.

  2. 02

    Yazılı kapsam ve teklif

    Ödeme modelini, iade ve iptal kurallarını, makbuz ve muhasebe ihtiyacını yazıya döküyoruz.

  3. 03

    Haftalık sürümler

    Her hafta iyzico’nun test ortamında (sandbox) deneyebileceğiniz bir sürüm geliyor; test kartlarıyla başarılı, reddedilen ve yarıda kalan ödemeleri kendiniz görüyorsunuz.

  4. 04

    Test ve canlıya geçiş

    Senior QA ödeme senaryolarını yayından önce test ediyor. Canlı anahtarlara ondan sonra geçiliyor; Hippotenus’ta test anahtarı canlı adresle (ya da tersi) kullanılırsa sunucu açılırken bunu hata olarak kayda geçiriyor.

  5. 05

    Yayından sonraki 30 gün

    30 gün

    Bu sürede çıkan hataları ücretsiz düzeltiyoruz; sonrasında aylık bakımla devam edebilirsiniz.

Süre ve bütçe aralıkları web uygulaması geliştirme ve fiyatlar sayfalarımızda. iyzico hesabı ve sözleşmesi işletmenize ait olur; komisyon ve ödeme koşullarını iyzico ile siz belirlersiniz.

iyzico entegrasyonu hakkında sık sorulanlar

Kart bilgileri sizin sunucunuzdan geçiyor mu?

Hayır. Kart numarası iyzico’nun ödeme formuna giriliyor; Hippotenus’un sunucusu yalnızca ödemenin sonucunu ve iyzico’nun verdiği referansları görüyor. Kart verisini saklama ve koruma yükü böylece iyzico’da kalıyor.

Abonelik yenilemesi başarısız olursa ne oluyor?

iyzico yenileme, başarısız çekim ve iptal bildirimlerini sunucuya gönderiyor; sistem aboneliğin durumunu buna göre güncelliyor. Kullanıcı kartını iyzico’nun kart güncelleme formundan değiştirebiliyor.

Mobil uygulamada da iyzico kullanabilir miyim?

Uygulama içinde satılan dijital içerik ve aboneliklerde Apple ve Google kendi ödeme sistemlerini şart koşuyor; orada RevenueCat ile çalışıyoruz. Fiziksel ürün ya da uygulama dışında verilen bir hizmet satıyorsanız iyzico mobilde de kullanılabilir.

İleride başka bir ödeme kuruluşuna geçebilir miyim?

Ödeme kodunu iyzico’ya doğrudan değil, bir ödeme sağlayıcısı arayüzüne bağlıyoruz. Başka bir sağlayıcı eklemek sipariş, makbuz ve abonelik mantığına dokunmadan, bu arayüzün yeni bir uygulamasını yazarak yapılabiliyor. Yayındaki projelerimizde kullandığımız sağlayıcı iyzico.

İlgili hizmetler

Web uygulamasıÖzel yazılımERP, CRM & entegrasyonMVP
İletişim

iyzico ile ödeme almayı konuşalım

30 dakikalık ücretsiz keşif görüşmesinde ödeme modelinizi, iade kurallarınızı ve abonelik ihtiyacınızı birlikte netleştirelim.