Disclaimer : cet article est une synthèse basée sur des informations publiquement partagées par Airbnb Engineering. Si vous repérez une imprécision, indiquez-la et je la corrigerai.
Pendant longtemps, les cartes crédit/débit ont pu suffire. Dans plus de 220 pays, ce modèle montre ses limites : dans plusieurs régions, la carte n'est pas la norme, ou n'est tout simplement pas accessible pour une partie des utilisateurs.
L'objectif formulé côté produit est simple ; l'exécution ne l'est pas : livrer une vingtaine de moyens de paiement locaux en environ quatorze mois, sans transformer chaque partenaire en projet sur-mesure irrépétable.
Local Payment Methods : définition et levier produit
Les LPM recouvrent des réalités variées : portefeuilles numériques, virements ou schémas instantanés (QR, push), réseaux régionaux, etc. Ce n'est pas un bloc homogène, mais une famille de parcours utilisateur et de contraintes réglementaires.
L'intérêt, côté business et UX, est direct :
- •mieux convertir au checkout en proposant une méthode familière
- •ouvrir des marchés où la carte n'est pas dominante
- •réduire la friction pour les utilisateurs sans carte utilisable
D'après le récit public, Airbnb a d'abord cartographié un très large périmètre de méthodes possibles, puis a priorisé un sous-ensemble par marché, avec une logique pragmatique : privilégier l'impact plutôt que l'exhaustivité.
Moderniser la plateforme avant d'empiler les intégrations
Le point central n'est pas « brancher encore un PSP », mais réduire le coût du changement. Un socle monolithique fortement couplé rend chaque ajout lent, risqué (régressions) et difficile à paralléliser entre équipes.
La direction décrite publiquement consiste à réorganiser le paiement autour de domaines et de capacités (encaissement, décaissement, traitement, registre, wallet, etc.). C'est un investissement structurel : il paie surtout quand le rythme d'intégration et la fiabilité deviennent critiques.

Décomposition par domaines / capacités - structure indicative.
MST : des transactions multi-étapes agnostiques du PSP
Beaucoup de LPM ne suivent pas le schéma « une autorisation carte et c'est fini ». Il faut souvent enchaîner redirection, authentification forte, scan, reprise de session ou attente d'une confirmation asynchrone.
Pour éviter une branche spécifique par partenaire, Airbnb décrit un cadre de Multi-Step Transactions (MST) : le PSP exprime ce dont l'utilisateur a besoin sous forme d'actions, et la plateforme orchestre les transitions d'état (par exemple un statut du type « action requise »). L'enjeu est la composabilité : les mêmes briques servent à plusieurs méthodes.
Exemple d'enveloppe illustrative (schéma simplifié, pas une API réelle) :
{
"actionType": "redirect",
"actionParameters": {
"redirectUrl": "https://...",
"method": "GET"
}
}Trois familles de parcours
Plutôt que vingt implémentations uniques, le récit public regroupe les comportements en quelques flows de base, chacun avec ses exigences de sécurité et de reprise d'état.
1. Redirect
L'utilisateur quitte temporairement l'app Airbnb pour finaliser le paiement chez le PSP, puis revient via un mécanisme de reprise. Le cœur du problème est la cohérence de session, la validation du retour et la gestion des états intermédiaires.
2. Asynchrone (webhook)
Le paiement se confirme côté réseau local (QR, push, etc.) ; Airbnb reçoit la décision plus tard, typiquement via webhook. La complexité se déplace vers l'idempotence, la charge des callbacks et la corrélation avec la transaction interne.
3. Direct
Les données sont saisies dans l'interface Airbnb et la réponse est immédiate, sur un modèle proche de la carte. Utile quand le PSP le permet et quand l'UX doit rester « in-app ».
Ce découpage est un compromis conscient : on accepte la complexité d'un moteur d'orchestration pour éviter l'explosion de chemins ad hoc.

Orchestration multi-étapes : gestion de l'« action requise » et reprise de flux (redirect, QR, etc.).
Intégration pilotée par la config : YAML comme source de vérité
Pour industrialiser l'onboarding d'une nouvelle méthode, la variabilité (éligibilité, champs obligatoires, règles de remboursement, type de flow, etc.) est centralisée dans une Payment Method Config, décrite publiquement comme du YAML servant de contrat partagé entre équipes et systèmes.
Le gain attendu : moins de logique dupliquée entre front et back, moins d'erreurs de désalignement, et une intégration plus déclarative. Airbnb va plus loin en dérivant par génération de code (DTO, énumérations, schémas, échafaudage) à partir de cette config, pour accélérer la mise en production et réduire les oublis de cas limites.

Avant / après - Payment Method Config (YAML) comme source de vérité partagée.
Widget dynamique : champs et validation pilotés par le backend
Les LPM exigent souvent des champs spécifiques (identifiants fiscaux locaux, formats de compte, etc.). Plutôt que de figer ces formulaires dans chaque client mobile ou web, la plateforme peut pousser une spécification (champs, contraintes, messages d'erreur). Le front se contente alors d'interpréter.
Trade-off : plus de flexibilité opérationnelle et moins de releases client pour chaque méthode ; en contrepartie, contrat API plus riche, garde-fous sur la compatibilité et la surface de test élargie.

Exemple d'UX : carte Visa et méthode locale alternative (Pix) sur le même écran.

Pix : flux décrit par la config (méthode, champs, règles de validation).
Tests : émulateur PSP pour un terrain réaliste
Tester chaque méthode « en vrai » est souvent impossible pour un développeur : comptes bancaires, contraintes pays, dépendance aux environnements partenaires. L'approche décrite passe par un émulateur de PSP (redirections, webhooks planifiés, scénarios d'acceptation ou de refus contrôlés), afin de rapprocher les tests d'un parcours bout-en-bout sans accès à tous les wallets du monde.
Coût : construire et maintenir cet outil ; bénéfice : détecter plus tôt les régressions sur des chemins déjà fragiles par nature.

Émulateur PSP pour tests end-to-end réalistes.
Observabilité : plusieurs couches, alertes homogènes
Multiplier les méthodes multiplie les chemins d'exécution. Sans télémétrie alignée, les régressions n'apparaissent qu'en production ou trop tard dans le cycle.
Le récit public insiste sur une instrumentation en couches (client, backend paiement, appels PSP, webhooks) et sur des règles d'alerte standardisées (volumes, taux d'échec, fenêtres temporelles). L'objectif : qu'une nouvelle méthode soit « observable by default », plutôt que chaque équipe réinvente ses dashboards.
Ce que j'en retiens
Cette trajectoire est un pari plateforme : MST, config centralisée et codegen, UI dynamique, émulateur, observabilité et gouvernance de déploiement. Ce n'est pas gratuit en complexité organisationnelle ni en maintenance.
L'approche se justifie surtout lorsque :
- •le checkout est critique pour le business
- •la diversité réelle des méthodes et des flows est élevée
- •il faut livrer vite sans sacrifier la fiabilité perçue
Dans un périmètre plus restreint (peu de méthodes, un PSP qui couvre l'essentiel, tolérance au manuel), une architecture plus simple peut rester le meilleur rapport coût / risque.
Référence
Airbnb Engineering : « Pay as a Local ».
Écrit par
Youssef LAIDOUNI
Ingénieur Full Stack | Java • Angular • PHP | APIs, MVP, Performance & Automatisation