Identité
Vérifiez la somme de contrôle d'un IBAN et déterminez le canal d'un numéro mobile.
Identité vérifie une destination avant que vous lui envoyiez des fonds. Elle propose deux endpoints
POST, synchrones et sans effet secondaire.
| Méthode | Endpoint | Fonction |
|---|---|---|
POST | /identity/validate | Vérifie la structure, la longueur et la somme de contrôle mod-97 d'un IBAN. |
POST | /identity/resolve | Détermine le canal et le titulaire du compte d'un numéro mobile. |
Deux conditions s'appliquent
Identité nécessite une clé privée (sk.) ou une clé restreinte avec identity.write, ainsi que
le plan Growth, Scale ou Enterprise. Pay as you go reçoit une réponse 403 qui demande une mise à
niveau.
Valider un IBAN
L'appel vérifie le format de l'IBAN, sa longueur pour le pays et sa somme de contrôle mod-97. Une réponse valide signifie que l'IBAN est bien formé, pas que le compte existe.
https://api.wajub.com/identity/validateibanstringobligatoiretypestringfacultatifiban est acceptée aujourd'hui.curl https://api.wajub.com/identity/validate \
-H "Authorization: $WAJUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "iban": "FR14 2004 1010 0505 0001 3M02 606" }'La réponse est plate, sans enveloppe. iban est renvoyé sous une forme normalisée, celle que vous
devez enregistrer :
Lorsque l'IBAN est refusé, message indique le motif que vous pouvez directement afficher à
l'utilisateur :
Les cinq messages possibles :
message | Cause |
|---|---|
IBAN is too short. | Moins de quatre caractères. |
IBAN format is invalid (expected 2 letters, 2 digits, then alphanumeric). | Format incorrect. |
IBAN length must be N characters for country XX. | Pays connu, longueur incorrecte. |
IBAN length must be between 15 and 34 characters. | Pays absent de notre tableau des longueurs. |
IBAN checksum is invalid. | Format et longueur corrects, échec de mod-97. |
Un refus renvoie toujours 200
valid: false est un appel réussi avec une réponse négative, pas une erreur. Adaptez le traitement
à valid, pas au code de statut.
Identifier un numéro mobile
La résolution reçoit un numéro et un canal, puis renvoie le moyen de paiement qu'elle créerait : le
canal déterminé, un identifiant provisoire du moyen de paiement et le nom du titulaire du compte.
issuer est présent uniquement lorsque le canal en enregistre un. Gérez donc son absence.
https://api.wajub.com/identity/resolveaccount_numberstringobligatoirechannelstringobligatoirecm.mtn ou cm.orange, ou cm.mobile pour laisser Wajub choisir entre les deux à partir du numéro.countrystringobligatoiretypestringobligatoiremobile est acceptée aujourd'hui.curl https://api.wajub.com/identity/resolve \
-H "Authorization: $WAJUB_SANDBOX_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_number": "670000000",
"channel": "cm.mobile",
"country": "CM",
"type": "mobile"
}'Ici, le préfixe du numéro a permis de résoudre cm.mobile en cm.mtn :
Un numéro dont l'opérateur ne peut pas être identifié renvoie 422 :
La résolution fonctionne uniquement dans la sandbox
En mode live, POST /identity/resolve répond avec 501 Not Implemented et
Identify resolve is only available in sandbox. Use a sandbox API key. En sandbox, l'appel renvoie un
nom de titulaire temporaire : construisez votre intégration avec, mais n'affichez pas ce nom à un
client.
POST /identity/validate ne possède pas cette restriction et fonctionne de la même manière dans
les deux environnements.