§01Documentation v0.9Mise à jour : 12.04.2026

01 / Installation

Neurolyss fournit un checkout hébergé clé en main, et un SDK JavaScript optionnel pour les marchands qui souhaitent intégrer le checkout au sein de leur propre application. Aucune modification serveur n'est requise pour démarrer.

Via npm

# Installer le SDK Neurolyss
npm install @neurolyss/sdk

# Ou via yarn / pnpm
yarn add @neurolyss/sdk

Via script tag

Pour les sites sans bundler, chargez le SDK via CDN :

<script src="https://cdn.neurolyss.eu/sdk/v0.9/neurolyss.min.js"></script>

02 / Authentification

Toutes les requêtes API utilisent un en-tête Authorization: Bearer. Vos clés sont disponibles dans la console Neurolyss.

# Vérifier l'authentification
curl -X GET https://api.neurolyss.eu/v1/ping \
  -H "Authorization: Bearer $NEUROLYSS_KEY" \
  -H "Content-Type: application/json"

# Réponse
{ "status": "ok", "version": "3.2.1" }

03 / Première décision

Le SDK s'attache à votre champ de paiement Neurolyss (ou à votre intégration PSP existante). Une fois le formulaire soumis, Neurolyss calcule un score puis renvoie la décision avant la confirmation paiement.

const neurolyss = Neurolyss('pk_test_...');
const element = neurolyss.attach('#payment-element');

element.on('decision', (decision) => {
  if (decision.action === 'confirm') {
    psp.confirmPayment({ /* ... */ });
  } else if (decision.action === 'step_up') {
    // 3D Secure step-up
    psp.confirmPayment({ payment_method_options: { card: { request_three_d_secure: 'any' }}});
  } else {
    // Bloqué — afficher message neutre
  }
});

04 / Scoring ML

Notre modèle (XGBoost calibré + uplift CatBoost) renvoie un score entre 0 et 100 sur la base de 146 features extraites en moins de 40 ms.

Seuils par défaut

  • SCORE ≥ 75Confirmation immédiate
  • 50 – 743DS step-up automatique
  • SCORE < 50Blocage ou file manuelle

05 / Webhooks signés

Tous les webhooks sont signés via HMAC SHA-256. La signature est transmise dans l'en-tête Neurolyss-Signature.

// Vérifier une signature webhook
const signature = req.headers['neurolyss-signature'];
const event = neurolyss.webhooks.verify(req.body, signature, 'whsec_...');

if (event.type === 'decision.completed') {
  // Décision rendue · log dans votre DB
}