| 开发者 | xpaysh |
|---|---|
| 更新时间 | 2026年6月22日 21:33 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
Product, Offer, AggregateOffer, BuyAction and ItemList schemas on product pages, shop archive and home page. Detects existing schema from Yoast / Rank Math / WooCommerce core and only fills the gaps./llms.txt (llmstxt.org), schema.org Product/Offer/BuyAction JSON-LD on every product page, and an explicit robots.txt allowlist for AI user-agents. Optional watchlist emitters for /.well-known/oauth-protected-resource (RFC 9728, when UCP OAuth identity linking is on) and /.well-known/agent-card.json (A2A 1.0, off by default). The discovery layer is registry-based so new standards plug in cleanly._xpay_agent_attribution so you can attribute AI-driven revenue in your existing reporting.define( 'XPAY_WC_TELEMETRY', false ); in wp-config.php.https://) on the store domain — required for the agent discovery files to be honored by AI surfacesNo. The plugin emits a small <script type="application/ld+json"> block in <head> on product pages, shop and home (only when no other plugin has already emitted equivalent schema). The discovery files (/llms.txt, /.well-known/ucp, /.well-known/oauth-protected-resource, /.well-known/agent.json) are served through WordPress rewrite rules with no database query. The catalog feed itself is hosted on xpay's CDN, not your origin — so AI shoppers reading it never load your origin.
No. Payment runs through your existing WooCommerce gateway (Stripe / WooPayments / PayPal / Square / etc.). xpay never touches your checkout, your cards, your buyer PII, or your refund flow.
xpay detects the existing schema at runtime and only adds the bits it's missing — typically BuyAction on product pages and ItemList on the homepage. No duplicate schema is emitted.
Two data paths:
agent-feed.xpay.sh/catalog/{your-slug}.json so AI shoppers can read it.plugin_activated, settings_viewed, resync_error, etc.) tagged with your site URL and plugin/WP/WC/PHP versions. No customer data, no order data, no PII.Plugins → Deactivate → Delete. The bundled uninstall.php removes every option the plugin wrote. To also delete the catalog feed from xpay's CDN, email privacy@xpay.sh from your admin email with your merchant slug.
Settings → xpay → Privacy → Turn off. Or define XPAY_WC_TELEMETRY to false in wp-config.php for a system-wide hard disable.
Yes. The plugin also serves the discovery file at https://yoursite.com/?xpay_route=acp. AI shoppers that respect the Link header find this fallback automatically. If your host is interfering, contact them — many hosts (especially those that handle ACME challenges themselves) intercept /.well-known/* before WordPress sees it.
Yes. Each store gets its own merchant slug and its own catalog feed. Pricing applies per store.
Yes. GPLv2-or-later, public repo at github.com/xpaysh/agentic-commerce-for-woocommerce.
Free to install and get started. Paid plans are available as you scale — see www.xpay.sh/pricing/.
The plugin publishes simple, variable, and grouped products in v0.1. Subscriptions, bookings, and memberships are on the roadmap — track progress in the GitHub repo.
Email merchants@xpay.sh or open an issue at github.com/xpaysh/agentic-commerce-for-woocommerce/issues.
/agents.md agent skill. A dedicated, machine-readable skill served at yourstore.com/agents.md that tells AI shopping agents (and skill-using assistants) exactly how to connect to your store: browse the live catalog over MCP or REST, look products up, and build a cart that hands the shopper off to your existing checkout. This is purpose-written connect-and-transact instructions — not a copy of /llms.txt. Served only once your store is connected; like our other discovery files it skips quietly if you already publish your own /agents.md./llms.txt merge (bug fix). When appending to an existing /llms.txt, the plugin now ignores non-text responses. Hybrid/headless storefronts and single-page themes that answer every URL with an HTML page no longer get that page pulled in as bogus "existing content" above our agent-shopping sections./llms.txt catalog link now uses your store's own agent-commerce surface instead of the shared feed host (same data, your brand)./llms.txt rather than replacing it, and fully reverts the moment you deactivate.agent-feed.xpay.sh, agent-commerce.xpay.sh, app.xpay.sh) and what each receives, alongside the Terms and Privacy links./.well-known/ discovery files. Each check shows a pass/fail with the HTTP status, and a failure gives you the exact fix — e.g. switch Permalinks off "Plain", or (on Apache/ACME hosts that reserve /.well-known/) the query-arg fallback URL that agents can still use.llms.txt (for example via Yoast SEO AI, RankMath AI, AIOSEO, or your own setup), we now add our agent-shopping sections at the end of your file instead of replacing it. Everything you wrote is preserved exactly as you wrote it.llms.txt) without you needing to install another plugin update. Fully optional and reversible — nothing changes unless you tell us to or we both agree.rest_url(). The fallback UCP manifest now calls rest_url('xpay/ucp/v1') / rest_url('xpay/mcp') instead of hardcoding home_url('/wp-json/...'), so the plugin respects sites that customize the REST prefix. Per the WP.org Determining Locations guideline.WP_DEBUG=true.Requires Plugins: woocommerce header. Declares the WooCommerce dependency via the WP 6.5 plugin-dependencies mechanism so the plugin won't activate without WooCommerce present. Existing manual activation check remains as defence-in-depth for pre-6.5 sites.<script> tag; click-time telemetry is recorded server-side in the redirect handler instead.payment_handlers[]), Links (auto-detect privacy/TOS/about/contact/shipping with per-row override), Tools (view UCP profile, view full audit, test connection, refresh catalog now, telemetry debug log toggle). URL is bookmarkable via ?tab=./.well-known/ucp. Switching off any of checkout / fulfillment / discount / order removes the entry from the emitted UCP manifest. Default (no option set) = all enabled, so existing installs don't regress on upgrade.payment_handlers[] now populated from the Payments tab. Each enabled gateway emits as {id, label, type:"merchant_gateway"} so UCP-aware agents can negotiate payment surfaces against the methods you actually accept.ucp.links array. Privacy, TOS, About, Contact, Shipping URLs are auto-detected (WordPress privacy_policy_url + common page slugs) and overridable on the Links tab; emitted in the manifest as {rel, href} pairs./.well-known/ucp. Native MCP-speaking agents (Claude, ChatGPT Operator, Shopify AI Toolkit) discover the endpoint at agent-commerce.xpay.sh/mcp/{slug} without further configuration. Three tools available: search_catalog (BM25-ranked over title + description), get_product (lookup by SKU or numeric product ID), create_cart (returns a signed deeplink that pre-populates checkout on your store)./wc-auth/v1/authorize OAuth. When you click Connect store, the xpay onboarding page opens WooCommerce's built-in approval popup. You approve there once and WordPress hands xpay read-only API credentials directly — no Settings → Advanced → REST API trip, no copy-paste. The manual paste flow remains available as a fallback.DELETE /v1/merchants/{slug} so your account is marked disconnected and the cached agent-feed catalog is archived. Local cleanup happens regardless of whether the backend acks.extends is now an array (["dev.ucp.shopping.checkout"]) rather than a string per the 2026-04-08 spec; capability spec URLs are uniformly date-prefixed; payment_handlers: [] placeholder added for parity with the ecosystem.AbortSignal on the callback fetch into your WordPress site. The nonce is no longer burned until the plugin acknowledges receipt, so a re-click is always safe within the 30-minute TTL. The plugin-side rest_finalize is now idempotent on (slug, api_key) replay. Initial catalog resync moved to wp_schedule_single_event + non-blocking wp_remote_post so the REST response returns in under a second on hosts whose outbound HTTPS to xpay is slow./llms.txt ## Commerce protocols section is now gated on the xpay_wc_protocol_endpoints wp_option (backend-pushed during Connect). Agents that follow a URL from /llms.txt reach a working service or a structured 501 — never a bare 404.agent-commerce.xpay.sh/{ucp,acp,ap2,mcp}/... now return a 501 Not Implemented envelope with protocol, spec, merchant_slug, status, retry_after_seconds, and a docs link.xpay_wc_protocol_endpoints lets a mu-plugin override./llms.txt and hosted on xpay infrastructure. The plugin keeps the merchant's domain to what genuinely belongs there: discovery files, JSON-LD, robots.txt allowlist./.well-known/ucp (UCP business profile, spec 2026-04-08). This is the file Google, Shopify, Etsy, Wayfair, Target and Walmart fetch to negotiate capabilities with your store. The plugin generates a sensible default profile pointing at xpay-hosted UCP service endpoints; commercial-tier merchants can override the body + inject JWK signing keys via the xpay_wc_ucp_profile and xpay_wc_ucp_signing_keys options./llms.txt, /.well-known/ucp, RFC 9728 OAuth metadata, A2A agent-card) is a registered emitter with a default-on/default-off flag and per-merchant override. Adding a new standard means adding a new emitter — no changes elsewhere in the plugin./.well-known/oauth-protected-resource (RFC 9728) — turns on automatically when UCP OAuth Identity Linking is enabled for the merchant on the xpay side./.well-known/agent-card.json (A2A 1.0, IANA-registered 2025-08-01) — opt-in via the xpay_wc_emit_agent_card option once A2A adoption matures in commerce./llms.txt content refresh. Now links the agent-readable catalog, the per-protocol endpoints (ACP / UCP / AP2 / MCP), the cart-deeplink template, and top product categories. Markdown structure follows the llmstxt.org convention./llms.txt, not at a single discovery file.agentic-commerce-for-woocommerce).agentic-commerce-for-woocommerce), main file name (agentic-commerce-for-woocommerce.php), /languages/agentic-commerce-for-woocommerce.pot, admin page slug, plugin folder name inside the zip. User-Agent header for outbound HTTP. Settings page H1.agent-feed.xpay.sh, agent-commerce.xpay.sh, etc.), or anything else functional.PrefixAllGlobals warnings:uninstall.php now runs in an anonymous-closure IIFE — no top-level $option_keys / $key globals.class-xpay-schema.php :: render_product() uses a local $xpay_product and skips the global $product declaration entirely. Direct wc_get_product(get_the_ID()) works on PDPs without WC's template-loop side effect.class-xpay-plugin.php :: woocommerce_active() uses raw get_option('active_plugins') + multisite merge + class_exists('WooCommerce') instead of filtering WP core's active_plugins hook. Same behavior, no false-positive.load_plugin_textdomain() call. Discouraged since WP 4.6 — WordPress.org-hosted plugins get translations loaded automatically by core via the plugin slug.INSTAWP_TEST_WALKTHROUGH.md, README.md) from the release zip. The plugin zip should only contain files needed at runtime; READMEs and walkthroughs are repo-only.docs.xpay.sh/products/woocommerce/* → docs.xpay.sh/merchants/woocommerce/*. Merchants is the bucket; WooCommerce is one (of many future) integrations inside it. Future Shopify / BigCommerce docs will live as siblings.https://www.xpay.sh/pricing/?tab=agentic-commerce.xpaysh/xpay-for-woocommerce GitHub repo flipped public. Restored repo link references in readme.txt FAQ and "Source code" section so reviewers and merchants can browse the unminified source directly. GPLv2-or-later unchanged./.well-known/ (some shared hosts, CDN edges, ACME setups) can now serve the discovery file at /?xpay_route=acp. Discoverable via the Link header on the home page.phpcs.xml.dist ruleset added.languages/xpay-for-woocommerce.pot generated.xpay-woocommerce → xpay-for-woocommerce (Guideline 17).