Liste de vérification d'intégration

Conditions préalables

  • Confirmez qu’Affirm a activé votre compte commerçant pour les comptes connectés (communiquez avec votre TAM)
  • Obtenez votre paire de clés d'API publique/privée pour l'environnement cible (le sandbox et la production sont des identifiants distincts)
  • Mettez en place un stockage côté serveur sécurisé et chiffré au repos pour les jetons d’actualisation, indexé par account_linking_id (voir « Schéma de stockage recommandé »)
  • Déterminez une source account_linking_id stable (identifiant de base de données client interne, UUID, etc.) qui ne doit jamais changer pour un client donné
  • Choisissez votre méthode de transmission du jeton d'actualisation : Webhook (recommandé) ou Token Lookup API

Étape 1 : association initiale

  • Ajoutez account_linking_id (Affirm.js) ou account_linking.id (Direct API) à votre appel de création de paiement
  • Si vous utilisez la méthode du lien de rappel HTTP : enregistrez votre point d'accès HTTPS auprès de votre conseiller technique pour l’événement linking_status_changed, et vérifiez qu’il fonctionne.
  • Si vous utilisez l’API de recherche de jeton : appelez POST /api/pba/v1/oauth/token/lookup après le lien de rappel d’annulation ou de confirmation, puis enregistrez le refresh_tokenretourné
  • Enregistrez le refresh_token et son expires_at dans le account_linking_id du client dès sa réception

Étape 2 : échange de jetons pour utilisateur existant

  • Générer la paire PKCE via affirm.checkout.prepareAuth() (Affirm.js) ou l'API Web Crypto (Direct)
  • Appelez POST /api/pba/v1/oauth/token avec le refresh_token enregistré pour obtenir un access_token
  • Stockez de manière atomique le nouveau refresh_token retourné dans cette réponse et supprimez l’ancien; ne réessayez jamais avec un jeton d’actualisation obsolète
  • (Affirm.js seulement) Envoyez une requête POST /api/pba/v1/oauth/session avec le jeton d’accès access_token et le code défi code_challenge pour obtenir un code de session

Étape 3 : passage à la caisse accéléré

  • (Affirm.js) Transmettre le code de session (session_code) dans la méthode affirm.checkout.open()

  • (API directe) Transmettez account_linking.access_token et account_linking.code_challenge dans le Direct

    Requête de passage à la caisse, puis ajoutez code_verifier au redirect_url retourné avant d'y rediriger le navigateur du client

  • Mettez en œuvre le principe du « fail-open » : tout échec lors de l’échange doit basculer vers un processus de paiement standard et non accéléré, sans jamais bloquer le client ni générer d’erreur pour celui-ci

Étape 4 : réassociation et dissociation

  • Gérez les erreurs unauthorized lors de tout échange de jeton ultérieur en supprimant le jeton d’actualisation stocké et en revenant au processus de paiement standard

Étape 5 : tests

  • Passez en revue les scénarios de test dans Fiabilité et tests tant dans un environnement de préproduction que de production

Cette page vous a-t-elle aidé?