Skip to main content
Tahsilat.js SDK, herhangi bir backend altyapısı gerektirmeden, doğrudan tarayıcı üzerinden güvenli ödeme işlemleri başlatmanıza olanak tanır. SDK, PCI-DSS uyumlu ödeme formlarını iframe veya redirect yöntemiyle entegre etmenizi sağlar.
Tahsilat.js, modern web uygulamalarında ödeme entegrasyonunu kolaylaştıran güçlü bir JavaScript SDK’dır. Hassas kart bilgilerinin hiçbir zaman sunucularınızdan geçmemesini sağlayarak PCI uyumluluk yükünüzü minimize eder.
Entegrasyon sürecinde hata takibi için tarayıcı konsolunu takip ediniz.
Ödeme tutarı ile ürünler arasındaki toplam tutarın eşleşmesi gerekmektedir. Aksi takdirde, ödeme reddedilir.
Tahsilat JS sadece “Public Key” ile çalışır. Entegrasyon aşamasında isterseniz herhangi bir div elementine ödeme formunu yerleştirebilir ya da redirectToPayment metodu ile direkt ödeme sayfasına yönlendirebilirsiniz. Ödeme formu, Tahsilat.js SDK tarafından sağlanan payment elementi ile oluşturulur.

1. Direkt Ödeme

Ürün ya da müşteri bilgisi belirtmeden doğrudan ödeme isteği tanımlayabilirsiniz:

2. Doğrudan Ürün Bilgileri ile Ödeme

Ürün bilgilerini doğrudan ödeme isteği içerisinde tanımlayabilirsiniz:

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

Önceden oluşturulmuş ürünlerin ID’lerini kullanarak ödeme başlatabilirsiniz bu durumda ürünleriniz hakkında raporlama ve analiz yapabilirsiniz: Ürün oluşturmak için Ürünler sayfasını ziyaret edebilirsiniz.

4. 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.

5. Direkt Ödeme Yönlendirme

Tahsilat.js SDK, ödeme işlemlerini doğrudan Tahsilat ödeme sayfasına yönlendirme sunar. Bu yöntem, iframe kullanmadan, kullanıcıyı Tahsilat ödeme sayfasına yönlendirerek ödeme işlemini başlatmanızı sağlar.
Ö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.
Ödeme sonuçlarını alabilmek için backend tarafında Tahsilat API ile entegre olabilir ya da direkt post message sonuçlarını dinleyebilirsiniz. Webhook olayları en güvenilir yöntemdir.

Ö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ı

Zorunlu ve İsteğe Bağlı Parametreler

integer
Ödeme ile ilişkilendirilecek müşteri ID’si. Bu parametre isteğe bağlıdır, ancak müşteri takibi için önerilir.
integer
required
Ödeme tutarı, kuruş cinsinden belirtilmelidir. Örneğin, 10.00 TL için 1000 olarak girilmelidir. Son 2 hane her zaman kuruş olarak kabul edilir.
string
required
Ödeme para birimi. 3 haneli ISO 4217 kodu olarak belirtilmelidir (örn. “TRY” - Türk Lirası). Varsayılan değer “TRY”dir.
bool
Ödeme ön provizyon olarak başlatılacaksa true, normal ödeme için false olarak belirtilmelidir. Varsayılan değer false’dir.
array
required
Ödeme ile ilişkilendirilecek ürünlerin bilgilerini içeren JSON string formatında dizi. Eğer product_ids gönderilmiyorsa, bu parametre zorunludur.Format: JSON string olarak gönderilmelidir.Ürün alanları:
  • product_name (string, zorunlu): Ürün adı
  • price (integer, zorunlu): Ürün fiyatı (kuruş cinsinden)
  • description (string, isteğe bağlı): Ürün açıklaması
Örnek:
Birden fazla ürün:
array
required
Ödeme ile ilişkilendirilecek ürünlerin ID’lerini içeren dizi. Eğer products gönderilmiyorsa, bu parametre zorunludur. Her ürün için Tahsilat API’de önceden oluşturulmuş ürün ID’leri kullanılmalıdır.
array
Ödeme ile ilişkilendirilecek ek verileri içeren dizi. Bu parametre isteğe bağlıdır, ancak ödeme raporlaması için önerilir. Örneğin, müşteri türü gibi bilgiler burada saklanabilir.
string
Ödeme ile ilgili açıklama. Bu parametre isteğe bağlıdır ve ödeme hakkında ek bilgi sağlamak için kullanılabilir.