Saltar al contenido
Volver al blog
developer-guide12 min

Building Agentic Commerce #1: Checkout Multi-Protocolo — MCP + x402 + ACP en un solo flujo

Un agente, tres protocolos, un checkout. Asi es como MCP, pagos stablecoin x402 y ACP trabajan juntos para que los agentes de IA compren productos, con ejemplos de codigo que puedes ejecutar hoy.

Resumen ejecutivo

Primer post de la serie 'Building Agentic Commerce'. Una guia para desarrolladores sobre checkout multi-protocolo: como las herramientas MCP, la liquidacion stablecoin x402 y el descubrimiento ACP trabajan juntos en un unico flujo de compra de agentes.

Publicado

2026-04-05

12 min

Autoría

Equipo de arquitectura de integraciones

Arquitectos de implementación

El equipo de arquitectura de integraciones se centra en patrones prácticos de despliegue para tiendas que adoptan superficies de comercio compatibles con MCP.

Ver perfil

Categoría

developer-guide

building-agentic-commerceMCPx402acpcheckoutmulti-protocologuia-desarrolladorstablecoinagentes-ia

Cuando un agente de IA decide comprar un producto, no le importa que protocolo de pago usa el comerciante. Le importa: puedo descubrir productos, agregarlos a un carrito y pagar? La complejidad del enrutamiento de protocolos, verificacion de firmas y liquidacion deberia ser invisible. Este es el problema que resolvimos con el checkout multi-protocolo, y en este post te mostraremos exactamente como funciona, con codigo que puedes ejecutar contra nuestra demo store hoy.

Esta es la Parte 1 de la serie 'Building Agentic Commerce'. Cada post cubre un concepto fundamental con ejemplos de codigo funcionales. La Parte 2 cubre descubrimiento de agentes via NLWeb y llms.txt. La Parte 3 cubre trust scores.

Idea clave

El problema: tres protocolos, un agente

El ecosistema actual de comercio agentico tiene multiples protocolos de pago, cada uno optimizado para escenarios diferentes. MCP (Model Context Protocol) proporciona la interfaz de herramientas: busqueda, carrito, checkout. x402 habilita pagos stablecoin on-chain (USDC en Base, Ethereum, Solana). ACP (Agentic Commerce Protocol) define como los agentes descubren capacidades de comerciantes y negocian metodos de pago. Un agente comprando en varios comerciantes encontrara los tres. Si cada uno requiere una integracion diferente, los desarrolladores de agentes enfrentan una pesadilla de fragmentacion.

La arquitectura: Protocol Bridge

AgenticMCPStores usa un Protocol Bridge que normaliza cada peticion entrante a un AgentPaymentIntent unificado, independientemente del protocolo que hable el agente. El bridge detecta el protocolo desde headers HTTP (X-Protocol: X402, X-Protocol: ACP) o la forma del body, enruta al adaptador de entrada apropiado y devuelve una respuesta especifica del protocolo. Los comerciantes configuran que protocolos soportan: el agente nunca necesita conocer los detalles.

Como funciona la deteccion de protocolo

El middleware de deteccion de protocolo se ejecuta en cada peticion de checkout y asigna una puntuacion de confianza. El header X-Protocol obtiene 1.0 de confianza. La deteccion por forma del body (presencia de 'cartId' para ACP, 'network' para x402) obtiene 0.9. Si no se detecta protocolo, la peticion pasa al checkout MCP estandar. Esto significa que los agentes MCP existentes funcionan sin cambios: la conciencia de protocolo es aditiva, no rompe nada.

Flujo 1: Checkout MCP (la ruta por defecto)

El flujo de checkout mas simple usa herramientas MCP directamente. Un agente llama cuatro herramientas en secuencia: search_products para encontrar productos, create_cart para construir un carrito, preview_checkout para ver totales y envio, y complete_checkout para finalizar la compra. Cada herramienta es idempotente: segura de reintentar ante fallos de red.

Checkout MCP: paso a paso

  • 1
    search_products({ query: 'auriculares inalambricos', limit: 5 }) — devuelve resultados rankeados con puntuacion ponderada por confianza. Sin auth requerido.
  • 2
    create_cart({ items: [{ product_id: 'prod-123', quantity: 1 }] }) — devuelve cart_id (UUID). Requiere token Bearer OAuth.
  • 3
    preview_checkout({ cart_id: '550e8400-...' }) — devuelve total, impuestos, opciones de envio. Establece la sesion en READY_FOR_PAYMENT.
  • 4
    complete_checkout({ checkout_session_id: '550e8400-...', idempotency_key: 'req-abc-123' }) — finaliza la compra. Devuelve order_id y total_charged.

Siempre genera un idempotency_key unico por intento de pago. Si la red se cae despues de que complete_checkout tiene exito, reintentar con la misma key devuelve la orden existente en lugar de crear un cargo duplicado.

Idea clave

Flujo 2: Checkout x402 con stablecoins (USDC en Base/Ethereum/Solana)

x402 anade una capa de pago para agentes que poseen criptomoneda. En lugar de un token de tarjeta de credito, el agente paga on-chain en USDC y envia prueba de pago. El flujo comienza igual que MCP (busqueda, carrito, preview) pero diverge en el paso de pago. Cuando el agente envia X-Protocol: X402, el servidor responde con HTTP 402 Payment Required, un codigo de estado HTTP estandar que fue literalmente disenado para este caso de uso hace decadas y que finalmente se usa como estaba previsto.

Pago x402: el baile de tres pasos

  • 1
    Paso 1: El agente hace POST a /api/v1/agent/checkout con header X-Protocol: X402. El servidor responde 402 con detalles de pago: cantidad en wei USDC, direccion de wallet del comerciante, red (Base/Ethereum/Solana/Polygon/Arbitrum) y un timeout de 5 minutos.
  • 2
    Paso 2: El agente ejecuta la transferencia on-chain de USDC a la wallet del comerciante. Esto sucede completamente fuera de AgenticMCPStores: es una transaccion blockchain estandar.
  • 3
    Paso 3: El agente envia la prueba de pago a /api/v1/agent/checkout/x402/verify con la firma de la transaccion. El servidor verifica via el facilitador del comerciante, liquida con backoff exponencial (5 reintentos, 5s-40s de delays) y devuelve 202 Accepted.

La liquidacion es asincrona: el servidor devuelve 202 inmediatamente y procesa la liquidacion en segundo plano. Las ordenes que no se verifican en 30 minutos expiran automaticamente. Toda la verificacion de pago tiene proteccion BOLA: los agentes solo pueden liquidar ordenes que ellos crearon.

Flujo 3: Descubrimiento ACP + negociacion de protocolo

ACP no reemplaza a MCP ni x402: se situa por encima como capa de descubrimiento y negociacion. Un agente consulta GET /.well-known/acp.json (publico, sin auth, cache 1 hora) y aprende que soporta la plataforma: que handlers de pago estan disponibles (Stripe, x402, PayPal, UCP), que transportes funcionan (REST, MCP) y que capacidades ofrece (persistencia de carrito, reanudacion de sesion de agente, negociacion de contexto de display).

Respuesta de descubrimiento ACP (lo que ven los agentes)

El endpoint de descubrimiento ACP devuelve un contrato JSON especificando: spec_version '2026-01-30', transportes soportados (REST y MCP), cuatro handlers de pago (Stripe para USD/EUR, x402 para USDC, PayPal para USD/EUR, UCP para USD/EUR), y opciones de negociacion de capacidades incluyendo contextos de display webview y headless, persistencia de carrito y reanudacion de sesion de agente. La autenticacion sigue OAuth 2.1 con metadata de recurso protegido RFC 9728.

Con esta informacion, un agente inteligente puede tomar decisiones de protocolo automaticamente: usar x402 si tiene USDC, recurrir a Stripe si tiene un token de tarjeta, o usar UCP si el comerciante soporta el Universal Commerce Protocol de Shopify. El agente nunca necesita hardcodear logica de protocolo: lee el contrato ACP y se adapta.

Combinandolo todo: multi-comerciante, multi-protocolo

El verdadero poder emerge con ordenes multi-comerciante. Cuando un carrito contiene productos de diferentes comerciantes, el Protocol Bridge divide la orden en intents por comerciante y enruta cada uno independientemente via Promise.allSettled(). El Comerciante A puede liquidar via Stripe mientras el Comerciante B liquida via x402, en el mismo checkout. El fallo de un comerciante no bloquea a los otros. Cada uno recibe su propio ProcessedIntent con estado, protocolo origen/destino y decision de politica.

Pruebalo: Checkout en la Demo Store

Puedes probar el flujo completo de checkout MCP ahora mismo contra nuestra demo store. La demo store en agenticmcpstores.com/demo-store tiene 18 productos en multiples categorias. Las herramientas de descubrimiento (search_products, get_product_details, browse_categories) funcionan sin autenticacion. Para herramientas de checkout (create_cart, complete_checkout), usa el Playground en agenticmcpstores.com/demo-store/playground que proporciona un cliente MCP integrado con auth pre-configurado.

Seguridad por diseno

  • 1
    Validacion UUID antes de cualquier consulta a base de datos (guard contra inyeccion SQL)
  • 2
    Claves de idempotencia previenen cargos dobles en reintentos
  • 3
    Los tokens de pago NUNCA se registran en logs ni se incluyen en mensajes de error
  • 4
    URLs de facilitadores x402 validadas contra rangos IP privados (proteccion SSRF)
  • 5
    Proteccion BOLA: los agentes solo acceden a ordenes que ellos crearon (via agentKeyId)
  • 6
    Motor de politicas KYAI evalua cada checkout contra reglas del comerciante (ALLOW/FRICTION/REVIEW/BLOCK)
  • 7
    OAuth 2.1 con PKCE para todas las operaciones mutantes

Proximo en la serie

En la Parte 2, cubriremos como los agentes de IA descubren tu tienda antes de llamar a ninguna API, a traves de busqueda semantica NLWeb, archivos llms.txt y el protocolo de descubrimiento agent-card.json. En la Parte 3, profundizaremos en trust scores: el sistema de puntuacion de 8 componentes que determina cuanta autonomia tiene un agente al comprar en tu tienda.

Preguntas frecuentes

Necesito implementar los tres protocolos para usar AgenticMCPStores?

No. MCP es el protocolo por defecto y funciona sin configuracion adicional. x402 y ACP son aditivos: los comerciantes los habilitan en su configuracion de protocolo. Los agentes que solo hablan MCP siempre funcionaran. El Protocol Bridge maneja el enrutamiento automaticamente basandose en lo que cada comerciante soporta.

Que pasa si un pago x402 falla despues de que el agente envie USDC?

El servicio de liquidacion reintenta con backoff exponencial (5 intentos en ~75 segundos). Si todos los reintentos fallan, el estado de la orden pasa a 'failed' y se registra un OrderEvent. La transferencia on-chain de USDC es separada de la liquidacion de la orden: el manejo de reembolsos depende de la configuracion del facilitador. En la practica, los fallos de verificacion del facilitador son raros porque la transaccion blockchain es valida o no lo es.

Puede un agente usar diferentes protocolos para diferentes productos del mismo carrito?

No dentro de un solo carrito, pero si entre comerciantes. El Protocol Bridge divide ordenes multi-comerciante en intents por comerciante, y cada intent usa el protocolo configurado del comerciante. Asi que el Comerciante A puede liquidar via Stripe mientras el Comerciante B liquida via x402 en el mismo checkout general.

Que redes de USDC se soportan para pagos x402?

Base, Ethereum, Solana, Polygon y Arbitrum. Cada comerciante configura su red preferida y direccion de wallet. El agente ve el requisito de red en la respuesta HTTP 402 y envia el pago en la cadena correcta.

La especificacion ACP esta estandarizada o es propietaria?

ACP (Agentic Commerce Protocol) es una especificacion abierta (version 2026-01-30). La spec define un formato de descubrimiento, declaraciones de handlers de pago y negociacion de capacidades. AgenticMCPStores implementa la spec completamente: el endpoint /.well-known/acp.json es publico y sigue el esquema estandar.

Fuentes y referencias

Artículos relacionados

Checkout Multi-Protocolo: MCP + x402 + ACP para agentes IA | Building Agentic Commerce | AgenticMCPStores