Ana içeriğe atla
Ödeme entegrasyonunda en önemli ayrım, ödeme kaydının sahibi ile ham kart verisini işleyen bileşenin aynı olmamasıdır. Tahsil Core API payment intent, routing ve durum kayıtlarını tutar; kartın tamamını veya CVC’yi kabul etmez.

Bileşenlerin sorumluluğu

Güvenli veri akışı

  1. Merchant backend, POST /payments/intents ile tek kullanımlık oturumu oluşturur.
  2. Backend, clientSecret değerini yalnız ilgili ödeme sayfasına verir.
  3. Tarayıcı, kartın ilk sekiz hanesiyle uygun taksit seçeneklerini öğrenir.
  4. Kartın tamamı ve CVC yalnız kart işleme katmanına gönderilir.
  5. Core API yalnız güvenli kart metadata’sını, seçilen oranı ve ödeme durumunu saklar.
  6. Merchant backend kesin sonucu intent endpoint’inden veya imzalı webhook’tan alır.
Kart numarasını veya CVC’yi kendi backend’inize, analytics aracınıza, hata izleme sisteminize ya da uygulama loglarınıza göndermeyin. Form state’ini kalıcı browser storage içinde tutmayın.

Origin ve dönüş URL’si

İzinli ödeme origin’lerini PUT /payments/settings üzerinden tanımlayın. Intent içindeki returnUrl bu allowlist ile aynı origin’e sahip olmalıdır. Path ve query farklı olabilir; protokol, hostname ve port eşleşmesi gerekir. Production webhook URL’si HTTPS kullanmalı ve public bir hedefe çözülmelidir. Localhost, private IP veya URL içine gömülü kullanıcı bilgisi kabul edilmez.

Yetki ayrımı

POS, credential, oran ve ödeme ayarları yalnız Bearer oturumlu tenant admin veya operator tarafından yönetilir. Ödeme işlemleri için API credential scope’ları ayrıdır:
  • payments:read: intent listeleme ve durum okuma
  • payments:write: intent oluşturma ve iptal
  • payments:refund: tam veya kısmi iade
Bu ayrım sayesinde ödeme alan uygulama POS credential’larını yönetme yetkisi almaz.