@glideco/acp-merchant
v0.1.0
Published
ACP (Agentic Commerce Protocol — OpenAI + Stripe) merchant-side adapter for Glide. Wraps Glide paylinks/invoices in the ACP Cart + AgenticCheckout + DelegatePayment wire format so ChatGPT and other ACP-aware buyer agents can pay through Glide. Pinned to A
Maintainers
Readme
@glideco/acp-merchant
ACP (Agentic Commerce Protocol — OpenAI + Stripe) merchant-side adapter for Glide. Wraps Glide paylinks/invoices in the ACP Cart + AgenticCheckout + DelegatePayment wire format so ChatGPT and other ACP-aware buyer agents can pay through Glide. Pinned to ACP date-based version 2026-04-17.
Pure functions, no IO.
Install
npm install @glideco/acp-merchantUsage
import {
handleAgenticCheckout,
handleDelegatePayment,
} from '@glideco/acp-merchant';
const response = await handleAgenticCheckout(rawRequest, {
loadByIdempotencyKey,
storeForIdempotency,
mintPaymentIntent,
});License
MIT
Spec version
Pinned to ACP 2026-04-17.1 — exported as ACP_SPEC_VERSION. ACP uses date-based versioning; the merchant echoes the version in the X-Acp-Version response header (constant ACP_VERSION_HEADER).
When ACP publishes a new dated release that changes wire shape, bump the literal, update both Next.js routes (apps/web/src/app/api/acp/{agentic_checkout,delegate_payment}/route.ts), and re-run the merchant integration tests.
Version history
2026-04-17— initial wire-conformance.2026-04-17.1(current) — Round-2 review C11 tightening:acpMoneyPositiveSchemais now mandatory forunitPrice,subtotal,total,shipping,tax. Signed amounts on those fields now produce400 invalid_request. Discounts keep signedacpMoneySchema(the spec allows negative discount amounts).acpStructuredIdSchemaenforces URL-safe ids on cart + line item — rejects whitespace and URL-reserved characters.acpMoneySchema.currencyregex-bound to ISO 4217 uppercase (/^[A-Z]{3}$/) — waslength(3)previously which accepted lowercase.
The wire spec (the upstream ACP repo) hasn't changed, but our parser is strict where it was previously loose. Clients that emitted signed amounts on positive-only fields, lowercase currency strings, or ids with URL-reserved characters will see new 400s. SDK consumers can detect they're talking to the strict variant via the X-Acp-Version response header.
