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_idstable (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) ouaccount_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/lookupaprès le lien de rappel d’annulation ou de confirmation, puis enregistrez lerefresh_tokenretourné - Enregistrez le
refresh_tokenet sonexpires_atdans leaccount_linking_iddu 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/tokenavec lerefresh_tokenenregistré pour obtenir unaccess_token - Stockez de manière atomique le nouveau
refresh_tokenretourné 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/sessionavec le jeton d’accèsaccess_tokenet le code déficode_challengepour 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éthodeaffirm.checkout.open() -
(API directe) Transmettez
account_linking.access_tokenetaccount_linking.code_challengedans le DirectRequête de passage à la caisse, puis ajoutez
code_verifierauredirect_urlretourné 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
unauthorizedlors 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
Mis à jour 11 days ago
Cette page vous a-t-elle aidé?