Uber a commencé comme une entreprise de covoiturage et ses systèmes back-end ont été spécialement conçus à cet effet. Les opérations de paiement ont été profondément intégrées dans le cadre du covoiturage, en se concentrant sur l’interaction simple entre les passagers et les conducteurs.
Au fil du temps, cependant, Uber s’est diversifié dans divers secteurs d’activité (LOB) tels que :
Livraison de nourriture et d’épicerie (Uber Eats)
Location de vélos et scooters
Billetterie des transports en commun
Locations de voitures
Autres services visant à améliorer les options de mobilité
Chaque nouveau LOB a construit son système back-end pour prendre en charge sa logique métier unique. Cependant, cette approche a créé des incohérences car les méthodes et fonctionnalités de paiement n’étaient pas prises en charge de manière uniforme dans tous les LOB.
Par exemple:
Il y avait également une duplication des efforts car les fonctionnalités de paiement telles que l’authentification à deux facteurs ou les empreintes digitales des appareils devaient être mises en œuvre plusieurs fois, une fois pour chaque LOB.
Comme prévu, la gestion et la maintenance de plusieurs systèmes de paiement back-end ont augmenté la complexité technique, les coûts et le risque d’erreurs. L’introduction de nouvelles fonctionnalités de paiement ou d’exigences de conformité (par exemple, des mandats réglementaires tels que l’authentification forte des clients dans l’UE) a nécessité des implémentations redondantes sur des systèmes fragmentés, ralentissant la capacité d’Uber à s’adapter et à innover.
Pour vos utilisateurs, lent et bogué sont la même chose. 🐛 Et Sentry vous aide à trouver rapidement les bugs, même ceux qui ne sont pas évidents.
Réduisez le temps consacré aux mauvais appels d’API
Éliminez les opérations de base de données extrêmement coûteuses, inutilement fréquentes ou lentes
Découvrez la source d’un pic de trafic en quelques minutes
Qu’il s’agisse d’une erreur ou d’un ralentissement, Sentry vous aide à résoudre rapidement les problèmes et à assurer le bon fonctionnement de votre application. Parce que si c’est lent, c’est cassé.
Le système de paiement unifié agit comme une couche unique et centralisée pour gérer les paiements sur tous les services Uber.
Consultez le diagramme ci-dessous qui montre une comparaison de l’environnement système avec et sans Unified Checkout :
Certaines fonctionnalités clés du système de paiement unifié sont les suivantes :
Centralisation: Au lieu que chaque LOB (covoiturage, Uber Eats, location de vélos, etc.) gère son système de paiement, tous les LOB se connectent désormais à une seule plateforme.
Élimination de la redondance : Toute nouvelle fonctionnalité de paiement ou exigence de conformité n’est mise en œuvre qu’une seule fois, ce qui rend le processus plus efficace.
Support de paiement cohérent : Les méthodes de paiement telles qu’Apple Pay, Google Pay et les méthodes de paiement locales (PIX, UPI) sont uniformément prises en charge sur tous les services Uber.
Uber a abordé la plateforme de paiement unifié avec un ensemble clair de principes directeurs :
Traitez les LOB comme des entités externes : Le système est conçu pour interagir avec chaque LOB en tant que client indépendant, avec un minimum d’hypothèses sur ses opérations internes. Ce découplage garantit que les modifications dans un secteur d’activité (par exemple, Uber Eats ajoutant de nouvelles fonctionnalités de livraison) n’affectent pas le système de paiement.
Système générique : La plate-forme prend en charge un large éventail de méthodes de paiement (à la fois mondiales et locales) et d’opérations telles que l’authentification à deux facteurs (2FA), la prise d’empreintes digitales des appareils et la récupération d’erreurs. Si un nouveau mode de paiement comme PIX (Brésil) doit être ajouté, il est implémenté une fois dans Unified Checkout, et tous les LOB en bénéficient.
Évolutif : Le système est conçu pour gérer le trafic mondial massif d’Uber et s’adapter aux nouvelles méthodes de paiement ou exigences réglementaires sans changements majeurs.
Examinons maintenant l’architecture du système Unified Checkout. Nous examinerons les composants principaux et comment ils sont déployés.
L’architecture du système Unified Checkout s’articule autour de plusieurs composants interconnectés, chacun servant un objectif spécifique dans le processus de paiement.
Le diagramme ci-dessous montre l’architecture à un niveau élevé.
Examinons différents composants en détail.
Ce composant collecte et traite les données transactionnelles de l’utilisateur.
Il s’intègre aux systèmes tiers tels que les banques et les passerelles de paiement. Par exemple, si un utilisateur choisit de payer via Apple Pay, ce composant échange en toute sécurité des jetons de courte durée avec les systèmes Apple pour authentifier la transaction.
Le système de gestion des risques d’Uber évalue la demande de paiement pour déceler une fraude potentielle ou d’autres risques.
En fonction de l’évaluation, le système peut bloquer temporairement le montant requis sur le compte de l’utilisateur (utilisé lorsque le paiement est finalisé après la prestation, comme une course). Sur la base de cette stratégie, il peut également facturer le montant total avant le début du service.
Il s’agit d’un cadre apatride qui gère les tâches essentielles pour garantir le bon déroulement des transactions.
Il comprend plusieurs tâches telles que :
Vérification de l’identité de l’utilisateur.
S’assurer que le compte appartient à l’utilisateur.
Proposer des actions correctives telles que réessayer de payer ou sélectionner un nouveau mode de paiement.
Ces actions sont conçues pour être génériques et réutilisables dans tous les LOB Uber, rendant le système polyvalent et efficace.
De nombreux systèmes de paiement fonctionnent de manière asynchrone, ce qui signifie que le processeur de paiement peut ne pas fournir de confirmation immédiate.
Ce composant écoute les signaux de confirmation de paiement provenant de systèmes tiers et décide de l’étape suivante.
Si le paiement réussit, il confirme la commande et en informe le LOB.
Si le paiement échoue, il annule la transaction et propose des actions correctives.
Le système Unified Checkout prend en charge deux modèles de déploiement, répondant aux besoins variés des LOB d’Uber.
La version modulaire permet aux LOB d’intégrer des composants prédéfinis du système Unified Checkout directement dans leurs applications et flux de travail.
Voici comment cela fonctionne :
Les systèmes back-end spécifiques au LOB communiquent directement avec le back-end de paiement.
Les actions de paiement telles que 2FA ou les messages d’erreur apparaissent dans l’interface utilisateur du LOB via les réponses du système de paiement.
La charge utile reste opaque pour le LOB, ce qui signifie qu’elle ne peut pas interpréter ou modifier les détails du paiement, garantissant ainsi la sécurité et découplant la complexité.
Voir la capture d’écran ci-dessous qui montre cette fonctionnalité :
Le principal avantage de cette approche est la flexibilité de l’intégration spécifique au secteur d’activité tout en simplifiant les opérations de paiement.
Il s’agit d’une solution prête à l’emploi pour les petits secteurs d’activité ou les nouveaux secteurs verticaux, fournissant un système complet de paiement et de paiement.
Voici comment cela fonctionne :
Le système de paiement hébergé reprend l’interface de l’application lorsqu’un utilisateur initie le paiement.
Il affiche un récapitulatif de la commande, permet aux utilisateurs de sélectionner leur mode de paiement et traite la transaction.
Une fois le paiement effectué, le contrôle est rendu au LOB.
Voir la capture d’écran ci-dessous qui montre une vue récapitulative du paiement hébergé :
Cette solution accélère la mise sur le marché des petites équipes ou des services expérimentaux tout en garantissant une parité complète des fonctionnalités avec les principales méthodes de paiement d’Uber.
Le cadre Checkout Actions est une fonctionnalité clé du système Unified Checkout.
Il gère les étapes nécessaires pour finaliser une transaction et résoudre tout problème au cours du processus. Il s’agit d’un framework sans état, ce qui signifie qu’il ne stocke pas d’informations spécifiques à l’utilisateur entre les actions, garantissant ainsi l’efficacité et l’évolutivité.
Consultez le diagramme ci-dessous qui montre un diagramme de séquence pour les actions de paiement :
Les principales caractéristiques du cadre sont les suivantes :
Générique et Modulaire : Il est conçu pour fonctionner dans tous les secteurs d’activité d’Uber (LOB). Les actions sont flexibles et réutilisables, ce qui les rend adaptables à différents scénarios de paiement.
Types d’actions : Comprend des tâches telles que :
Authentification à deux facteurs (2FA) : Vérification de l’identité de l’utilisateur.
Récupération d’erreur : Guider les utilisateurs à travers les étapes correctives en cas de problème.
Défis identitaires : S’assurer que l’utilisateur est le titulaire légitime du compte.
Collecte de données : Rassembler les détails nécessaires au traitement des paiements.
Les actions de pré-paiement sont des étapes terminées avant la demande de paiement interagit avec le back-end Unified Checkout. Ces actions garantissent que toutes les informations nécessaires sont collectées avant le lancement de la transaction, minimisant ainsi les retards ou les erreurs plus tard dans le processus.
Les actions préalables au paiement sont déterministes, ce qui signifie qu’elles sont connues à l’avance et doivent toujours avoir lieu pour certaines transactions. En les traitant en amont, le système réduit la complexité des opérations ultérieures.
Voici quelques exemples d’actions de pré-paiement :
Sélection d’un mode de paiement : Pour Apple Pay, l’utilisateur doit sélectionner un mode de paiement dans son Apple Wallet avant de continuer.
Empreinte digitale de l’appareil : Capture des détails sur l’appareil de l’utilisateur pour évaluer les risques de transaction.
Génération de jetons : Génère un jeton de courte durée pour une communication sécurisée avec des processeurs de paiement tiers.
Voir la capture d’écran ci-dessous qui montre les actions de pré-paiement :
Les actions post-paiement se produisent après que la demande de paiement a été envoyée au back-end.
Ces actions gèrent la nature imprévisible du traitement des paiements, où les systèmes externes peuvent rejeter ou retarder une transaction. En proposant des actions correctives, le système garantit un taux de récupération élevé et réduit les abandons d’utilisateurs.
Ils sont souvent conditionnels, déclenchés par les résultats du traitement des paiements ou de l’évaluation des risques. Voici quelques exemples d’actions post-paiement :
Gestion des erreurs : En cas de problème (par exemple, fonds insuffisants, carte expirée), le système propose des options de récupération telles que :
Réauthentification du compte de l’utilisateur.
Mise à jour des détails du mode de paiement.
Choisir un autre mode de paiement.
Défis identitaires : Pour les transactions à haut risque, les utilisateurs devront peut-être effectuer des étapes de vérification supplémentaires, telles que la saisie d’un mot de passe à usage unique ou la confirmation de leur identité via des données biométriques.
Flux correctifs : Ces flux sont conçus pour aider les utilisateurs à résoudre efficacement les problèmes. Par exemple, si un paiement est refusé en raison d’un solde faible, les utilisateurs peuvent passer à un autre mode de paiement directement depuis l’application.
Voir la capture d’écran ci-dessous qui montre quelques actions après le paiement :
Imaginez que vous utilisez Uber Eats et que vous essayez de payer avec une carte de crédit. Voici une liste des actions possibles avant et après le paiement qui pourraient être impliquées :
Soumission des transactions : La demande de paiement est envoyée au processeur de paiement.
Actions après le paiement : Si la carte ne dispose pas de fonds suffisants, le système invite l’utilisateur à choisir une autre carte. Si la nouvelle carte fonctionne, la transaction est terminée avec succès.
Le système de paiement unifié a directement amélioré les indicateurs commerciaux clés tels que :
Taux de conversion de paiement : Unified Checkout a amélioré les taux de conversion de paiement de 3 %. Le taux de conversion mesure le nombre d’utilisateurs qui réussissent une transaction. Un taux plus élevé indique moins d’erreurs et une expérience utilisateur améliorée.
Taux de récupération de session : Un taux de récupération de session 4,5 % plus élevé a été observé après l’utilisation du système de paiement unifié. Cette mesure reflète la capacité des utilisateurs à se remettre d’erreurs (par exemple, échecs de paiement ou cartes refusées) et à mener à bien leurs transactions. Cette augmentation signifie que les utilisateurs ont été confrontés à moins de sessions abandonnées.
Impact financier : Ces améliorations des performances se sont traduites par une augmentation brute supplémentaire des réservations estimée à plusieurs centaines de millions de dollars par an. À l’échelle d’Uber, même de petits pourcentages de gains en termes de taux de conversion ou de récupération génèrent des rendements financiers importants.
Prise en charge des paiements mondiaux : Toutes les principales méthodes de paiement mondiales et locales populaires (par exemple, Google Pay, PIX au Brésil, UPI en Inde) sont intégrées de manière transparente.
L’architecture et la mise en œuvre du système Unified Checkout montrent comment des opérations courantes et dupliquées peuvent évoluer vers des plates-formes évolutives. Uber a résolu la dette technique accumulée au cours de sa croissance rapide en créant un système générique qui fonctionne dans tous les secteurs d’activité (LOB).
Cependant, la plateforme Unified Checkout n’est pas une solution statique.
Uber continue d’expérimenter de nouvelles fonctionnalités, des modèles de récupération d’erreur et des méthodes de paiement pour optimiser davantage le système. Cette approche proactive garantit que la plateforme reste pertinente et efficace face à l’évolution des demandes du marché.
Références :
#Comment #Uber #unifié #les #caisses #dans #des #secteurs #dactivité #valant #des #milliards #dollars