{"id":337480,"date":"2026-07-13T21:21:47","date_gmt":"2026-07-13T21:21:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ecentic-for-woocommerce\/"},"modified":"2026-07-13T21:21:10","modified_gmt":"2026-07-13T21:21:10","slug":"ecentic-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ecentic-for-woocommerce\/","author":23526786,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.1","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"\u00e9centic for WooCommerce","header_author":"\u00e9centic","header_description":"Makes your WooCommerce store AI-agent-ready via the Universal Commerce Protocol (UCP 2026-04-08). The UCP surface \u2014 discovery, catalog, carts, checkout, payments, order webhooks, RFC 9421 signing \u2014 is served by \u00e9centic on the store's behalf; this plugin keeps \/.well-known\/ucp on your domain, hosts identity linking (OAuth 2.0), runs the one-click \u00e9centic connection, and gives the backend a private bridge to live pricing, payments, and order creation.","assets_banners_color":"","last_updated":"2026-07-13 21:21:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/ecentic.ai\/platforms\/woocommerce","header_author_uri":"https:\/\/ecentic.ai","rating":0,"author_block_rating":0,"active_installs":0,"downloads":26,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"ecentic","date":"2026-07-13 21:21:10"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[250436,2353,271422,254710,286],"plugin_category":[45],"plugin_contributors":[271423],"plugin_business_model":[],"class_list":["post-337480","plugin","type-plugin","status-publish","hentry","plugin_tags-agentic-commerce","plugin_tags-ai","plugin_tags-ai-commerce","plugin_tags-ucp","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-ecentic","plugin_committers-ecentic"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/ecentic-for-woocommerce.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>\u00e9centic for WooCommerce connects your store to the <a href=\"https:\/\/ucp.dev\">Universal Commerce Protocol<\/a> so AI shopping assistants (Google Gemini AI Mode, ChatGPT Shopping, and any UCP-compatible agent) can discover, browse, and purchase from your store \u2014 no screen-scraping, no custom integrations.<\/p>\n\n<p>The heavy UCP protocol surface \u2014 capability negotiation, catalog search, cart and checkout sessions, payment handling, idempotency, RFC 9421 request\/response signing, and order webhooks \u2014 is served by <strong><a href=\"https:\/\/ecentic.ai\">\u00e9centic<\/a><\/strong> on your store's behalf. This plugin is the store-side half:<\/p>\n\n<p><strong>On your domain:<\/strong><\/p>\n\n<ul>\n<li><code>\/.well-known\/ucp<\/code> \u2014 the UCP discovery profile (cached proxy of your hosted profile, so agents always discover you at your own URL)<\/li>\n<li><code>\/.well-known\/oauth-authorization-server<\/code> \u2014 OAuth 2.0 metadata (RFC 8414) for UCP identity linking<\/li>\n<li><code>\/ucp-oauth\/authorize|token|revoke<\/code> \u2014 the identity-linking authorization server: your customers log in and grant consent on <em>your<\/em> site, never on a third party<\/li>\n<li><code>\/ucp-connect\/*<\/code> \u2014 the one-click \u00e9centic connection (OAuth 2.0 + PKCE; the API secret never travels through a browser)<\/li>\n<\/ul>\n\n<p><strong>For the \u00e9centic backend (private, key-authenticated bridge):<\/strong><\/p>\n\n<ul>\n<li>Live cart math \u2014 quotes run on a real WooCommerce cart, so your tax tables, shipping zones, coupons, and any third-party pricing plugins all apply<\/li>\n<li>Order creation through the native WooCommerce checkout internals<\/li>\n<li>Optional server-side payment processing via the WooCommerce Stripe Gateway (your Stripe secret key never leaves this site)<\/li>\n<li>Order entity snapshots, user-token introspection, and store policy (legal pages, page URLs, payment handlers, access rules)<\/li>\n<\/ul>\n\n<p><strong>Merchant controls (WooCommerce \u2192 UCP (AI Agents)):<\/strong><\/p>\n\n<ul>\n<li>Enable\/disable the whole UCP surface<\/li>\n<li>Require RFC 9421 signed requests<\/li>\n<li>Store-level API key (<code>X-UCP-Key<\/code>)<\/li>\n<li>Allow-list of agent platforms permitted to transact (identity binding)<\/li>\n<li>Per-agent rate limit<\/li>\n<li>Include\/exclude out-of-stock products from the agent catalog<\/li>\n<li>Google Pay payment handler declaration (merchant ID + PSP gateway)<\/li>\n<li>Server-side Stripe charging (off by default; payment otherwise defers to your trusted checkout)<\/li>\n<\/ul>\n\n<p>Settings apply to the hosted endpoints immediately on save.<\/p>\n\n<p><strong>Also included:<\/strong><\/p>\n\n<ul>\n<li>Order lifecycle webhooks to agent platforms (<code>order.created<\/code>, <code>order.updated<\/code>) with Standard Webhooks headers and RFC 9421 signatures, relayed through \u00e9centic<\/li>\n<li>Full support for variable products, coupon codes (with per-line discount allocations), and live shipping options<\/li>\n<li>HPOS (custom order tables) and cart\/checkout blocks compatible<\/li>\n<li>Extensible: <code>ecentic_ucp_process_instrument<\/code> (custom payment processors), <code>ecentic_ucp_payment_handlers<\/code>, <code>ecentic_ucp_identity_scopes<\/code>, <code>ecentic_ucp_stripe_secret_key<\/code><\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the following third-party services. No data is transmitted to any of them until you explicitly connect the store (see Installation) or explicitly enable the feature described.<\/p>\n\n<p><strong>\u00e9centic (ecentic.ai) \u2014 required<\/strong><\/p>\n\n<p>\u00e9centic is the hosted backend that serves this store's UCP protocol surface: capability negotiation, catalog search, cart and checkout sessions, payment handling, RFC 9421 request signing, and order webhooks to AI agent platforms. The plugin is the store-side half of that service; the store cannot be served to AI agents without it.<\/p>\n\n<ul>\n<li><strong>What is sent, and when.<\/strong> Nothing is sent on installation or activation. When you click <strong>Connect to ecentic.ai<\/strong> on the settings screen, your store URL, REST API URL, and site name are sent to start the OAuth 2.0 connection. If you approve it, \u00e9centic receives a WooCommerce REST API key that you issued, and from then on it reads your product catalog and store policy (currency, shipping options, legal page URLs, payment handler declarations, and your UCP settings) as agents request them, and receives the orders that AI agents place through it (line items, totals, and the buyer's shipping and contact details needed to fulfil the order). Your store also serves \u00e9centic's copy of your discovery profile at <code>\/.well-known\/ucp<\/code>, refreshing it about every 5 minutes.<\/li>\n<li><strong>What is never sent.<\/strong> Payment secrets (such as your Stripe secret key), customer passwords, and the WooCommerce database itself stay on your site.<\/li>\n<li>Service provided by \u00e9centic: <a href=\"https:\/\/ecentic.ai\/terms\">Terms of Service<\/a>, <a href=\"https:\/\/ecentic.ai\/privacy-policy\">Privacy Policy<\/a>.<\/li>\n<\/ul>\n\n<p><strong>Stripe (api.stripe.com) \u2014 optional, off by default<\/strong><\/p>\n\n<p>Only used if you tick <strong>Server-side Payments (Stripe)<\/strong> on the settings screen <em>and<\/em> have the WooCommerce Stripe Gateway configured. When an AI agent completes a checkout, the plugin calls Stripe's PaymentIntents API from your server to charge the payment method the buyer authorised, sending the payment token, the order amount and currency, and the order number. The call is made with the Stripe secret key already configured on your own site \u2014 the key never leaves your server, and no request is made to Stripe while the setting is off.<\/p>\n\n<ul>\n<li>Service provided by Stripe: <a href=\"https:\/\/stripe.com\/legal\/ssa\">Terms of Service<\/a>, <a href=\"https:\/\/stripe.com\/privacy\">Privacy Policy<\/a>.<\/li>\n<\/ul>\n\n<p><strong>Google Pay \u2014 optional, declaration only<\/strong><\/p>\n\n<p>If you enter a Google Pay merchant ID in the settings, the store advertises a Google Pay payment handler in its UCP profile, referencing Google's published handler schema URL. The plugin itself makes no request to Google and sends Google no data; any Google Pay interaction happens between the buyer's AI agent and Google.<\/p>\n\n<ul>\n<li>Service provided by Google: <a href=\"https:\/\/payments.developers.google.com\/terms\/sellertos\">Terms of Service<\/a>, <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a>.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin (WooCommerce must be active). Activating it on its own sends nothing anywhere and changes nothing about your storefront.<\/li>\n<li>Go to <em>WooCommerce \u2192 UCP (AI Agents)<\/em>. The connection panel explains exactly what is shared with \u00e9centic.<\/li>\n<li>Click <strong>Connect to ecentic.ai<\/strong> when you are ready. This is the point at which the store first contacts \u00e9centic; you approve the connection in your own wp-admin session.<\/li>\n<li>Visit <code>https:\/\/yourstore.com\/.well-known\/ucp<\/code> to see your live discovery profile, and fine-tune the settings on the same screen.<\/li>\n<\/ol>\n\n<p>To disconnect, revoke the plugin's key under <em>WooCommerce \u2192 Settings \u2192 Advanced \u2192 REST API<\/em> \u2014 \u00e9centic immediately loses all access to the store.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20contact%20%C3%A9centic%20on%20its%20own%3F\"><h3>Does the plugin contact \u00e9centic on its own?<\/h3><\/dt>\n<dd><p>No. Installing and activating the plugin transmits nothing. The store contacts \u00e9centic for the first time only when a store administrator clicks <strong>Connect to ecentic.ai<\/strong> on the settings screen, and it stops the moment you revoke the API key.<\/p><\/dd>\n<dt id=\"does%20this%20affect%20my%20existing%20checkout%20or%20storefront%3F\"><h3>Does this affect my existing checkout or storefront?<\/h3><\/dt>\n<dd><p>No. The plugin adds <code>.well-known<\/code> URLs, the identity-linking endpoints, and a private REST bridge. Your storefront, theme, and checkout are untouched, and agent orders are created through the same WooCommerce internals as regular orders (<code>created_via = ucp<\/code>, so you can tell them apart).<\/p><\/dd>\n<dt id=\"what%20data%20is%20shared%20with%20%C3%A9centic%3F\"><h3>What data is shared with \u00e9centic?<\/h3><\/dt>\n<dd><p>Your product catalog, store policy needed to serve the protocol (currency, shipping options, legal page links, payment handler declarations, your UCP settings), and the orders created through agent checkouts. The connection uses a WooCommerce REST API key you approve explicitly and can revoke at any time. Payment secrets (e.g. your Stripe secret key) and customer passwords never leave your site.<\/p><\/dd>\n<dt id=\"do%20agents%20charge%20cards%20through%20my%20store%3F\"><h3>Do agents charge cards through my store?<\/h3><\/dt>\n<dd><p>Only if you turn on server-side Stripe processing and have the WooCommerce Stripe Gateway configured. Otherwise agent checkouts create the order unpaid and the buyer pays on your own order-pay page \u2014 you remain the Merchant of Record either way.<\/p><\/dd>\n<dt id=\"what%20is%20identity%20linking%3F\"><h3>What is identity linking?<\/h3><\/dt>\n<dd><p>An optional OAuth 2.0 flow (built into this plugin) that lets a customer link their account on your store to their AI assistant, so the agent can access user-gated operations such as order history. Consent happens on your domain; you control which scopes are gated via the <code>ecentic_ucp_identity_scopes<\/code> filter.<\/p><\/dd>\n<dt id=\"how%20do%20i%20restrict%20which%20ai%20platforms%20can%20transact%3F\"><h3>How do I restrict which AI platforms can transact?<\/h3><\/dt>\n<dd><p>In <em>WooCommerce \u2192 UCP (AI Agents)<\/em>: set an API key, list allowed agent platforms, require signed requests, or set a rate limit. Leave everything open for permissionless onboarding.<\/p><\/dd>\n<dt id=\"how%20do%20i%20test%20it%3F\"><h3>How do I test it?<\/h3><\/dt>\n<dd><p>Visit <code>https:\/\/yourstore.com\/.well-known\/ucp<\/code> \u2014 it returns your UCP profile with the hosted endpoint agents will call. The settings page links both.<\/p><\/dd>\n<dt id=\"what%20ucp%20version%20does%20this%20support%3F\"><h3>What UCP version does this support?<\/h3><\/dt>\n<dd><p>UCP 2026-04-08.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release \u2014 full in-plugin UCP 2026-04-08 implementation<\/li>\n<\/ul>","raw_excerpt":"Make your store discoverable and transactable by AI shopping agents via the Universal Commerce Protocol (UCP 2026-04-08), powered by \u00e9centic.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337480"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ecentic"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337480"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337480"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337480"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337480"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337480"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}