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.
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.
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/evaluateDönen karara göre davranın:
| Karar | Ne yaparsınız |
|---|---|
allow | Ödemeye devam |
force_3d | 3DS'e yükseltin |
review | İncelemeye alın, parayı çekmeyin veya bekletin |
block | Reddedin |
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.
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.
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
-
Authorizationbaşlığı loglanmıyor - Hata dallanması
codeüzerinden —messageüzerinden değil -
requestIdkendi loglarınıza yazılıyor - Tutarlar minör birim tam sayı olarak gönderiliyor
- Ödeme oluşturmada
Idempotency-Keyişleme bağlı üretiliyor - Webhook imzası doğrulanıyor ve
x-lunixi-event-idile 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_3dkararı gerçekten 3DS'e yükseltiyor
İlgili
- Hızlı Başlangıç — çalışan imzalama kodu
- En İyi Uygulamalar — üretimde nelere dikkat edilir
- Hata Yönetimi — zarf, kodlar, yeniden deneme