Başlarken
Entegrasyon Rehberi

Entegrasyon Rehberi

Bu sayfa parçaları birleştirir. Her adımın kendi ayrıntılı sayfası var; buradaki amaç sıralamayı göstermek.

Anahtarı üretin ve kaydedin

Ed25519 anahtar çifti üretin, public anahtarı panelden kaydedin, kid'i alın. Özel anahtar sunucunuzda kalır.

→ Hızlı Başlangıç

Token katmanını yazın

Uygulamanızda tek bir yerde toplansın: kanonik dizeyi kuran, imzalayan, token'ı basıp önbellekte tutan bir modül. Diğer her çağrı bu modülden token ister.

Bunu bir kez doğru yazarsanız tüm ürünlerde çalışır — kimlik doğrulama katmanı ortaktır.

⚠️

İlk entegrasyonların en sık takıldığı yer burasıdır. Gövdesiz istekte kanonik dizeye Digest: satırını eklememeniz ve crypto.sign'ın ilk argümanının null olması gerekir. → Kimlik Doğrulama

Tarayıcı telemetrisini bağlayın (opsiyonel)

Cihaz ve davranış sinyallerini toplamak istiyorsanız Identity Web SDK'sını sayfanıza ekleyin. Headless'tır — mount edilecek bir widget yoktur.

<script src="https://cdn.lunixi.com/lunixi-identity.min.js"></script>
const client = await Lunixi.identity.init({
  sessionBootstrapUrl: '/lunixi/identity/session',
  subjectId: 'cus_8f2a9c',
  productContext: 'checkout',
});
const snapshot = await client.analyze();

sessionBootstrapUrl sizin sunucunuzdaki bir uçtur; oturum token'ını orada basarsınız. Secret key sayfaya hiç inmez.

🚫

SDK fail-open değildir: init(), analyze() veya track() başarısız olursa hata fırlatır — sessizce "geçti" dönmez. Yedek davranışı siz kurgularsınız.

→ Identity Web SDK

Kararı doğru anda alın

Fraud kararını parayı çekmeden önce isteyin. Elinizde ne bağlam varsa gönderin — motor yalnız aktif kurallarının başvurduğu alanları okur.

POST /api/v1/fraud/decisions/evaluate

Dönen karara göre davranın:

KararNe yaparsınız
allowÖdemeye devam
force_3d3DS'e yükseltin
reviewİncelemeye alın, parayı çekmeyin veya bekletin
blockReddedin

→ Karar API'si

Geçmişe dayanan kurallar için olay besleyin

Hız (velocity) ve temel çizgi sapması gibi kurallar tek işleme bakarak çalışamaz. "Bu müşteri son 24 saatte 12 işlem yaptı" bilgisi olay omurgasından gelir:

POST /api/v1/fraud/events/transactions      (tekli)
POST /api/v1/fraud/events/transactions/batch (toplu)
⚠️

Bu uçlar Ed25519 imzalıdır, Bearer değil. Olay beslemezseniz hazır şablonların büyük kısmı hiç tetiklenmez.

İzi saklayın

Her karar yanıtındaki requestId'yi ve kararın gerekçesini (code, reasonCodes, flowPath) kendi kaydınıza yazın. İtiraz, denetim ve destek talebinde bunlar aranır.

Webhook'ları kurun

Endpoint'inizi oluşturun, imza secret'ını kasanıza alın, doğrulamayı yazın. İlk sürümde tek işi: imzayı doğrulayın → kuyruğa yazın → 2xx dönün.

→ Webhook Kurulumu

Akışınızı yayınlayın

🚫

Kural yayınlamadan canlıya çıkmayın. Yapılandırılmamış merchant allow almaz — fraud.decision.unconfigured koduyla politika varsayılanı (tipik review) döner. Trafiğin tamamı incelemeye düşer.

→ Akışlar ve Çözümleme

Canlıya çıkış kontrol listesi

  • Özel anahtar secrets manager'da; depoda ya da imajda değil
  • Token önbelleğe alınıyor, her çağrıda basılmıyor
  • Authorization başlığı loglanmıyor
  • Hata dallanması code üzerinden — message üzerinden değil
  • requestId kendi loglarınıza yazılıyor
  • Tutarlar minör birim tam sayı olarak gönderiliyor
  • Ödeme oluşturmada Idempotency-Key işleme bağlı üretiliyor
  • Webhook imzası doğrulanıyor ve x-lunixi-event-id ile idempotent
  • Biz erişilemezken ne olacağı karara bağlanmış (fail-open / fail-closed / kuyruk)
  • Fraud akışı yayınlanmış ve gölge modda gözlenmiş
  • force_3d kararı gerçekten 3DS'e yükseltiyor

İlgili