• Интеграции и плагины
  • Сообщество
  • Связаться с нами
Документация

Нужна помощь в разработке плагина интеграции для Medusa?

Написать намНайти плагины

Gorgo снижает затраты на адаптацию Medusa к локальным рынкам.

Мы разрабатываем плагины интеграции, осуществляем поддержку и развиваем сообщество разработчиков на Medusa в Telegram.

  • Ресурсы
  • Интеграции и плагины
  • Сообщество
  • Medusa Чат в Telegram
  • Medusa Новости в Telegram
  • Документация
  • Контакты
  • head@gorgojs.com
  • TelegramGitHub
MedusaПлагиныAgentic commerce
A

Agentic commerce

Agentic commerce plugin for Medusa v2 — adds UCP and ACP protocol support, enabling AI agents to browse, checkout, and pay at any Medusa storefront.

Нужна доработка этого плагина?

Связаться с нами
npm install @financedistrict/medusa-plugin-agentic-commerce
Категория
Другое
Создано
Financedistrict
Версия
0.1.0
Последнее обновление
3 дня назад
Ежемесячные загрузки
0
Звезды на Github
0
npmNPM
MedusaПлагиныAgentic commerce

Why

AI agents are becoming a real commerce channel. They need machine-readable APIs to browse catalogs, fill carts, handle payments, and confirm orders — without scraping HTML or reverse-engineering checkout flows.

This plugin gives your Medusa store a standards-compliant agent API in minutes. No custom code, no frontend changes. And the pluggable payment handler adapter system means any payment method — stablecoins, cards, wallets — can be added without modifying the core plugin.

What You Get

FeatureDescription
Dual protocol supportBoth UCP and ACP endpoints from a single plugin
Product discoveryFull-text search and direct lookup for agents to browse your catalog
Checkout sessionsCreate, update, complete, and cancel — with idempotency built in
Pluggable paymentsBring your own payment handler via the adapter interface
Order trackingAgents can retrieve order status and details
Webhook notificationsAutomatic agent callbacks on order placement
Protocol discovery and for automatic capability detection
Product feed syncScheduled job to push your catalog to agent platforms

Quick Start

1. Install

npm install @financedistrict/medusa-plugin-agentic-commerce

2. Configure

import { defineConfig } from "@medusajs/framework/utils"
export default defineConfig({
// Register the plugin for route/workflow/subscriber auto-discovery
plugins: [
{
resolve: "@financedistrict/medusa-plugin-agentic-commerce",
options: {},
},
],
modules: [
// Register the core service module with your configuration
{
key: "agenticCommerce",
resolve: "@financedistrict/medusa-plugin-agentic-commerce/modules/agentic-commerce",
options: {
api_key: process.env.AGENTIC_COMMERCE_API_KEY,
signatureKey: process.env.AGENTIC_COMMERCE_SIGNATURE_KEY,
storefront_url: process.env.STOREFRONT_URL || "https://your-store.com",
store_name: "Your Store Name",
store_description: "What your store sells",
// Reference payment handler adapter module keys (see Payment Handlers)
payment_handler_adapters: ["prismPaymentHandler"],
},
},
],
})

3. Set Environment Variables

# Required
AGENTIC_COMMERCE_API_KEY=your-secret-api-key
# Optional
AGENTIC_COMMERCE_SIGNATURE_KEY=your-hmac-secret
STOREFRONT_URL=https://your-store.com
AGENTIC_STORE_NAME="Your Store"
AGENTIC_STORE_DESCRIPTION="Premium widgets for humans and agents"

4. Start Your Store

npx medusa develop

Your agent APIs are now live:

# Discovery
curl http://localhost:9000/.well-known/ucp
curl http://localhost:9000/.well-known/acp.json
# Search products (UCP)
curl -X POST http://localhost:9000/ucp/catalog/search \
-H "UCP-Agent: my-agent/1.0" \
-H "Request-Id: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"query": "t-shirt", "limit": 10}'

Protocols

UCP (Unified Commerce Protocol)

UCP is designed for agent-to-merchant interactions. It uses a shopping-cart model where agents manage carts directly.

EndpointMethodDescription
GETProtocol discovery and capabilities
POSTFull-text product search
POSTDirect product lookup by ID or handle
POSTCreate a new cart
GETRetrieve cart
PUTUpdate cart (add/remove items, set address)
POSTCreate checkout session from cart
GETRetrieve checkout session
PUTUpdate checkout session
POSTComplete checkout and place order
POSTCancel checkout session
GETRetrieve order details

Required headers: ,

ACP (Agent Commerce Protocol)

ACP is designed for platform-to-merchant interactions. It uses a session-based model where the platform manages the checkout flow.

EndpointMethodDescription
GETProtocol discovery and capabilities
POSTCreate checkout session
GETRetrieve checkout session
POSTUpdate checkout session
POSTComplete checkout
POSTCancel checkout session
GETRetrieve order
GETRetrieve product feed

Required headers: ,

Payment Handlers

Payment is handled through a pluggable adapter system. Each adapter implements the interface and registers as a Medusa module.

Using the Prism Payment Handler

For x402 stablecoin payments (USDC, FDUSD, etc.), use the companion package:

npm install @financedistrict/medusa-plugin-prism-payment

See @financedistrict/medusa-plugin-prism-payment for setup instructions.

Building a Custom Payment Handler

Implement the interface:

import type {
PaymentHandlerAdapter,
CheckoutPrepareInput,
} from "@financedistrict/medusa-plugin-agentic-commerce"
export default class MyPaymentAdapter implements PaymentHandlerAdapter {
readonly id = "my_payment_handler"
readonly name = "My Payment"
// Discovery — what to advertise in .well-known endpoints
async getUcpDiscoveryHandlers(): Promise<Record<string, unknown[]>> {
return {
"com.example.my_payment": [{
id: "my-handler",
version: "1.0.0",
}],
}
}
async getAcpDiscoveryHandlers(): Promise<unknown[]> {
return [{
id: "com.example.my_payment",
name: "My Payment",
version: "1.0.0",
psp: "my-psp",
requires_delegate_payment: false,
instrument_schemas: [/* ... */],
}]
}
// Checkout preparation — called when a checkout session is created
async prepareCheckoutPayment(input: CheckoutPrepareInput) {
// Call your payment gateway, return config for the agent
return { id: "my-handler", version: "1.0.0", config: { /* ... */ } }
}
// Response formatting — include payment config in checkout responses
getUcpCheckoutHandlers(cartMetadata?: Record<string, unknown>) {
return { /* ... */ }
}
getAcpCheckoutHandlers(cartMetadata?: Record<string, unknown>) {
return [/* ... */]
}
}

Register it as a Medusa module and reference it in :

// medusa-config.ts
modules: [
{
key: "myPaymentHandler",
resolve: "./src/modules/my-payment-handler",
options: { /* ... */ },
},
{
key: "agenticCommerce",
resolve: "@financedistrict/medusa-plugin-agentic-commerce/modules/agentic-commerce",
options: {
payment_handler_adapters: ["myPaymentHandler"],
// ...
},
},
]

Architecture

How Adapter Resolution Works

Medusa v2 modules have isolated DI containers. The plugin resolves payment handler adapters from the request-scoped container () via middleware — not from the module's constructor. This ensures all modules are registered and accessible at request time.

Workflows

The plugin provides four reusable workflows that orchestrate the checkout process:

WorkflowDescription
Validates cart, resolves region, prepares payment
Handles item/address changes, re-prepares payment
Completes payment, creates order
Cancels session and releases resources

Import them in your custom code:

import {
createCheckoutSessionWorkflow,
completeCheckoutSessionWorkflow,
} from "@financedistrict/medusa-plugin-agentic-commerce/workflows"

Configuration

Plugin Options

OptionTypeDefaultDescription
API key for ACP Bearer token authentication
HMAC-SHA256 key for request signing
Public URL of your storefront
Store name in protocol responses
Store description for discovery
Medusa payment provider ID
Module keys of payment handler adapters
UCP protocol version to advertise
ACP protocol version to advertise

Environment Variables

VariableMaps to

Exported Utilities

import {
// Service & module
AgenticCommerceService,
AgenticCommerceModule,
AGENTIC_COMMERCE_MODULE,
// Payment adapter interface
PaymentHandlerAdapter, // type
CheckoutPrepareInput, // type
PaymentHandlerRegistry,
// Error formatting
formatAcpError,
formatUcpError,
// Address translation
medusaToAcpAddress,
acpAddressToMedusa,
medusaToUcpAddress,
ucpAddressToMedusa,
// Status mapping
resolveAcpStatus,
resolveUcpStatus,
} from "@financedistrict/medusa-plugin-agentic-commerce"

Requirements

  • Medusa v2 (2.x)
  • Node.js 20+
  • PostgreSQL (standard Medusa requirement)

License

MIT


Еще в этой категории

Посмотреть все
Другое
Gati logo

Gati

От Devx Commerce

Синхронизируйте Medusa с Gati ERP

npm
Другое
Product Reviews logo

Product Reviews

От Lambda Curry

Добавляйте рейтинги, отзывы и модерацию товаров

GitHubnpm
Другое
Variant Images logo

Variant Images

От Betanoir

Организуйте и загружайте варианты изображений в Medusa

GitHubnpm