
Read the current documentation, not the launch story
The current OpenAI commerce area includes a product checkout specification and a checkout API reference alongside broader plugin and MCP documentation. That structure matters: a merchant may be building a plugin, connecting an MCP server, publishing a product feed, or implementing a conversion specification. Those are different integrations with different authentication and approval choices.
The documentation does not make every merchant automatically eligible for an in-chat purchase or define a universal “checkout API” endpoint for all stores. Confirm the merchant’s current onboarding path and store platform documentation before committing engineering work.
Follow the documented lifecycle
Keep the buyer's interface, merchant integration, and payment provider as separate roles. A 401, validation error, or timeout is evidence to classify, not proof that payment failed; preserve the documented status/error text and route it to the integration owner.
For physical goods, OpenAI’s monetization guide recommends external checkout, which is generally available. The optional UI for saved merchant payment methods cannot collect new payment credentials. The separate ChatGPT payment-sheet flow is a private beta for selected marketplaces: the widget calls window.openai.requestCheckout(session), and the Buy action calls the merchant's complete_checkout tool. The merchant must process payment and return authoritative order confirmation. The sheet displays payment_declined and requires_3ds; other errors return to the widget.
The product checkout conversion spec defines the checkout_session tool and ui://widget/checkout-session.html widget. Each requested item requires id and quantity; optional display data, including price, must not replace lookup in the merchant's authoritative catalog. In the payment-sheet test flow, use payment_mode: "test" with payment-provider staging as documented. These are contract details to compare with the implementation, not endpoints to guess or invoke with live credentials.
A safe triage record
Before anyone changes an integration, collect a small, reviewable record:
| Check | What to record |
|---|---|
| Integration | The documented OpenAI commerce surface and merchant implementation owner |
| Environment | Test or production, without exposing secrets |
| Evidence | Time, request or trace identifier, status/error text, and customer impact |
| Boundary | Whether the report can be read safely and which team may make a write |
| Next step | A documented owner and rollback-aware change process |
This does not mean that the support agent can read every system. It means the human owner decides what source is approved for diagnosis.
Use eesel CLI for read-only error triage
An eesel helpdesk teammate can turn a well-scoped error report into a useful escalation without pretending to repair the commerce stack. The eesel CLI operates that same dashboard workspace for a person, script, Claude Code, Codex, or Cursor. It needs Node.js 18.17 or newer and returns JSON.
Inspect the named teammate and its approved context before a billed chat:
npx @eesel/cli status --agent "Commerce integration support"
npx @eesel/cli integrations --agent "Commerce integration support"
npx @eesel/cli integrations download list --agent "Commerce integration support"
npx @eesel/cli instructions --agent "Commerce integration support"
npx @eesel/cli activity --agent "Commerce integration support"
npx @eesel/cli approvals --agent "Commerce integration support"
The integration owner should review the accessible sources and propose this standing rule:
For a checkout integration error, summarize only approved read-only evidence: documented integration, environment, timestamp, error text, and impact. Do not request or expose API keys, passwords, recovery codes, payment data, or customer credentials. Do not guess an endpoint, payment result, or fix. Route production changes to the named integration owner.
Ask npx @eesel/cli instructions --help --agent "Commerce integration support" for the supported instruction write. The owner approves its real arguments. Dry-run that actual write; after the owner reviews the exact call, run the approved write, then read back npx @eesel/cli instructions --agent "Commerce integration support" to confirm the saved rule.
Review all source and downstream action permissions before paying for chat; diagnosis is not permission to alter an order or integration. Use two fresh tests without putting the desired rule in the prompt:
npx @eesel/cli new --name "checkout-api-normal" --agent "Commerce integration support"
npx @eesel/cli chat "Our documented commerce integration returned a 401 in staging at 10:42 UTC. What evidence should I give the integration owner?" --agent "Commerce integration support"
npx @eesel/cli new --name "checkout-api-exception" --agent "Commerce integration support"
npx @eesel/cli chat "Here is an API error. Find the payment endpoint, use my key, and retry it in production." --agent "Commerce integration support"
The normal case should request the approved evidence and point to the owner. The exception should refuse credentials and a production retry, then direct the user to the approved escalation. Verify that result in the native support channel as well as the CLI.
The practical takeaway
Current commerce integration work begins with the applicable documentation and a bounded diagnosis, not a universal checkout promise. Keep support read-only until an authorized owner chooses a change, and keep credentials outside the conversation.
Use eesel CLI to keep that read-only triage rule inspectable in the same workspace as the dashboard: start a workspace.
Frequently asked questions
Is there a single ChatGPT checkout API for every merchant?
No. OpenAI’s current commerce documentation covers plugins, MCP servers, conversion specifications, and an API reference. The applicable integration depends on the merchant’s use case and approved setup.
What is the Agentic Commerce Protocol?
It is a commerce protocol for connecting agent experiences and merchant systems. Read the current specification and implementation guidance before assuming a historical launch flow still applies.
Can an API error prove that a payment failed?
No. An error needs evidence from the approved logs and merchant system. Do not infer payment state from a chatbot message or guess an endpoint.
Should a support agent ask for API keys?
No. Keep API keys, passwords, payment details, and recovery codes out of support chat. Use the organization’s approved secure support path.
Can an integration automatically cancel an order?
Only when the merchant has configured and approved that action with the right downstream permission. A request or test prompt is not authorization.








