Skip to content

How Visa Intelligent Commerce’s scores are calculated

The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.

verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10

PA Score32/100

Agent-ready 52.6 × 0.30 = 15.78

API quality 26.9 × 0.20 = 5.38

Openness 24.0 × 0.20 = 4.80

Built-in AI 22.0 × 0.15 = 3.30

Automation 18.0 × 0.15 = 2.70

(15.78 + 5.38 + 4.80 + 3.30 + 2.70) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 31.96 ÷ 1.00 = 32.0

Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.

Agent-ready52.6/100×0.30 of the PA blend

Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.

Point an agent at llms.txt or agent-oriented docsweight 2

2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max

  • [probe] https://developer.visaacceptance.com/llms.txtPROBE llms.txt: HTTP 200 at https://developer.visaacceptance.com/llms.txt # VisaAcceptance Developer Center > This developer documentation site provides comprehensive technical resources for in
  • [probe] https://github.com/visaacceptance/agent-toolkitofficial MCP server documented at https://github.com/visaacceptance/agent-toolkit
  • [probe] https://developer.visa.com/capabilities/visa-intelligent-commercePROBE runtime (recorded 2026-09-14): Visa's developer gateway is live and credential-gated exactly as documented — a keyless GET to https://api.visa.com/vdp/helloworld answered with the structured challenge {"responseStatus":{"status":400,"code":"9123",...,"message":"Expected input credential was not present"}} — and the Visa Acceptance Agent Toolkit MCP server resolves on the public npm registry (npm view @visaacceptance/mcp → 0.0.96, Visa-staff maintainers).
  • [claimed-docs] https://corporate.visa.com/en/sites/visa-perspectives/innovation/visa-mcp-server-agent-acceptance-toolkit.htmlDevelopers can now connect to Visa Intelligent Commerce APIs through the MCP Server, making it faster and easier for builders to bring intelligent, payment-enabled experiences to life.
  • [claimed-docs] https://github.com/visaacceptance/agent-toolkitIt offers a specialized set of tools designed to help you manage invoices, create payment links, and perform other Visa Acceptance-related operations.

Run the product headlessly / in CI for automationweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-enroll-card-intro.html"Your agents can enroll a customer's card for tokenization during the customer's account registration or when the customer begins a new purchase intent" via POST /acp/v1/tokens (https://api.visaacceptance.com production, https://apitest.visaacceptance.com test); a required field is paymentInformation.instrumentIdentifier.id (prerequisite page: "Create an Instrument Identifier Token"). Enrollment returns PENDING and "the customer is immediately prompted to verify their identity in order to activate the enrolled card" — the documented step-up rail includes "Create a One-Time Password for Tokenized Card Authentication" and passkey setup.
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-retrieve-credentials-intro.htmlCredentials are scoped to an authenticated instruction: retrieval is POST /acp/v1/instructions/{instructionID}/credentials, and the request must declare where and for how much the credential will be used — required fields include "merchantInformation.merchantName", the merchant descriptor URL, and "orderInformation.amountDetail.totalAmount"; optional product-policy fields ("policies.refundPolicy", "policies.disputePolicy", cancellation/shipping policies) attach merchant terms to the credential request. "During checkout, your agents display a list of the customer's tokenized cards."
  • [claimed-docs] https://corporate.visa.com/en/sites/visa-perspectives/innovation/visa-mcp-server-agent-acceptance-toolkit.htmlDevelopers can now connect to Visa Intelligent Commerce APIs through the MCP Server, making it faster and easier for builders to bring intelligent, payment-enabled experiences to life.
  • [probe] https://github.com/visaacceptance/agent-toolkitofficial MCP server documented at https://github.com/visaacceptance/agent-toolkit
  • [probe] https://developer.visa.com/capabilities/visa-intelligent-commercePROBE runtime (recorded 2026-09-14): Visa's developer gateway is live and credential-gated exactly as documented — a keyless GET to https://api.visa.com/vdp/helloworld answered with the structured challenge {"responseStatus":{"status":400,"code":"9123",...,"message":"Expected input credential was not present"}} — and the Visa Acceptance Agent Toolkit MCP server resolves on the public npm registry (npm view @visaacceptance/mcp → 0.0.96, Visa-staff maintainers).
  • [claimed-docs] https://developer.visaacceptance.com/hello-world/agentic-sandbox.htmlMerchant-side onboarding starts with a self-serve "Intelligent Commerce Sandbox Sign up" form (Organization ID, company, contact details, terms acceptance) on the Visa Acceptance developer portal: "After completing the evaluation registration process, you will be able to send test transactions" — account instructions arrive by email for the Test Enterprise Business Center.

Plug MCP servers into this product so it can use their toolsweight 3

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Connect an agent via an official MCP serverweight 3

3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max

  • [claimed-docs] https://corporate.visa.com/en/sites/visa-perspectives/innovation/visa-mcp-server-agent-acceptance-toolkit.htmlDevelopers can now connect to Visa Intelligent Commerce APIs through the MCP Server, making it faster and easier for builders to bring intelligent, payment-enabled experiences to life.
  • [claimed-docs] https://corporate.visa.com/en/sites/visa-perspectives/innovation/visa-mcp-server-agent-acceptance-toolkit.htmlthe toolkit helps developers and non-technical users to work with AI agents using plain language — no coding required.
  • [claimed-docs] https://github.com/visaacceptance/agent-toolkitIt offers a specialized set of tools designed to help you manage invoices, create payment links, and perform other Visa Acceptance-related operations.
  • [probe] https://github.com/visaacceptance/agent-toolkitofficial MCP server documented at https://github.com/visaacceptance/agent-toolkit
  • [probe] https://developer.visa.com/capabilities/visa-intelligent-commercePROBE runtime (recorded 2026-09-14): Visa's developer gateway is live and credential-gated exactly as documented — a keyless GET to https://api.visa.com/vdp/helloworld answered with the structured challenge {"responseStatus":{"status":400,"code":"9123",...,"message":"Expected input credential was not present"}} — and the Visa Acceptance Agent Toolkit MCP server resolves on the public npm registry (npm view @visaacceptance/mcp → 0.0.96, Visa-staff maintainers).

Use an official CLIweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://corporate.visa.com/en/sites/visa-perspectives/innovation/visa-mcp-server-agent-acceptance-toolkit.htmlDevelopers can now connect to Visa Intelligent Commerce APIs through the MCP Server, making it faster and easier for builders to bring intelligent, payment-enabled experiences to life.
  • [claimed-docs] https://github.com/visaacceptance/agent-toolkitIt offers a specialized set of tools designed to help you manage invoices, create payment links, and perform other Visa Acceptance-related operations.
  • [probe] https://github.com/visaacceptance/agent-toolkitofficial MCP server documented at https://github.com/visaacceptance/agent-toolkit
  • [probe] https://developer.visa.com/capabilities/visa-intelligent-commercePROBE runtime (recorded 2026-09-14): Visa's developer gateway is live and credential-gated exactly as documented — a keyless GET to https://api.visa.com/vdp/helloworld answered with the structured challenge {"responseStatus":{"status":400,"code":"9123",...,"message":"Expected input credential was not present"}} — and the Visa Acceptance Agent Toolkit MCP server resolves on the public npm registry (npm view @visaacceptance/mcp → 0.0.96, Visa-staff maintainers).

Drive the product through a documented public APIweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-enroll-card-intro.html"Your agents can enroll a customer's card for tokenization during the customer's account registration or when the customer begins a new purchase intent" via POST /acp/v1/tokens (https://api.visaacceptance.com production, https://apitest.visaacceptance.com test); a required field is paymentInformation.instrumentIdentifier.id (prerequisite page: "Create an Instrument Identifier Token"). Enrollment returns PENDING and "the customer is immediately prompted to verify their identity in order to activate the enrolled card" — the documented step-up rail includes "Create a One-Time Password for Tokenized Card Authentication" and passkey setup.
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-retrieve-credentials-intro.htmlCredentials are scoped to an authenticated instruction: retrieval is POST /acp/v1/instructions/{instructionID}/credentials, and the request must declare where and for how much the credential will be used — required fields include "merchantInformation.merchantName", the merchant descriptor URL, and "orderInformation.amountDetail.totalAmount"; optional product-policy fields ("policies.refundPolicy", "policies.disputePolicy", cancellation/shipping policies) attach merchant terms to the credential request. "During checkout, your agents display a list of the customer's tokenized cards."
  • [claimed-docs] https://corporate.visa.com/en/sites/visa-perspectives/innovation/visa-mcp-server-agent-acceptance-toolkit.htmlDevelopers can now connect to Visa Intelligent Commerce APIs through the MCP Server, making it faster and easier for builders to bring intelligent, payment-enabled experiences to life.
  • [probe] https://github.com/visaacceptance/agent-toolkitofficial MCP server documented at https://github.com/visaacceptance/agent-toolkit
  • [probe] https://developer.visa.com/capabilities/visa-intelligent-commercePROBE runtime (recorded 2026-09-14): Visa's developer gateway is live and credential-gated exactly as documented — a keyless GET to https://api.visa.com/vdp/helloworld answered with the structured challenge {"responseStatus":{"status":400,"code":"9123",...,"message":"Expected input credential was not present"}} — and the Visa Acceptance Agent Toolkit MCP server resolves on the public npm registry (npm view @visaacceptance/mcp → 0.0.96, Visa-staff maintainers).
  • [claimed-docs] https://developer.visaacceptance.com/hello-world/agentic-sandbox.htmlMerchant-side onboarding starts with a self-serve "Intelligent Commerce Sandbox Sign up" form (Organization ID, company, contact details, terms acceptance) on the Visa Acceptance developer portal: "After completing the evaluation registration process, you will be able to send test transactions" — account instructions arrive by email for the Test Enterprise Business Center.

Issue scoped/least-privilege API credentials for an agentweight 2

2 (weight) × 7 (quality) × 0.6 (partial) = 8.4 of 20 max

  • [claimed-docs] https://developer.visa.com/capabilities/visa-intelligent-commerceAgent-scoped credentials are the core primitive: "Provisioning and life cycle management of agent-specific payment tokens that can be used by agents to make secure transactions on behalf of the user" — "A new pass-through payment token, specific to agents, that is intended for use at Visa-accepting merchant locations." The page carries a maturity caveat, verbatim: "This product is in the process of development and deployment."
  • [claimed-docs] https://developer.visa.com/capabilities/visa-intelligent-commerceHuman approval is passkey-anchored end to end: provisioning includes "step up verification of the cardholder as well as setting up a Passkey that will be used by the agent to authenticate future instructions"; before spending, "The agent requests the user to authenticate the Payment Instruction using their Passkey and provides that instruction to the Visa Intelligent Commerce platform." Credential requests are then checked against that consent — "The Visa Intelligent Commerce platform will validate that these requests match the authenticated user instruction and set network level controls." — and at authorization time, "When authorization requests are received by VisaNet, controls will be enforce to ensure that the request originates from the intended merchant for the correct amount." (typo in original).
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-retrieve-credentials-intro.htmlCredentials are scoped to an authenticated instruction: retrieval is POST /acp/v1/instructions/{instructionID}/credentials, and the request must declare where and for how much the credential will be used — required fields include "merchantInformation.merchantName", the merchant descriptor URL, and "orderInformation.amountDetail.totalAmount"; optional product-policy fields ("policies.refundPolicy", "policies.disputePolicy", cancellation/shipping policies) attach merchant terms to the credential request. "During checkout, your agents display a list of the customer's tokenized cards."
  • [community] https://news.ycombinator.com/item?id=47371289The Visa/Mastercard announcements are interesting but feel premature. The missing piece is standardized agent identity and capability declarations — something like 'this agent is authorized by user X to spend up to $Y on category Z'. That's more of an identity/permissions problem than a payments problem.

Build against official SDKsweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://corporate.visa.com/en/sites/visa-perspectives/innovation/visa-mcp-server-agent-acceptance-toolkit.htmlDevelopers can now connect to Visa Intelligent Commerce APIs through the MCP Server, making it faster and easier for builders to bring intelligent, payment-enabled experiences to life.
  • [claimed-docs] https://github.com/visaacceptance/agent-toolkitIt offers a specialized set of tools designed to help you manage invoices, create payment links, and perform other Visa Acceptance-related operations.
  • [probe] https://github.com/visaacceptance/agent-toolkitofficial MCP server documented at https://github.com/visaacceptance/agent-toolkit
  • [probe] https://developer.visa.com/capabilities/visa-intelligent-commercePROBE runtime (recorded 2026-09-14): Visa's developer gateway is live and credential-gated exactly as documented — a keyless GET to https://api.visa.com/vdp/helloworld answered with the structured challenge {"responseStatus":{"status":400,"code":"9123",...,"message":"Expected input credential was not present"}} — and the Visa Acceptance Agent Toolkit MCP server resolves on the public npm registry (npm view @visaacceptance/mcp → 0.0.96, Visa-staff maintainers).
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-retrieve-credentials-intro.htmlCredentials are scoped to an authenticated instruction: retrieval is POST /acp/v1/instructions/{instructionID}/credentials, and the request must declare where and for how much the credential will be used — required fields include "merchantInformation.merchantName", the merchant descriptor URL, and "orderInformation.amountDetail.totalAmount"; optional product-policy fields ("policies.refundPolicy", "policies.disputePolicy", cancellation/shipping policies) attach merchant terms to the credential request. "During checkout, your agents display a list of the customer's tokenized cards."
  • [claimed-docs] https://github.com/visa/trusted-agent-protocolThe TAP spec is public with a runnable reference implementation: "Establishing a universal standard of trust between AI agents and merchants for the next phase of agentic commerce." The repo ships a complete sample ecosystem — tap-agent, merchant-frontend, cdn-proxy (RFC 9421 verification), merchant-backend, and agent-registry — so merchants can "Instantly distinguish a legitimate, credentialed agent from an anonymous bot" and confirm the agent "Is it acting on behalf of a specific, authenticated user?"

Subscribe to events via webhooksweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Agent-ready = 94.6 ÷ 180 × 100 = 52.6

API quality26.9/100×0.20 of the PA blend

The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.

Explore an interactive API reference with runnable examplesweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-enroll-card-intro.html"Your agents can enroll a customer's card for tokenization during the customer's account registration or when the customer begins a new purchase intent" via POST /acp/v1/tokens (https://api.visaacceptance.com production, https://apitest.visaacceptance.com test); a required field is paymentInformation.instrumentIdentifier.id (prerequisite page: "Create an Instrument Identifier Token"). Enrollment returns PENDING and "the customer is immediately prompted to verify their identity in order to activate the enrolled card" — the documented step-up rail includes "Create a One-Time Password for Tokenized Card Authentication" and passkey setup.
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-retrieve-credentials-intro.htmlCredentials are scoped to an authenticated instruction: retrieval is POST /acp/v1/instructions/{instructionID}/credentials, and the request must declare where and for how much the credential will be used — required fields include "merchantInformation.merchantName", the merchant descriptor URL, and "orderInformation.amountDetail.totalAmount"; optional product-policy fields ("policies.refundPolicy", "policies.disputePolicy", cancellation/shipping policies) attach merchant terms to the credential request. "During checkout, your agents display a list of the customer's tokenized cards."
  • [claimed-docs] https://developer.visaacceptance.com/hello-world/agentic-sandbox.htmlMerchant-side onboarding starts with a self-serve "Intelligent Commerce Sandbox Sign up" form (Organization ID, company, contact details, terms acceptance) on the Visa Acceptance developer portal: "After completing the evaluation registration process, you will be able to send test transactions" — account instructions arrive by email for the Test Enterprise Business Center.
  • [probe] https://developer.visaacceptance.com/llms.txtPROBE llms.txt: HTTP 200 at https://developer.visaacceptance.com/llms.txt # VisaAcceptance Developer Center > This developer documentation site provides comprehensive technical resources for in

Download a machine-readable API spec (OpenAPI or equivalent)weight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-enroll-card-intro.html"Your agents can enroll a customer's card for tokenization during the customer's account registration or when the customer begins a new purchase intent" via POST /acp/v1/tokens (https://api.visaacceptance.com production, https://apitest.visaacceptance.com test); a required field is paymentInformation.instrumentIdentifier.id (prerequisite page: "Create an Instrument Identifier Token"). Enrollment returns PENDING and "the customer is immediately prompted to verify their identity in order to activate the enrolled card" — the documented step-up rail includes "Create a One-Time Password for Tokenized Card Authentication" and passkey setup.
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-retrieve-credentials-intro.htmlCredentials are scoped to an authenticated instruction: retrieval is POST /acp/v1/instructions/{instructionID}/credentials, and the request must declare where and for how much the credential will be used — required fields include "merchantInformation.merchantName", the merchant descriptor URL, and "orderInformation.amountDetail.totalAmount"; optional product-policy fields ("policies.refundPolicy", "policies.disputePolicy", cancellation/shipping policies) attach merchant terms to the credential request. "During checkout, your agents display a list of the customer's tokenized cards."
  • [probe] https://developer.visaacceptance.com/llms.txtPROBE llms.txt: HTTP 200 at https://developer.visaacceptance.com/llms.txt # VisaAcceptance Developer Center > This developer documentation site provides comprehensive technical resources for in
  • [claimed-docs] https://corporate.visa.com/en/sites/visa-perspectives/innovation/visa-mcp-server-agent-acceptance-toolkit.htmlDevelopers can now connect to Visa Intelligent Commerce APIs through the MCP Server, making it faster and easier for builders to bring intelligent, payment-enabled experiences to life.

Test against a sandbox environment without touching production dataweight 1

1 (weight) × 8 (quality) × 1.0 (full) = 8.0 of 10 max

  • [claimed-docs] https://developer.visaacceptance.com/hello-world/agentic-sandbox.htmlMerchant-side onboarding starts with a self-serve "Intelligent Commerce Sandbox Sign up" form (Organization ID, company, contact details, terms acceptance) on the Visa Acceptance developer portal: "After completing the evaluation registration process, you will be able to send test transactions" — account instructions arrive by email for the Test Enterprise Business Center.
  • [claimed-docs] https://developer.visa.com/capabilities/visa-intelligent-commerceFees, verbatim from FEES & TERMS: "Free to use in Sandbox. Contact Visa for fees in Production." On refunds/disputes the docs stop at evidence capture, not a dispute API: "Collection of commerce signals that will provide the user’s original instruction and the details of each authorized purchase allow for the quick resolution of most disputes" and "These signals, along with the user instructions can be used to resolve any disputes that may arise."
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-enroll-card-intro.html"Your agents can enroll a customer's card for tokenization during the customer's account registration or when the customer begins a new purchase intent" via POST /acp/v1/tokens (https://api.visaacceptance.com production, https://apitest.visaacceptance.com test); a required field is paymentInformation.instrumentIdentifier.id (prerequisite page: "Create an Instrument Identifier Token"). Enrollment returns PENDING and "the customer is immediately prompted to verify their identity in order to activate the enrolled card" — the documented step-up rail includes "Create a One-Time Password for Tokenized Card Authentication" and passkey setup.

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-enroll-card-intro.html"Your agents can enroll a customer's card for tokenization during the customer's account registration or when the customer begins a new purchase intent" via POST /acp/v1/tokens (https://api.visaacceptance.com production, https://apitest.visaacceptance.com test); a required field is paymentInformation.instrumentIdentifier.id (prerequisite page: "Create an Instrument Identifier Token"). Enrollment returns PENDING and "the customer is immediately prompted to verify their identity in order to activate the enrolled card" — the documented step-up rail includes "Create a One-Time Password for Tokenized Card Authentication" and passkey setup.
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-retrieve-credentials-intro.htmlCredentials are scoped to an authenticated instruction: retrieval is POST /acp/v1/instructions/{instructionID}/credentials, and the request must declare where and for how much the credential will be used — required fields include "merchantInformation.merchantName", the merchant descriptor URL, and "orderInformation.amountDetail.totalAmount"; optional product-policy fields ("policies.refundPolicy", "policies.disputePolicy", cancellation/shipping policies) attach merchant terms to the credential request. "During checkout, your agents display a list of the customer's tokenized cards."

API quality = 18.8 ÷ 70 × 100 = 26.9

Openness24.0/100×0.20 of the PA blend

Can you leave, inspect, or self-host — data export, open source, portability.

Do everything through the API that I can do in the UIweight 2

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Export all of my data in open formats and leaveweight 3

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Read the product's source under an open licenseweight 2

2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max

  • [probe] https://developer.visa.com/capabilities/trusted-agent-protocol/trusted-agent-protocol-specificationsPROBE runtime (recorded 2026-09-14): the Trusted Agent Protocol is published in the open — https://raw.githubusercontent.com/visa/trusted-agent-protocol/main/README.md serves the spec README keylessly, and the repo ships a reference implementation (agent-registry, cdn-proxy, merchant-backend, tap-agent) under an open license.
  • [claimed-docs] https://github.com/visa/trusted-agent-protocolThe TAP spec is public with a runnable reference implementation: "Establishing a universal standard of trust between AI agents and merchants for the next phase of agentic commerce." The repo ships a complete sample ecosystem — tap-agent, merchant-frontend, cdn-proxy (RFC 9421 verification), merchant-backend, and agent-registry — so merchants can "Instantly distinguish a legitimate, credentialed agent from an anonymous bot" and confirm the agent "Is it acting on behalf of a specific, authenticated user?"
  • [github] https://github.com/visa/trusted-agent-protocolBy presenting a secure digital signature with every interaction, a merchant can verify that an agent is legitimate and has the user's permission to act.
  • [claimed-docs] https://github.com/visaacceptance/agent-toolkitIt offers a specialized set of tools designed to help you manage invoices, create payment links, and perform other Visa Acceptance-related operations.

Self-host the core productweight 3

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Openness = 4.8 ÷ 20 × 100 = 24.0

Built-in AI22.0/100×0.15 of the PA blend

Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.

Get AI-generated insights and suggestions from my data inside the productweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."
  • [claimed-docs] https://developer.visa.com/capabilities/visa-intelligent-commerceHuman approval is passkey-anchored end to end: provisioning includes "step up verification of the cardholder as well as setting up a Passkey that will be used by the agent to authenticate future instructions"; before spending, "The agent requests the user to authenticate the Payment Instruction using their Passkey and provides that instruction to the Visa Intelligent Commerce platform." Credential requests are then checked against that consent — "The Visa Intelligent Commerce platform will validate that these requests match the authenticated user instruction and set network level controls." — and at authorization time, "When authorization requests are received by VisaNet, controls will be enforce to ensure that the request originates from the intended merchant for the correct amount." (typo in original).
  • [claimed-docs] https://developer.visaacceptance.com/products/intelligent_commerce.htmlCapture consumer consent, set spending limits, and manage mandates for agent-initiated payments.
  • [claimed-docs] https://developer.visa.com/capabilities/visa-intelligent-commerceAgent-scoped credentials are the core primitive: "Provisioning and life cycle management of agent-specific payment tokens that can be used by agents to make secure transactions on behalf of the user" — "A new pass-through payment token, specific to agents, that is intended for use at Visa-accepting merchant locations." The page carries a maturity caveat, verbatim: "This product is in the process of development and deployment."

Delegate tasks to a built-in AI assistant inside the productweight 3

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Operate the product with natural-language commandsweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://corporate.visa.com/en/sites/visa-perspectives/innovation/visa-mcp-server-agent-acceptance-toolkit.htmlthe toolkit helps developers and non-technical users to work with AI agents using plain language — no coding required.
  • [claimed-docs] https://github.com/visaacceptance/agent-toolkitIt offers a specialized set of tools designed to help you manage invoices, create payment links, and perform other Visa Acceptance-related operations.
  • [claimed-docs] https://corporate.visa.com/en/sites/visa-perspectives/innovation/visa-mcp-server-agent-acceptance-toolkit.htmlDevelopers can now connect to Visa Intelligent Commerce APIs through the MCP Server, making it faster and easier for builders to bring intelligent, payment-enabled experiences to life.
  • [probe] https://github.com/visaacceptance/agent-toolkitofficial MCP server documented at https://github.com/visaacceptance/agent-toolkit
  • [probe] https://developer.visa.com/capabilities/visa-intelligent-commercePROBE runtime (recorded 2026-09-14): Visa's developer gateway is live and credential-gated exactly as documented — a keyless GET to https://api.visa.com/vdp/helloworld answered with the structured challenge {"responseStatus":{"status":400,"code":"9123",...,"message":"Expected input credential was not present"}} — and the Visa Acceptance Agent Toolkit MCP server resolves on the public npm registry (npm view @visaacceptance/mcp → 0.0.96, Visa-staff maintainers).

Built-in AI = 13.2 ÷ 60 × 100 = 22.0

Automation18.0/100×0.15 of the PA blend

Depth of automation primitives — rules, scheduling, bulk operations, webhooks.

Perform bulk operations across many items at onceweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://github.com/visaacceptance/agent-toolkitIt offers a specialized set of tools designed to help you manage invoices, create payment links, and perform other Visa Acceptance-related operations.
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-enroll-card-intro.html"Your agents can enroll a customer's card for tokenization during the customer's account registration or when the customer begins a new purchase intent" via POST /acp/v1/tokens (https://api.visaacceptance.com production, https://apitest.visaacceptance.com test); a required field is paymentInformation.instrumentIdentifier.id (prerequisite page: "Create an Instrument Identifier Token"). Enrollment returns PENDING and "the customer is immediately prompted to verify their identity in order to activate the enrolled card" — the documented step-up rail includes "Create a One-Time Password for Tokenized Card Authentication" and passkey setup.
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-retrieve-credentials-intro.htmlCredentials are scoped to an authenticated instruction: retrieval is POST /acp/v1/instructions/{instructionID}/credentials, and the request must declare where and for how much the credential will be used — required fields include "merchantInformation.merchantName", the merchant descriptor URL, and "orderInformation.amountDetail.totalAmount"; optional product-policy fields ("policies.refundPolicy", "policies.disputePolicy", cancellation/shipping policies) attach merchant terms to the credential request. "During checkout, your agents display a list of the customer's tokenized cards."

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 5 (quality) × 0.6 (partial) = 9.0 of 30 max

  • [claimed-docs] https://developer.visaacceptance.com/products/intelligent_commerce.htmlConfirm payment outcomes and trigger post-purchase actions in real-time.
  • [claimed-docs] https://developer.visa.com/capabilities/visa-intelligent-commerceHuman approval is passkey-anchored end to end: provisioning includes "step up verification of the cardholder as well as setting up a Passkey that will be used by the agent to authenticate future instructions"; before spending, "The agent requests the user to authenticate the Payment Instruction using their Passkey and provides that instruction to the Visa Intelligent Commerce platform." Credential requests are then checked against that consent — "The Visa Intelligent Commerce platform will validate that these requests match the authenticated user instruction and set network level controls." — and at authorization time, "When authorization requests are received by VisaNet, controls will be enforce to ensure that the request originates from the intended merchant for the correct amount." (typo in original).
  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."

Schedule recurring jobs or workflowsweight 2

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Version, review, and roll back my automationsweight 1

1 (weight) × 3 (quality) × 0.6 (partial) = 1.8 of 10 max

  • [claimed-docs] https://developer.visaacceptance.com/docs/vas/en-us/intelligent-commerce/developer/all/rest/intelligent-commerce/intelligent-commerce-purchase-initiate-intro.htmlSpend caps live in the purchase-intent mandate: Initiate a Purchase Intent (POST /acp/v1/instructions) exists "to verify that your agent is acting in accordance with the customer's intent", with required mandates fields declineThreshold (amount, currencyCode), effectiveUntilTime, mandateId, and description — the sample mandate sets a 10000.00 USD decline threshold and a consumerPrompt of "Authorize payment to Best Buy". Revocation is a documented follow-on: "Your agent can cancel a purchase intent when the customer chooses to not make the purchase."
  • [claimed-docs] https://developer.visa.com/capabilities/visa-intelligent-commerceHuman approval is passkey-anchored end to end: provisioning includes "step up verification of the cardholder as well as setting up a Passkey that will be used by the agent to authenticate future instructions"; before spending, "The agent requests the user to authenticate the Payment Instruction using their Passkey and provides that instruction to the Visa Intelligent Commerce platform." Credential requests are then checked against that consent — "The Visa Intelligent Commerce platform will validate that these requests match the authenticated user instruction and set network level controls." — and at authorization time, "When authorization requests are received by VisaNet, controls will be enforce to ensure that the request originates from the intended merchant for the correct amount." (typo in original).

Automation = 10.8 ÷ 60 × 100 = 18.0