Authentification
L'API utilise un jeton Bearer (JWT). Vous l'obtenez avec votre email et votre mot de passe API, puis vous l'envoyez dans l'en-tête Authorization de chaque requête.
Obtenir un jeton
POST /login
Ce point d'accès ne demande pas de jeton.
| Champ | Type | Obligatoire | Règles |
|---|---|---|---|
email | string | oui | Contient un @, entre 5 et 255 caractères |
password | string | oui | Entre 6 et 255 caractères |
curl -X POST https://services.moya-pay.com/service/api/v1/login \
-H "Content-Type: application/json" \
-d '{"email": "api@votre-societe.com", "password": "votre-mot-de-passe"}'
Réponse (200)
{
"status": "Success",
"success": true,
"code": 200,
"message": "Login success",
"user": { "email": "api@votre-societe.com", "phone": "0505000000" },
"marchand": { "referencl": "CL-123456", "statut": 1 },
"authorisation": { "token": "eyJhbGciOiJIUzI1NiIs...", "type": "bearer" }
}
| Champ | Description |
|---|---|
authorisation.token | Le jeton à utiliser |
authorisation.type | Toujours bearer |
marchand.referencl | Votre référence marchand (valeur à envoyer dans refercence_cl) |
Utiliser le jeton
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
- Le jeton est valable 5 heures (18 000 secondes). Il n'existe pas de jeton de rafraîchissement : reconnectez-vous quand il expire.
- Le jeton est lié à votre compte. Vous ne pouvez initier des transactions que pour votre
refercence_cl.
astuce
Mettez le jeton en cache côté serveur et renouvelez-le à la première réponse 401, plutôt que d'appeler /login avant chaque transaction.
Erreurs d'authentification
| HTTP | Cas |
|---|---|
400 | Corps invalide (champ manquant, email mal formé, mot de passe trop court) |
401 | Identifiants incorrects, ou compte marchand désactivé (détail dans description) |
401 | Sur les autres routes : jeton absent, expiré ou invalide |
Le détail des formats de réponse est décrit dans Erreurs.