Aller au contenu
Chargement des API keys…

Shield

Gérez les seuils de fraude, la liste de blocage et les statistiques depuis l'API.

Shield attribue un score à chaque paiement live et agit selon ce score. Sous votre seuil de vérification, le paiement passe. Entre les deux seuils, il est placé dans une file de vérification. Au niveau du seuil de blocage ou au-dessus, il est refusé. Ces endpoints lisent et modifient cette configuration.

MéthodeEndpointFonction
GET/shield/settingsLire vos seuils et vos options
PUT/shield/settingsLes modifier
GET/shield/statsÉléments bloqués, vérifiés et contestés ce mois-ci
GET/shield/blocklistLister vos valeurs bloquées
POST/shield/blocklistBloquer une valeur
DELETE/shield/blocklist/{id}La débloquer

Paramètres

GEThttps://api.wajub.com/shield/settings
curl https://api.wajub.com/shield/settings \
-H "Authorization: $WAJUB_API_KEY"
Réponse · 200 OK
{
"code": 200,
"status": "OK",
"settings": {
"enabled": true,
"advanced": false,
"block_threshold": 75,
"review_threshold": 45,
"auto_3ds_enabled": false,
"blocklist_enabled": false,
"sanctions_near_match_action": "review"
}
}
enabledbooleanfacultatif
Indique si vos seuils, votre liste de blocage et vos règles sont appliqués. Consultez la remarque ci-dessous pour comprendre la valeur false.
advancedbooleanfacultatif
Lecture seule. Vaut true lorsque votre plan inclut Shield Advanced, qui débloque la liste de blocage, 3-D Secure automatique et les règles personnalisées.
block_thresholdintegerfacultatif
Un paiement dont le score atteint ou dépasse cette valeur est refusé. Entre 40 et le plafond de la plateforme.
review_thresholdintegerfacultatif
Un paiement dont le score atteint ou dépasse cette valeur est placé dans une file de vérification. Entre 10 et block_threshold moins un.
auto_3ds_enabledbooleanfacultatif
Soumet à 3-D Secure un paiement par carte qui tombe dans votre zone de revue, quand le prestataire de la carte le permet. Un paiement au-dessus de votre seuil de blocage reste refusé. Nécessite Shield Advanced.
blocklist_enabledbooleanfacultatif
Indique si votre liste de blocage est consultée. Nécessite Shield Advanced.
sanctions_near_match_actionstringfacultatif
Ce que devient un payeur dont le nom est proche d'un nom sous sanctions sans l'être : review (par défaut : le paiement part dans votre file de revue) ou block (il est refusé). Sur tous les plans, que enabled soit vrai ou non. Une correspondance exacte est toujours refusée.

Modifier les seuils

Envoyez uniquement les champs à modifier. Les champs absents conservent leur valeur actuelle.

curl -X PUT https://api.wajub.com/shield/settings \
-H "Authorization: $WAJUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "enabled": true, "block_threshold": 70, "review_threshold": 45 }'

Deux règles sont appliquées. Elles ajustent votre valeur au lieu de la refuser.

Un block_threshold inférieur à 40 ou supérieur à 100 renvoie 422. Dans cette plage, il est limité au plafond de la plateforme. Vous pouvez être plus strict que Wajub, jamais moins strict. Un review_threshold hors de la plage 10 à 99 renvoie aussi 422. Dans la plage, il est ramené sous block_threshold afin que la zone de vérification ne soit jamais vide.

Relisez la valeur enregistrée

L'appel PUT renvoie les paramètres réellement enregistrés après l'application du plafond. Si vous envoyez une valeur au-dessus du plafond de la plateforme, la réponse indique la valeur plafonnée. Fiez-vous à la réponse, pas à votre requête.

Liste de blocage

La liste de blocage refuse immédiatement un paiement avant le calcul du score. Cinq types de valeurs peuvent être bloqués :

typestringobligatoire
Une valeur parmi email, phone, ip, country, card_bin.
valuestringobligatoire
La valeur à bloquer, contrôlée selon son type et enregistrée sous une seule forme : une adresse e-mail en minuscules, un téléphone en + suivi de 6 à 15 chiffres, une adresse IPv4 ou IPv6 unique (pas de plage), un code pays ISO 3166-1 alpha-2 en majuscules, un BIN de carte de 6 à 8 chiffres. Toute autre valeur répond 422.
reasonstringfacultatif
Une remarque destinée à votre équipe, jusqu'à 500 caractères. Elle n'est jamais affichée au client.
curl https://api.wajub.com/shield/blocklist \
-H "Authorization: $WAJUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "type": "phone",
  "value": "+237670000000",
  "reason": "Three chargebacks in September"
}'

Chaque écriture renvoie la liste complète. Aucun second appel n'est nécessaire pour actualiser votre vue :

Réponse · 201 Created
{
"code": 201,
"status": "Created",
"message": "Entry added to blocklist.",
"blocklist": [
{
"id": "01JXXXXXXXXXXXXXXXXXXXXXXX",
"type": "phone",
"value": "+237670000000",
"reason": "Three chargebacks in September",
"created_at": "2026-09-14T09:12:44.000000Z",
"updated_at": "2026-09-14T09:12:44.000000Z"
}
]
}

Bloquer deux fois le même type et la même value met à jour le motif de l'entrée existante au lieu de créer un doublon. Vous pouvez donc relancer votre import sans risque, et +237 670 00 00 00 et 237670000000 sont la même entrée. DELETE /shield/blocklist/{id} supprime une entrée et renvoie la liste restante ; un identifiant qui n'est pas l'une de vos entrées répond 404.

Une entrée card_bin bloque les cartes dont les 6 à 8 premiers chiffres correspondent : voir la liste de blocage.

Statistiques

GET /shield/stats couvre le mois calendaire en cours et uniquement le trafic live.

Réponse · 200 OK
{
"code": 200,
"status": "OK",
"stats": {
"blocked_this_month": 14,
"review_this_month": 39,
"open_disputes": 2,
"total_transactions": 4127,
"blocklist_entries": 6,
"block_rate": 0.34
}
}
blocked_this_monthintegerfacultatif
Tentatives de paiement refusées par Shield depuis le premier jour du mois.
review_this_monthintegerfacultatif
Paiements encaissés et envoyés dans votre file de revue depuis le premier jour du mois, une fois chacun.
open_disputesintegerfacultatif
Litiges live non réglés, open ou under_review, toutes périodes confondues.
total_transactionsintegerfacultatif
Paiements live créés depuis le premier jour du mois.
blocklist_entriesintegerfacultatif
Entrées de votre liste de blocage, ou 0 lorsque blocklist_enabled vaut false.
block_ratenumberfacultatif
Pourcentage du total qui a été bloqué, arrondi à deux décimales.

Surveillez le taux de blocage, pas le nombre

Une hausse de blocked_this_month lorsque le trafic augmente est normale. Une hausse de block_rate constitue le véritable signal : elle indique une attaque ou un seuil trop bas qui refuse de vrais clients. Comparez cette valeur à review_this_month avant de modifier un seuil.

Que pensez-vous de ce contenu ?