Skip to main content
Kart Elementleri, kendi tasarladığınız ödeme formuna güvenli bir kart girişi alanı yerleştirmenizi sağlar. Hassas kart bilgileri Tahsilat’ın PCI-DSS uyumlu iframe’i içinde kalır, hiçbir zaman sizin sunucularınızdan geçmez.
Kart Elementleri ile ödeme formunun tamamını siz tasarlarsınız. Tahsilat.com sadece kart numarası, son kullanma tarihi ve CVV alanlarını güvenli bir iframe olarak sağlar. Taksit, bin sorgulama gibi işlemleri sizin yerinize otomatik yapar.

Kurulum ve Kart Elementini Oluşturma

Kart Elementi Oluşturma

Kart elementi, güvenli kart bilgisi toplama alanını sayfanıza yerleştirir. Temel kullanımda sadece tutar ve para birimi yeterlidir. Taksit, stil, placeholder gibi ek özellikler için aşağıdaki bölümlere bakınız.
amount kuruş cinsindendir. 100,00 TL için 10000 olarak girilmelidir. currency belirtilmezse varsayılan TRY kullanılır.

Ödeme Başlatma

Kart bilgileri girildikten sonra confirmPayment metodu ile ödeme başlatılır. Aşağıda farklı senaryolar için örnekler bulunmaktadır.

1. Müşteri Bilgileri ile Ödeme

Ödeme isteği oluşturulurken customer_id gönderilmemesi durumunda her ödeme için müşteri bilgileri tekrar alınır ve yeni bir müşteri oluşturulur. Bu durumda müşteri takibi ve raporlama süreci zorlaşabilir.Üye işyeri arayüzünden ya da Müşteriler sayfasından api aracılığı ile müşteri oluşturarak customer_id parametresini kullanabilirsiniz.

2. Müşteri ID ile Ödeme

Mevcut bir müşteriyi customer_id ile ilişkilendirdiğinizde müşteri bilgileri zorunlu değildir. Müşteri, public key ile oluşturulamaz; sadece secret key ile oluşturulabilir ve JS SDK bunu desteklemez. Bunun için Müşteriler sayfasını kontrol ediniz.

3. Ürün ID’leri ile Ödeme

Önceden oluşturulmuş ürün ID’lerini kullanarak ödeme başlatabilirsiniz. Ürün, public key ile oluşturulamaz; sadece secret key ile oluşturulabilir ve JS SDK bunu desteklemez. Bunun için Ürünler sayfasını kontrol ediniz.

4. Ürün Bilgileri İle Ödeme

5. Müşteri ile İlişkilendirilmiş Ödeme

Mevcut bir müşteriyi ödeme ile ilişkilendirmek için customer_id parametresini kullanabilirsiniz. Bu durumda ödeme esnasında müşteri bilgileri tekrardan alınmaz: Müşteri oluşturmak için Müşteriler sayfasını ziyaret edebilirsiniz.

Ödeme Sonuçlarını Dinleme

Tahsilat.js SDK, ödeme işlemlerinin sonuçlarını event listener’lar aracılığıyla yakalamanızı sağlar. Bu sayede ödeme başarılı, başarısız veya iptal edildiğinde kullanıcıya bilgi verebilir ve gerekli aksiyonları alabilirsiniz.
Eğer ödemeyi pre_auth: true ile başlattıysanız, sonuç aldığınızda is_pre_auth değerini kontrol edin. true dönmesi durumunda ödeme başarılıdır ancak tutar karttan çekilmemiş, yalnızca bloke edilmiştir. Bloke edilen tutarı çekmek için ayrıca ön provizyonu kapatma işlemi yapmanız gerekmektedir.

Yanıt Alanları

Taksit

Kullanıcı kart numarasının ilk 6-8 hanesini girdiğinde SDK otomatik olarak BIN sorgulaması yapar ve taksit seçeneklerini döner. Bu seçenekleri kendi UI’ınızda göstermeniz gerekir.
Taksit seçeneklerindeki installment değeri şifrelenmiş bir değerdir. Bu değeri olduğu gibi installment_count parametresine geçmelisiniz. Düz sayı (1, 2, 3…) göndermeyiniz.

Taksit Akışı

  1. Kullanıcı kart numarasını girer
  2. SDK otomatik BIN lookup yapar
  3. installments eventi tetiklenir
  4. Siz taksit seçeneklerini gösterirsiniz
  5. Seçilen taksitin şifreli installment değerini installment_count olarak göndermelisiniz.

Tam Örnek

Aşağıda taksit seçimi dahil uçtan uca bir ödeme akışı gösterilmektedir. Bu örneği kendi projenize uygun şekilde özelleştirebilirsiniz.

Installments Event Verisi

Özelleştirme

Ödeme parametrelerini önceden tanımlayarak confirmPayment() çağrısını basitleştirebilirsiniz:

Event’ler

confirmPayment() Parametreleri

elements.create() Parametreleri

Ödeme tutarı ile ürünlerin toplam tutarı eşleşmelidir. Aksi takdirde ödeme reddedilir.
Ödeme sonuçlarını almak için confirmPayment promise sonucunu dinleyebilir veya backend tarafında webhook entegrasyonu yapabilirsiniz. Webhook en güvenilir yöntemdir.