
Fiabilité du paiement
Adyen : éviter un double paiement lors d’une nouvelle tentative
Une nouvelle tentative après une coupure réseau doit correspondre à la même opération métier. L’idempotence aide à éviter les doublons mais demande un suivi explicite des demandes et des réponses.
Sources consultées le · Méthode éditoriale de Performance Voyage
Quel rôle dans votre organisation ?
Définissez une opération de paiement distincte du dossier de voyage : un dossier peut recevoir acompte, solde et remboursement. Chaque opération nouvelle reçoit sa propre identité ; la répétition d’une opération conserve la même identité. L’équipe doit distinguer tentative réseau, résultat financier et état de réservation. Un paiement accepté ne confirme pas à lui seul la prestation.
Adyen for Travel figure dans la famille Paiements. Les prix, pays couverts, niveaux de service et droits du compte ne sont pas certifiés par ce dossier. Faites-les préciser dans une proposition datée.
Source officielle de l’entrée ↗ · Retrouver la fiche du répertoire
Ce que les sources documentent
Adyen : API idempotency
Adyen documente idempotency-key pour les requêtes POST, sa réutilisation lors d’une même tentative et l’absence de contrôle de doublons entre points d’accès régionaux simultanés.
Consulter la source 1 ↗Adyen : Currency codes
Le montant exige une devise et une convention d’unité ; certaines précisions diffèrent d’ISO 4217.
Consulter la source 2 ↗La suite propose nos contrôles de sélection : elle ne décrit pas des tests exécutés sur un compte fournisseur. Une documentation peut évoluer ; relisez la version applicable avant de développer ou de signer.
Quatre ensembles de données à rapprocher
| Ensemble | À collecter | Contrôle proposé |
|---|---|---|
| Opération | Identité métier, type et dossier | Distinguer répétition et nouvelle demande. |
| Idempotence | Clé et point d’accès utilisé | Conserver la même clé pour la même opération selon le protocole. |
| Valeur | Montant, devise et convention d’unité | Rapprocher affichage et entier envoyé. |
| Résultat | Référence financière et événements reçus | Retrouver l’état sans relancer un débit. |
Conservez identifiant, source, date et résultat dans le registre de comparaison. Travaillez avec des données anonymisées et les accès de test autorisés.
Un scénario à faire rejouer pendant le pilote
En environnement de test, interrompez la réception de la première réponse puis renvoyez la même opération avec la même clé selon les règles documentées. Comptez les opérations financières obtenues et rapprochez les événements. Testez séparément un nouveau paiement légitime sur le même dossier et une erreur transitoire ; la politique de reprise doit suivre les indications du prestataire.
La répétition contrôlée est identifiée comme telle. Un nouveau paiement reste possible sans réutiliser l’identité de l’ancien. Aucun scénario ne déduit la confirmation du voyage du seul état financier.
Préparez les mêmes exemples pour les autres acteurs de la catégorie Paiements. Comparez les responsabilités et les preuves sur votre tâche, avec la grille d’évaluation et le coût complet.
Erreurs à éviter dans la comparaison
- Créer une clé différente à chaque relance réseau.
- Partager une clé entre l’acompte et le solde.
- Supposer une déduplication entre toutes les régions.
Marquez un point non démontré comme « à confirmer ». Il reste distinct d’un échec observé et d’une fonction annoncée. Une décision fiable peut retenir un périmètre plus restreint si les responsabilités et la reprise sont maîtrisées.
Questions fréquentes
Idempotence signifie-t-elle paiement et voyage confirmés ?
Non. Elle traite la répétition de l’opération couverte ; la réservation et le paiement gardent leurs états et références distincts.
Peut-on relancer toute erreur ?
Appliquez les règles d’erreurs et de reprise actuelles, notamment les indications d’erreur transitoire. Une boucle de relance universelle est insuffisante.
Faut-il une règle pour chaque devise ?
Oui. Vérifiez l’unité et la précision exigées par l’opération ; n’appliquez pas une multiplication par 100 à toutes les devises.