Aller au contenu principal

Méthode OAuth — authentification

Méthode OAuth · étape 1 sur 2. Vous obtenez ici un jeton, puis vous créez un paiement. Vous préférez signer chaque requête sans jeton ? Voir la méthode HMAC.

L'API Pay by Bank Link en mode OAuth utilise OAuth2 client credentials. Vous échangez vos identifiants partenaire contre un jeton d'accès Bearer, que vous présentez ensuite sur les endpoints de paiement.

Obtenir un jeton

POST /partners/oauth/token
En-têteRequisValeur
Content-TypeOuiapplication/x-www-form-urlencoded
AuthorizationNonBasic <base64(client_id:client_secret)> (alternative au formulaire)

Paramètres du formulaire :

ChampRequisValeur
grant_typeOuiclient_credentials (seule valeur acceptée)
client_idOui (si pas de Basic)Votre identifiant client
client_secretOui (si pas de Basic)Votre secret client

Exemple

POST /partners/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id=VOTRE_CLIENT_ID&client_secret=VOTRE_CLIENT_SECRET

Réponse

{
"access_token": "<jwt>",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "payments:create payments:read"
}
  • expires_in est exprimé en secondes (par défaut 3600).
  • scope liste les autorisations accordées : payments:create (créer un paiement) et payments:read (lire un paiement).

Utiliser le jeton

Les endpoints /partners/payments exigent le jeton dans l'en-tête :

Authorization: Bearer <access_token>

Une requête sans en-tête Bearer valide est rejetée en 401 (NO_BEARER_PROVIDED). Un jeton expiré ou altéré est rejeté en 401. Renouvelez le jeton avant son expiration (expires_in).

Scopes

ScopeAutorise
payments:createPOST /partners/payments
payments:readGET /partners/payments/{paymentRequestId}

Un appel hors du périmètre du jeton est rejeté en 403 (Insufficient scope).

Erreurs d'authentification courantes

HTTPMessageCause
400unsupported_grant_typegrant_type différent de client_credentials
401invalid_clientIdentifiants absents, Basic invalide, client inconnu ou secret invalide
403Credential is inactiveIdentifiant désactivé
403Credential expiredIdentifiant expiré
403Application is not activeApplication non active
403Partner is not approvedPartenaire non approuvé

La référence complète figure sur la page Erreurs.