1 octobre 2025
E-commerce conversationnel avec OpenAI et Stripe : guide complet de l’Agentic Commerce Protocol

7 minutes de lecture

OpenAI et Stripe ont annoncé l’Agentic Commerce Protocol (ACP), une spécification open source (Apache 2.0) qui permet d’acheter directement depuis une conversation dans ChatGPT, sans passer par un site tiers.
Concrètement, un utilisateur peut demander un produit dans ChatGPT, voir une fiche détaillée et finaliser son achat via un bouton “Acheter”. Côté marchand, cela implique de mettre en place trois briques techniques :
- un flux produit (Product Feed) pour rendre le catalogue accessible,
- une API Checkout pour gérer les sessions et les commandes,
- un mécanisme de paiement délégué qui s’appuie notamment sur Stripe.
L’accès est pour l’instant limité aux États-Unis et nécessite une validation d’OpenAI, mais l’annonce donne une idée claire de la direction que prend l’e-commerce conversationnel.
Dans cet article, nous expliquons en détail comment fonctionne le protocole, ses trois piliers techniques, et proposons une roadmap de préparation pour anticiper une intégration future.
Qu’est-ce que l’Agentic Commerce Protocol ?
L’ACP est une spécification ouverte qui définit comment un système tiers (ici ChatGPT) peut afficher un catalogue produit, initier un checkout et déléguer le paiement à un PSP (Payment Service Provider) comme Stripe.
👉 L’objectif : permettre à vos clients de passer de la recherche au paiement en un seul flux conversationnel.
Comment fonctionne l’e-commerce conversationnel dans ChatGPT ?
Prenons l'exemple d'un utilisateur qui demanderait : "Trouve-moi des chaussures de running à moins de 100 €".
ChatGPT peut alors :
- Afficher les produits de votre catalogue (via le Product Feed)
- Proposer un bouton “Acheter”
- Déclencher un checkout complet directement dans la conversation
Trois flux de données orchestrent ce parcours :
- Product Feed : ChatGPT indexe vos produits pour les rendre découvrables
- API Checkout : vous gérez les sessions panier et la finalisation des commandes
- Paiement délégué : vos PSP gèrent la transaction en toute sécurité
Pilier 1 : Le Product Feed 📦
Premier élément à mettre en place : le Product Feed. Avant que ChatGPT puisse recommander vos produits, il faut lui fournir un catalogue structuré et à jour. Sans ça, même si votre API Checkout est parfaite, vos produits resteront invisibles.
Le format
Vous avez le choix : TSV, CSV, XML ou JSON. Prenez celui qui s'intègre le mieux à votre système existant. Nous recommandons JSON pour sa flexibilité et sa lisibilité, mais CSV fera très bien l'affaire si c'est ce que votre système génère naturellement.
Le feed est poussé vers un endpoint OpenAI qui vous sera fourni lors de votre onboarding. Pas de pull côté OpenAI, c'est vous qui envoyez les mises à jour.
Fréquence de mise à jour : toutes les 15 minutes si nécessaire. C'est important pour maintenir la cohérence entre votre stock réel et ce que ChatGPT affiche. Un produit en rupture ne doit pas être proposé à l'achat.
Les champs
La structure est assez classique. Voici un exemple de produit que OpenAI attend :
[
{
"id": "SKU12345",
"title": "Chaussures de running Nike Air Zoom Pegasus",
"description": "Chaussures légères avec amorti réactif...",
"link": "https://yourshop.com/products/SKU12345",
"price": "89.99 EUR",
"currency": "eur",
"availability": "in_stock",
"image_link": "https://yourshop.com/images/SKU12345.jpg",
"brand": "Nike",
"condition": "new",
"weight": "280 g",
"enable_search": true,
"enable_checkout": true
}
]
Les deux derniers flags (enable_search
et enable_checkout
) sont spécifiques à OpenAI et vous donnent un contrôle granulaire : un produit peut être découvrable dans la recherche sans être achetable directement.
Vous pouvez retrouver la liste complète des champs dans la documentation d'OpenAI.
Gérer les variantes
Point important si vous vendez des produits déclinables : les variantes. Si vous vendez une chaussure en plusieurs tailles et couleurs, utilisez item_group_id
pour regrouper les variantes. Concrètement, ça ressemble à ça :
[
{
"id": "SKU12345-42-BLUE",
"item_group_id": "SKU12345",
"title": "Nike Air Zoom Pegasus - Bleu",
"color": "Bleu",
"size": "42"
// ...
},
{
"id": "SKU12345-43-BLUE",
"item_group_id": "SKU12345",
"title": "Nike Air Zoom Pegasus - Bleu",
"color": "Bleu",
"size": "43"
// ...
}
]
ChatGPT saura alors proposer les différentes options au moment de l'achat.
Pilier 2 : L'API Checkout 🛍️
Une fois vos produits indexés dans ChatGPT, il faut gérer la partie achat. C'est le cœur du système, et c'est là que vous allez passer le plus de temps de développement.
Vous devez exposer 5 endpoints que ChatGPT va appeler pour gérer le cycle de vie d'un achat. L'idée est simple : ChatGPT orchestre, mais c'est vous qui calculez tout (prix, taxes, shipping) et qui décidez in fine d'accepter ou non la commande.
1. Créer une session
POST /checkout_sessions
C'est le point d'entrée. Quand l'utilisateur clique sur "Acheter" dans ChatGPT, cet endpoint est appelé avec les items que l'utilisateur veut acheter et éventuellement son adresse de livraison :
Requête :
{
"items": [{ "id": "SKU12345-42-BLUE", "quantity": 1 }],
"fulfillment_address": {
"name": "Bptiste Adrien",
"line_one": "18 avenue Parementier",
"city": "Paris",
"postal_code": "75018",
"country": "FR"
}
}
2. Mettre à jour la session
POST /checkout_sessions/{checkout_session_id}
L'utilisateur change d'avis sur son mode de livraison ou modifie son adresse ? Pas de problème. ChatGPT appelle cet endpoint avec les nouvelles données, vous recalculez taxes et frais de port, et vous retournez le même format de réponse que lors de la création.
C'est important que ce endpoint soit rapide, car l'utilisateur peut le déclencher plusieurs fois en ajustant ses choix.
3. Finaliser l'achat
POST /checkout_sessions/{checkout_session_id}/complete
C'est le moment critique : l'utilisateur a validé son paiement.
Requête :
{
"buyer": {
"first_name": "Baptiste",
"last_name": "Adrien",
"email": "hello@premieroctet.com"
},
"payment_data": {
"token": "spt_1234567890",
"provider": "stripe",
"billing_address": {
/* ... */
}
}
}
À ce moment, vous :
- Chargez le moyen de paiement via votre PSP (Stripe, etc.)
- Créez la commande dans votre système
- Retournez l'ID de commande et un lien de suivi
Réponse :
{
"id": "checkout_session_abc123",
"status": "completed",
"order": {
"id": "order_789",
"permalink_url": "https://yourshop.com/orders/order_789"
}
// ... reste de l'état du checkout
}
Le permalink_url
est crucial : c'est là que l'utilisateur pourra suivre sa commande.
4 & 5. Récupérer et annuler
GET /checkout_sessions/{checkout_session_id}
POST /checkout_sessions/{checkout_session_id}/cancel
Ces deux derniers endpoints sont plus simples. Le GET permet à ChatGPT de vérifier l'état actuel d'une session (utile en cas de reconnexion ou de perte de contexte). Le POST cancel permet à l'utilisateur d'annuler explicitement une session en cours.
Dans les deux cas, retournez l'état complet de la session avec le bon statut.
Les webhooks
L'API Checkout n'est pas unidirectionnelle. Vous devez aussi envoyer des webhooks vers OpenAI pour notifier des changements d'état de la commande. C'est comme ça que ChatGPT saura que la commande est confirmée, expédiée, livrée, ou annulée.
{
"type": "order_updated",
"data": {
"type": "order",
"checkout_session_id": "checkout_session_abc123",
"permalink_url": "https://yourshop.com/orders/order_789",
"status": "shipped",
"refunds": []
}
}
Pilier 3 : Le paiement 💳
Dernier pilier, et non des moindres : le paiement. C'est là que beaucoup se posent des questions légitimes sur la sécurité et la conformité PCI. OpenAI ne touche jamais directement à l'argent. Le protocole définit simplement comment transmettre de manière sécurisée les informations de paiement entre l'utilisateur, ChatGPT, et votre système. Vous restez en contrôle, et vous utilisez votre PSP habituel.
Option 1 : Vous utilisez déjà Stripe
C'est l'option la plus simple. Stripe a développé un mode "agentic payments" qui s'active en une ligne de code :
stripe.agentic_payments.enable()
Stripe gère alors la création et la transmission du token de paiement. Côté checkout, vous recevez un payment_data.token
classique que vous chargez comme d'habitude.
Option 2 : Vous utilisez un autre PSP
Pas de Stripe dans votre stack ? Pas de panique, vous avez deux solutions.
A. Via Stripe Shared Payment Token API
Même si vous ne processez pas les paiements avec Stripe, vous pouvez utiliser leur API uniquement pour recevoir le token sécurisé. C'est une couche intermédiaire qui ne change rien à votre PSP principal (Adyen, Braintree, etc.). Vous recevez un token via Stripe, puis vous chargez le paiement avec votre PSP habituel.
B. Implémentation directe (PSP ou PCI DSS Level 1 uniquement)
Si vous êtes un PSP ou un merchant PCI DSS Level 1 avec votre propre vault, vous pouvez implémenter directement l'endpoint du protocole. Attention, cette option implique de manipuler directement les données de carte. Ne vous lancez là-dedans que si vous avez déjà l'infrastructure et la conformité PCI en place.
Quelques points d'attention
Avant de vous lancer, voici quelques limitations (à date) à garder en tête :
- Géographie : USA uniquement pour l'instant
- Approbation : pas d'accès automatique, il faut postuler
- Single-item : pas de panier multi-produits (pour le moment)
- Pas de promo codes complexes : gardez la logique simple au début
Le mot de la fin
Voilà, vous avez maintenant une vision complète de ce qu'implique l'implémentation de l'Agentic Commerce Protocol.
Pour les développeurs, c'est une intégration REST classique. Rien de sorcier si vous avez déjà un système de checkout robuste. L'effort principal sera d'adapter votre logique métier (pricing, taxes, shipping) pour qu'elle soit exposable via une API.
Pour les business, c'est un nouveau canal à tester. 700 millions d'utilisateurs de ChatGPT représentent une audience considérable. Même si l'accès est limité pour le moment, préparer votre infrastructure maintenant vous donnera un avantage quand les vannes s'ouvriront.
Chez Premier Octet, nous suivons de près cette évolution et commençons à accompagner nos premiers clients sur le sujet. Si vous envisagez d'implémenter l'Agentic Commerce Protocol et avez besoin d'accompagnement technique, n'hésitez pas à nous contacter. On serait ravis d'échanger sur votre projet !
Ressources utiles :
- Documentation officielle OpenAI
- Documentation de l'Agentic Commerce Protocol
- Documentation du Stripe
👋