Checkout agentique

Le checkout agentique est l’étape de finalisation d’un achat par un agent IA : machine d’état de session, jetons de paiement limités, interventions humaines, webhooks de commande et question encore ouverte des litiges.

Première publication : 3 juil. 2026 · Dernière mise à jour : 8 août 2026 · Advanced
Langues

La finalisation agentique est la capacité de terminer un achat par un système d’IA au nom d’un client. C’est un composant d’ACP et d’UCP, pas un protocole autonome. Techniquement, il s’agit d’une machine d’état : ACP fait passer la session par plusieurs étapes. not_ready_for_payment — état initial ready_for_payment — paiement possible requires_escalation ou authentication_required — intervention nécessaire completed — commande terminée ; UCP suit une forme similaire. Les états d’escalade sont le point où une personne autorise encore une connexion, une vérification 3DS, une adresse ou une approbation B2B. Le paiement utilise des jetons limités au marchand, au montant, à la durée et à un usage unique. La confirmation arrive par des notifications HMAC signées contenant l’objet de commande complet. Le marchand reste responsable du règlement, des remboursements et des litiges, mais la preuve d’un litige initié par un acheteur assisté par IA reste réellement non résolue à mi-2026. L’adoption est encore précoce.

TL;DR — Le checkout agentique est la capacité transactionnelle du commerce par agents : créer, mettre à jour, terminer ou annuler une session, déléguer le paiement et confirmer la commande. C’est un composant d’ACP et d’UCP, pas un protocole autonome. Sa colonne vertébrale technique est une machine d’état : ACP passe de not_ready_for_payment à ready_for_payment, puis à requires_escalation ou authentication_required si nécessaire, avant completed, en miroir de incompleterequires_escalationready_for_complete dans UCP. Les états d’escalade sont le point d’intervention humaine. Les paiements délégués utilisent des jetons limités au marchand, au montant, à la durée et à un seul usage. Les webhooks de commande HMAC signés contiennent l’objet complet. Le marchand reste responsable du règlement, des remboursements et des litiges ; la preuve nécessaire pour un litige impliquant un acheteur-agent reste ouverte. Testez l’idempotence, la signature des webhooks et toutes les voies d’escalade avant l’activation.

Evidence for this claim OpenAI's commerce specification models checkout as a stateful API flow with explicit completion and escalation states. Scope: OpenAI commerce implementation; other agentic checkout systems may use different state names. Confidence: high · Verified: OpenAI Commerce: Checkout specification Evidence for this claim OpenAI's delegated-payment specification uses scoped payment tokens and keeps the merchant as merchant of record. Scope: OpenAI delegated-payment flow, not a guarantee that every agentic checkout implementation handles payment identically. Confidence: high · Verified: OpenAI Commerce: Payment specification

Périmètre : l’étape transactionnelle, pas tout le protocole

Le checkout agentique est une capacité. Dans ACP, c’est le bloc Agentic Checkout, l’un des cinq avec Product Feed, Delegate Payment, Delegate Authentication et Orders/Webhooks. Dans UCP, c’est la capacité de checkout au sein d’une spécification plus large négociée par capacités. Les articles ACP et UCP couvrent le contexte voisin — qualité du flux, profil /.well-known/ucp et implications du virage de mars 2026. Ici, l’objectif est de terminer la transaction : cycle de session, délégation du paiement, intervention humaine, confirmation de commande et responsabilité.

Un point à reprendre de l’article ACP sans le redémontrer : les agents transactent avec des flux et des API, pas avec votre HTML exploré. On optimise donc la fiabilité du checkout, pas le texte des pages.

La machine d’état de la session de checkout

Le point le plus important, souvent oublié, est qu’un checkout est une session avec un statut et que ce statut avance dans une machine définie.

La référence Checkout d’ACP liste les statuts incomplete, not_ready_for_payment, requires_escalation, authentication_required, ready_for_payment, pending_approval, complete_in_progress, completed, canceled, in_progress et expired. Le chemin heureux est court : not_ready_for_paymentready_for_paymentin_progresscompleted, avec canceled comme autre état terminal. Ajouter une option de livraison obligatoire fait passer la session de not_ready_for_payment à ready_for_payment ; un paiement échoué peut revenir à ready_for_payment pour une nouvelle tentative.

Les états intéressants sont ceux qui sortent du chemin heureux :

  • requires_escalation / authentication_required — l’agent ne peut pas continuer seul ; une personne ou une vérification supplémentaire est nécessaire.
  • pending_approval — une approbation est attendue, par exemple pour un bon de commande B2B.
  • expired — la session a expiré (CheckoutSession contient expires_at).

UCP suit une conception sous-jacente comparable : incompleterequires_escalationready_for_complete, avec un continue_url qui rend la main à l’acheteur. Deux protocoles, un même schéma : un checkout ne peut pas toujours se terminer sans demander quelque chose à un humain. Ce n’est pas une limitation ajoutée après coup, mais la forme centrale du design.

Escalation is a first-class checkout state: the agent pauses, a human completes the required step, and the same session resumes. Source : Agentic Commerce Protocol

The happy path assembles the cart and fulfillment choice, becomes ready for payment, processes a scoped payment token, and completes. When a step-up is needed, the session enters requires escalation or authentication. A human completes login, 3-D Secure, or approval, then the session resumes at payment processing.

© Patrick Stox LLC · CC BY 4.0 ·

Un point pratique pour toute intégration ACP : une requête mal formée renvoie un objet d’erreur au niveau HTTP (type égal à invalid_request, request_not_idempotent, processing_error ou service_unavailable). En revanche, un problème de logique métier dans une session valide revient dans un objet MessageError du tableau messages[], pas comme erreur HTTP. Il faut gérer les deux, car ils sont faciles à confondre au début d’une intégration.

Comment fonctionne la délégation du paiement ?

Le but de la couche de délégation est que les données brutes de carte n’atteignent jamais l’agent. Au lieu de transmettre un numéro de carte, les informations de paiement sont transformées en jeton limité.

Selon la spécification de paiement délégué d’OpenAI, la charge utile est envoyée directement au PSP ou au coffre du marchand, qui renvoie un jeton de paiement limité au paiement délégué et situé hors du périmètre PCI. Ce jeton est borné selon quatre axes :

  • reason — actuellement "one_time" : usage unique.
  • max_amount — plafonne le débit au total du checkout ; le jeton ne peut pas surfacturer.
  • expires_at (RFC 3339) — le jeton possède une expiration ferme.
  • merchant_id + checkout_session_id — il est attaché à un marchand et à une session.

Un jeton délégué est donc lié au marchand, plafonné par le montant, limité dans le temps et à usage unique. C’est ce mécanisme qui permet à l’agent de « dépenser » sans lui confier un identifiant de carte réutilisable. Côté ACP, le Shared Payment Token de Stripe est présenté comme la première implémentation compatible ; d’autres PSP devraient suivre. UCP sépare de façon comparable les instruments de paiement et leurs handlers.

Le périmètre PCI est une vraie décision. La spécification d’OpenAI précise qu’une intégration directe traite les données du titulaire et peut modifier le périmètre PCI ; l’intégration directe requiert le niveau PCI DSS 1. Pour la plupart des marchands, la voie tokenisée — jetons réseau ou PSP qui gère la délégation — maintient les données de carte hors de l’environnement. Le choix entre « traiter directement les données » et « laisser le PSP tokeniser » est la première décision d’architecture ; l’onglet Décision l’examine.

Où un humain doit-il encore intervenir ?

« Le client autorise toujours l’achat » est vrai mais vague. Les déclencheurs au niveau du protocole sont précis ; les nommer permet de concevoir la remise de contrôle plutôt que d’aboutir à une impasse :

  • 3-D Secure / step-up. ACP le modélise avec InterventionCapabilities (types comme 3ds et address_verification), un niveau enforcement (always / conditional / optional) et un display_context (native / webview / modal / redirect). Le résultat revient comme AuthenticationResult avec des valeurs telles que authenticated, denied, rejected, abandoned, canceled ou not_supported.
  • États requires_escalation / authentication_required. Ils indiquent qu’une personne ou un contrôle supplémentaire est nécessaire avant de continuer.
  • B2B approval_required. L’objet PaymentData transporte purchase_order_number, payment_terms, due_date et approval_required : le checkout agentique ne concerne pas seulement le DTC.
  • Remise UCP par continue_url. L’état requires_escalation expose une URL que l’acheteur termine lui-même pour une connexion, une confirmation ou un contrôle d’âge. Même point d’arrêt, protocole différent.

La leçon est simple : une transaction qui escalade proprement vaut mieux qu’une transaction qui se termine silencieusement. Faites de ces parcours des flux de premier ordre, pas des cas d’erreur.

La confirmation de commande est poussée, pas interrogée

Après l’achat, la plateforme de l’agent ne reste pas à interroger l’API de commande. Le marchand envoie des webhooks signés.

Selon la référence des webhooks ACP, le marchand publie des événements afin que la plateforme reste alignée sur la vérité d’exécution. Deux types les portent : order_create pour une nouvelle commande et order_update pour les changements d’état. Les statuts incluent created, manual_review, confirmed, canceled, shipped et fulfilled. Trois détails sont essentiels :

  • Les requêtes doivent être signées par HMAC dans l’en-tête Merchant-Signature. Une signature absente ou incorrecte reçoit 401.
  • Le champ data doit contenir l’objet Order complet, pas des deltas. Envoyez l’état entier à chaque fois.
  • Codes à gérer : 200 pour le succès, 401 pour une signature invalide et 429 en cas de limitation de débit.

La réponse à « comment la plateforme sait-elle que la commande est passée ? » est concrète : vous le lui dites avec un POST signé contenant l’objet complet, puis vous gérez la contre-pression 429 de la plateforme.

Fraude, litiges et responsabilité : ce qui est établi et ce qui ne l’est pas

C’est la partie où il faut être le plus honnête : distinguer clairement le « réglé » de l’« ouvert ».

Établi : le marchand de référence. La spécification de paiement d’OpenAI indique qu’OpenAI n’est pas le marchand de référence ; dans ACP, les marchands apportent leur propre PSP et le règlement, les remboursements, les litiges et la conformité restent chez le marchand et son PSP. Arjun Bhargava de Rye le confirme indépendamment : les deux protocoles laissent le marchand responsable de l’exécution, des litiges et des contestations.

Non établi : la preuve nécessaire pour un litige. Le marchand de référence indique qui assume normalement le litige, pas comment le gagner lorsque le « client » a été médié par un agent IA. La défense traditionnelle s’appuie sur des traces produites par un humain — IP, appareil, navigation, clic sur « acheter ». Les journaux d’autorisation produits par un agent sont d’une autre nature et les règles des réseaux de cartes n’ont pas été écrites pour eux. Les spécialistes de Chargeflow décrivent une nouvelle couche de fraude et de confusion que les systèmes hérités interprètent mal ; les réponses propres n’existent pas encore.

Les cadres émergents ne sont pas terminés. Le Trusted Agent Protocol de Visa est décrit comme un cadre permettant de vérifier en temps réel l’identité et l’intention d’un agent. L’Agent Pay de Mastercard, annoncé en avril 2025, utilise des « Agentic Tokens ». Des articles tiers suggèrent une responsabilité proche des transactions tokenisées ; considérez cette allocation comme rapportée, non confirmée, tant que la documentation Mastercard ne l’établit pas. La garantie zéro responsabilité de Visa protège les titulaires contre les débits non autorisés, mais ne résout pas la question du litige côté marchand.

Ce que les marchands doivent implémenter et tester

Les conseils stratégiques — flux propres, programmes de fidélité — ne suffisent pas. Voici la couche opérationnelle à construire et à vérifier :

  • Décidez votre posture PCI. Voie tokenisée ou réseau contre traitement direct des données de carte (niveau 1). La plupart des marchands veulent laisser le PSP détenir la délégation.
  • Rendez les nouvelles tentatives idempotentes. ACP prévoit request_not_idempotent pour une raison. Un agent ou un réseau instable réessaiera un appel de création ou de finalisation ; envoyez une clé d’idempotence et rendez les appels répétés sûrs pour éviter double débit ou double commande.
  • Vérifiez les signatures de webhook. Contrôlez le HMAC Merchant-Signature, rejetez les incohérences et renvoyez correctement 200 ou 429 sous charge.
  • Simulez l’escalade dans le bac à sable. Forcez requires_escalation / authentication_required, exécutez un step-up 3DS et testez denied / rejected / abandoned, pas seulement authenticated.
  • Réconciliez les prix du flux et du checkout. Une divergence de prix détruit rapidement la confiance ; elle est particulièrement visible au moment de payer.
  • Attribuez les commandes issues d’agents. Un checkout terminé peut n’avoir aucune session GA4. Suivez-le au niveau commande/OMS, sans attendre une visite du site.

Les onglets SOP de test et Aide-mémoire transforment ces points en contrôle concret.

Situation à mi-2026

Appuyez-vous sur la réalité de l’adoption, pas sur un argumentaire. Le président de Shopify a indiqué qu’environ une douzaine de marchands utilisaient activement des outils de checkout IA — un volume négligeable face à la base Shopify — et OpenAI a ramené la version entièrement dans le chat vers une découverte suivie d’une redirection en mars 2026, après des difficultés d’intégration, de précision et de paniers multi-articles. La normalisation en temps réel de catalogues contenant des dizaines de millions de références reste un problème de longue haleine, et les clients font encore confiance aux parcours qu’ils connaissent.

Cela ne signifie pas que le checkout agentique est fictif. La capacité du protocole — créer, mettre à jour et terminer une session avec paiement délégué et webhooks signés — est réelle et spécifiée. Elle n’est simplement pas encore normale, et la dernière étape peut se fermer dans le chat ou sur votre site selon une implémentation qui a déjà changé une fois.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.