All posts

OpenAI and ChatGPT Instant Checkout and Merchant Feed: technical explainer

Definitions, flow, requirements, failure modes and a verification checklist for a Product Feed and Instant Checkout in ChatGPT.

By Kaan Acar · Published 16 December 2025

Direct Answer

Instant Checkout is OpenAI’s in-ChatGPT purchase flow that lets users complete an order inside ChatGPT while the merchant keeps orders, payments, fulfillment, and compliance on their existing commerce stack. A Product Feed is a structured catalog file merchants push to OpenAI so ChatGPT can index products with up-to-date price and availability. Instant Checkout in ChatGPT is currently available to approved partners; enabling it requires a compliant product feed, implementation of the Agentic Commerce Protocol checkout endpoints, and a Delegated Payment compatible PSP.

Definitions

  • Instant Checkout: An in-chat purchase flow in ChatGPT where the customer can confirm shipping/payment and complete purchase without leaving the conversation, while the merchant remains responsible for the order lifecycle.
  • Product Feed (Merchant Feed): A merchant-provided, structured product catalog export used by OpenAI to index and display products with current price/availability.
  • Agentic Commerce Protocol (ACP): An open standard (maintained by OpenAI and Stripe) that defines how agents and merchants coordinate commerce state, including checkout and delegated payments.

How It Works

  1. Merchant exports a Product Feed (gzip-compressed csv or jsonl) containing product identity, canonical URLs, images, price, and control flags (e.g., enable_search, enable_checkout).
  2. Merchant delivers the feed to OpenAI over a mutually agreed secure transfer method (typically HTTPS to an allow-listed endpoint). OpenAI validates and indexes it.
  3. User asks a shopping question in ChatGPT. ChatGPT returns product results that are organic (unsponsored) and ranked by relevance; for the same product across merchants, ranking may incorporate factors like availability, price, quality, primary seller status, and Instant Checkout availability.
  4. If a product is eligible for Instant Checkout, ChatGPT can initiate checkout by calling the merchant’s ACP-compatible checkout endpoints (create/update/retrieve/complete).
  5. Payments run on the merchant’s rails via the Delegated Payment flow (through a compatible PSP/tokenization flow). The merchant processes the charge like any other order.
  6. Order state stays synced via checkout responses and merchant webhooks so ChatGPT can keep the user informed (e.g., shipping options, taxes, confirmation, order updates).

Requirements

  • Required inputs:
    • Product Feed file: csv.gz or jsonl.gz
    • Core product fields: stable id, title, description, link (canonical product URL), image_link, price (with currency)
    • Control flags: enable_search (required), enable_checkout (required if offering Instant Checkout; depends on enable_search=true)
    • Policy URLs (for checkout eligibility): merchant ToS and privacy policy; returns policy fields as required by the spec
  • Data constraints:
    • Freshness: feed updates accepted as often as every 15 minutes (design your export pipeline accordingly)
    • Transport: secure delivery (e.g., HTTPS to an allow-listed endpoint)
    • Stability: product IDs and canonical links should remain stable; price/availability should match the merchant’s source of truth
  • Operational requirements:
    • Eligibility: Instant Checkout in ChatGPT is approved-partners-only (application/onboarding required)
    • Checkout integration: implement the Agentic Checkout endpoints (session create/update/retrieve/complete) and operational webhooks
    • Payments integration: use a Delegated Payment compatible PSP (or direct integration only if PSP / PCI DSS Level 1 with a vault)
    • Compliance & support: merchant remains responsible for tax/shipping logic, refunds/returns/chargebacks, and customer support

Failure Modes

  • Product never appears in ChatGPT results: symptom → product is never surfaced → root cause → enable_search=false, missing required fields, or feed parsing/validation failure → verify → inspect feed export for required fields/flags; confirm OpenAI feed validation outcome → fix → correct schema/fields and re-push feed.
  • Wrong price or availability shown: symptom → price/stock mismatches storefront → root cause → stale feed updates or inconsistent upstream inventory/price source → verify → compare feed payload timestamp/version vs current storefront state → fix → increase refresh cadence (≤15 min), harden inventory/price source-of-truth, add monitoring for drift.
  • Instant Checkout option missing for an otherwise visible product: symptom → product is visible but no “Buy”/checkout path → root cause → enable_checkout=false, missing required policy/return fields, or merchant not approved/activated for Instant Checkout → verify → check enable_checkout and required policy fields in feed; confirm partner approval status → fix → set required fields, complete onboarding, enable checkout flag only when ready.
  • Checkout session creation fails or loops: symptom → checkout cannot start / repeated retries → root cause → endpoint signature verification failures, missing/incorrect API version headers, non-idempotent handling → verify → review request headers, signature checks, idempotency key behavior, and server logs → fix → implement spec-compliant auth/signature, require API-Version, make create/complete operations idempotent.
  • Payment authorization fails at completion: symptom → checkout completes but payment fails → root cause → PSP does not support delegated token flow, token scoping/expiry issues, or vault/PCI constraints → verify → trace delegated payment token usage end-to-end with PSP logs → fix → use a Delegated Payment compatible PSP/token implementation; ensure token handling matches spec.
  • Order updates don’t reflect back into ChatGPT: symptom → user sees “stuck” state after purchase → root cause → webhook delivery failures or incorrect event payloads → verify → webhook delivery logs (HTTP status/retries), event schema validation → fix → make webhook endpoint reliable, return correct statuses, and implement retry-safe processing.

Verification Checklist

  • Feed exports as csv.gz or jsonl.gz and passes validation (required fields present; stable IDs; canonical links)
  • Feed refresh pipeline can publish updates at least every 15 minutes (or faster if your inventory/pricing changes frequently)
  • enable_search=true for products intended to surface; enable_checkout=true only for products intended to be purchasable in-chat
  • Merchant ToS + privacy policy URLs and required returns fields are present (especially for checkout-enabled items)
  • Checkout endpoints implement create/update/retrieve/complete; are idempotent; enforce API version headers; verify signatures
  • Delegated Payment flow works end-to-end with your PSP (token handling, authorization, capture/settlement)
  • Webhooks deliver and process order lifecycle updates reliably (retry-safe, monitored, alerting on failures)
  • Production readiness tests completed (sessions with/without shipping address; shipping options + tax totals; full request/response logs)

Sources

Start with the gap that matters most.

A store audit is a one-page check of your store profiles and reviews.

Request a store audit