Preparing for agentic payments. 6 chapters and a final quiz.
The decision course for product managers and architects who see shopping agents coming. Assess a protocol’s real maturity from public evidence, specify an enforceable mandate and the evidence package behind it, wire agent recognition into your site’s front door, defuse the six failures that break an agentic checkout, negotiate liability with your acquirer, cost out an order, then sort the work into no-regret investments and protocol bets.
Assess an agentic protocol’s maturity against six public proofs before committing any development work
Specify an enforceable mandate and build the evidence package that will defend it 18 months later
Wire agent recognition into your site’s front door and choose between allowing, degrading, and refusing
Identify the failures that break an agentic checkout and put a fix in place for each
Chapter 1. Reading a protocol’s real maturity.
The market won’t crown a winning agentic protocol anytime soon, so the useful question is a different one: which protocol can a team spend a quarter of development on without regret? You answer it with public evidence, never with announcements. In one hour, you can check that a dated specification exists, that a license is named, that a change process is written down, and that geographic availability is declared. A press release substitutes for none of those four proofs.
Six proofs to demand before writing the first line of code
A versioned, dated specification you can read without an account or a nondisclosure agreement. A marketing page doesn’t count.
An explicit license covering the specification text and the reference implementation.
A written change process: who proposes a change, who decides, and how quickly.
A runnable reference implementation, with a sandbox where you can reproduce a decline, not just a success.
Declared geographic availability from the provider that will bill you. It is the criterion most often overlooked outside the US.
A documented production transaction, dated and naming both parties. An announced pilot doesn’t qualify.
Announced September 16, 2025; documentation published on ap2-protocol.org (accessed August 2026)
Apache 2.0; repository maintained by Google; standards work handed to FIDO Alliance technical groups
The mandate, signed as a verifiable credential: Checkout Mandate, Payment Mandate
The object model has changed since the initial announcement
UCP (Universal Commerce Protocol)
Published in January 2026 by Google and Shopify; listed by Stripe as a seller protocol (Stripe documentation, August 2026)
Builds on AP2
Catalog and cart shared among agents, merchants, and providers
How it fits with ACP on the seller side is left to the provider
x402
Public specification; implementation documented by Stripe (August 2026)
x402 Foundation, hosted by the Linux Foundation since April 2026
Pay-per-request: HTTP status code 402, settlement in stablecoins
No dispute mechanism, since on-chain settlement is irreversible
Trusted Agent Protocol (Visa)
Announced October 14, 2025; specifications on the Visa Developer Center and GitHub (Visa, 2025)
Published by Visa with 12 named partners, including Adyen, Checkout.com, Fiserv, Microsoft, Nuvei, Shopify, Stripe, and Worldpay
Cryptographic signing of agent requests and declaration of intent
The mandate cap and who bears the financial cost of a dispute
Five agentic protocols checked against the public evidence (as of August 2026)
ACP deserves a closer look, because it sets the benchmark: five dated versions in just over six months, each describing a complete state of the specification. You can read the cadence in the repository, not in a keynote, so a team can pin a version, read it end to end, and know exactly what changed in the next one. That is what you should expect from a standard you plug payment collection into.
⚠️
Object models shift, even at the biggest players
AP2 was announced on September 16, 2025, built around a chain of three mandates: intent, cart, and payment. Its reference documentation now describes only two, Checkout Mandate and Payment Mandate, each with two states, open and then closed (ap2-protocol.org, August 2026). The vocabulary of a version 0.x protocol is not a contract. Isolate it behind your own domain objects, or every revision will cost you a database migration.
5 versions
published and dated by ACP between September 29, 2025, and April 17, 2026
protocol’s GitHub repository, accessed August 2026
12
partners named when Visa published its Trusted Agent Protocol
Visa press release, October 14, 2025
+4 700 %
year-over-year growth in AI-referred traffic to US retail sites, as cited in support of the launch
Visa, October 2025
🔑
The decision rule
Build against a protocol when its public proofs are all in place and the provider that bills you offers it in your market. Otherwise, build against your own internal model and connect the protocol through an adapter. That adapter costs far less than reworking a data schema.
🎯 Quick question
Which element best shows that your team can build on an agentic protocol right now?
Chapter 2. The delegated mandate and the evidence it leaves.
A mandate is used at two moments, months apart: first when it authorizes the agent to spend, then when it defends the merchant against a dispute. The two uses have different requirements. The first can live with a short-lived object in memory; the second needs a dated, signed record that can be retrieved by order number. Design for the second, and the first will follow.
The seven fields of an enforceable mandate
Scope
What it sets
What breaks without it
Identity of the principal
The person or business whose funds are committed
No way to attribute the transaction: by default, the dispute goes back to the agent provider
Agent identifier
Which software is acting, and which version
A malfunctioning agent can’t be isolated; you suspend the whole channel or nothing
Per-transaction limit
The maximum amount of a single transaction
A quantity error goes through authorization with no safeguard
Cumulative limit and time window
The maximum amount over a given period
Slow drift goes unnoticed: 10 compliant transactions, one absurd total
Scope
Permitted merchants, categories, or countries
The agent buys something out of scope, and the merchant has no grounds to push back
Expiration
The date after which the mandate is no longer valid
An open-ended mandate becomes a standing authorization that nobody reviews
Revocation and signed timestamp
The exact, provable moment the authorization ends
No way to prove that a transaction came after the revocation
What each field sets, and what breaks when it’s missing
These fields are not theoretical. Stripe’s shared payment token already carries them in production, available to agents, customers, and sellers in the US and Canada. The agent grants the seller a bounded right of use, described by a usage_limits object with only three limits, but the right ones: currency, maximum amount, and expiration date. The cap is set against the transaction total.
A bounded mandate as the seller sees it (Stripe documentation, August 2026)
Two operational details belong in the design. The object carries a deactivation reason, and the seller receives the shared_payment.granted_token.deactivated event when the token is used, expires, or is revoked. A revoked token can no longer create a payment, so the withdrawal of authorization is a signal you receive, not something you infer. Any design that ignores that signal generates attempts that are doomed from the start.
The second example comes from a non-card rail, and it has a longer track record. On UPI, India’s real-time payment system, an AutoPay mandate carries its own identifier, the UMN. It has its own life cycle: creation, recurring executions, pause, revocation, expiration. Since August 1, 2025, NPCI has even restricted when mandates can execute, keeping them out of the peak windows of 10 a.m. to 1 p.m. and 5 p.m. to 9:30 p.m. The same model applies to agentic payments: a mandate is an object with a life cycle, not a flag set on a payment.
From human authorization to evidence package
Payer
Sets the limits
Currency, maximum amount, expiration date, merchant scope
➜
Agent provider
Issues a signed, revocable mandate
A dated object tied to an agent identifier and a human identity
➜
Agent
Presents the mandate to the merchant
Signed request, mandate reference, locked cart
➜
Merchant
Records the evidence before collecting payment
Mandate, signature, timestamp, cart hash, order ID
➜
Merchant
Produces the evidence package if a dispute arises
The package links authorization, amount, payee, and timing
🔑
Keep your own mandate log
The mandate log belongs to the merchant, not to the protocol. One table, six columns, indexed by order ID: mandate received, agent, limits, timestamp, signature, reason for termination. It survives a change of protocol and a change of provider alike. Set its retention period to your longest dispute window, whether the card network or the applicable law sets it, not to the life of the mandate.
🎯 Quick question
A seller receives the deactivation event for a shared payment token, with the reason “revoked.” What should its system do?
Chapter 3. Recognizing the agent at the front door.
The front door poses an asymmetric problem: blocking bots protects prices and inventory, but blocking a shopping agent destroys revenue. Both come through the same pipe, and a self-declared header distinguishes nothing, because anyone can copy it. The networks’ answer is to have every request signed. The merchant verifies a signature, then decides.
Visa’s Trusted Agent Protocol builds on RFC 9421, the standard for HTTP message signatures. Two headers carry the proof: Signature-Input describes what was signed, and Signature contains the result. The tag distinguishes intent: a browsing request is marked agent-browser-auth, while a request that commits to a payment carries agent-payer-auth. The merchant can therefore treat an agent reading a product page differently from an agent paying.
Presence and format: the signature fields exist, and the tag is agent-browser-auth or agent-payer-auth.
Time window: the creation and expiration times fall within an eight-minute interval, in the right order.
Nonce uniqueness: the nonce hasn’t been used before, checked against an eight-minute cache.
Key resolution: the public key is retrieved and then validated.
Cryptographic verification: the signature base is rebuilt, and the signature is validated against it.
⚠️
Three failures that cost revenue in production
Clock drift. An eight-minute window looks generous until you hit a server whose clock is 10 minutes off. Synchronize your clocks and track the drift as a metric. An unshared nonce cache. Behind a load balancer, each instance sees only part of the traffic; a local cache lets replays through and rejects valid requests. Key rotation. A key retired without an overlap period silently turns a legitimate agent into an unknown one.
Request status
Policy
Intended effect
Valid signature, browsing tag
Allow reads, apply an agent-specific rate limit
Stay visible without letting the catalog be scraped
Valid signature, payment tag
Allow the purchase flow and log the agent ID on the order
Make the dispute attributable later
No signature
Degrade: read-only, no checkout, explicit response
Avoid silently turning away a buyer who is trying the channel for the first time
Invalid, expired, or replayed signature
Refuse, log, count by key
Spot a campaign before it turns into fraud
Three entry policies, by signature status
ℹ️
Identifying is not judging
A valid signature proves where a request came from, but says nothing about how the agent behaves. A correctly signed agent can rack up cancellations, tie up inventory, or test carts. So track by agent ID what you already track by card: velocity, failure rate, refund rate. Reputation is built on those time series, not on the signature.
🎯 Quick question
Why does the specification require a uniqueness check on the request nonce in addition to signature verification?
Chapter 4. Avoiding declines: where an agentic checkout breaks.
An agentic checkout rarely fails at authorization. It fails earlier: the agent read a price in a feed, built a cart, and then presented a total the merchant no longer recognizes. Or the merchant took four seconds too long to respond. The causes are mechanical, so they can be fixed. But you have to name them before go-live.
Failure
Symptom
Fix
Stale product feed
The agent quotes a price that checkout rejects
Publish the catalog once a day, and prices and inventory every 15 minutes
Out-of-stock status not propagated
The cart fails validation, and the agent switches to a competitor
Expose a price and availability endpoint queried on demand
Approval timeout exceeded
The payment is declined with no business reason
Hold the four-second budget at the 99th percentile, checks included
Malformed response from the approval endpoint
The agent receives an error and retries the request
Make the endpoint idempotent, with one key per order attempt
Taxes or shipping costs calculated too late
The total differs from the one shown to the buyer
Calculate them at the customization step, before confirmation
Unplanned strong customer authentication (SCA)
The issuer declines a transaction without the cardholder present
Design the recovery flow and the handoff to a human
Six failures, their symptom on the agent side, and their fix
Take the four-second budget seriously. An order approval endpoint that doesn’t respond within that time causes the payment to be declined (Stripe documentation, August 2026). Those four seconds must cover the inventory check, the risk assessment, and the decision. A synchronous call to a slow third-party service rarely fits, so precompute, cache, and keep the critical path short.
Approval decision: the response expected from the merchant
Idempotency is not a nicety here. A response in an unexpected format reaches the agent as an error, and some agents retry their calls. Without an idempotency key, a retry creates a second order: the customer receives two packages and files a dispute. The fix is a single design rule: every order attempt carries a key, and the same key always returns the same decision.
⚠️
The agentic channel suspends no authentication rules
In the European Union, a payment initiated by an agent remains subject to PSD2 and to the regulatory technical standards on strong customer authentication. No carve-out specific to agentic payments has been published to date (Osborne Clarke analysis, 2026). A flow that assumes no authentication request will come eventually ends in a decline, so plan the recovery path: a notification to the cardholder, a saved cart, and an explicit expiration.
✅
One test worth a full round of acceptance testing
Change a price in your system without publishing the feed, then place an order through the agentic channel. If it goes through at the old price, your freshness pipeline is broken. If it fails with no readable reason, so is your logging. The test takes five minutes to rerun and covers the two most common failures.
🎯 Quick question
A merchant publishes its price feed once a day and sees checkout failures late in the day. Which fix addresses the root cause?
Chapter 5. Liability, contracts, and cost per order.
Liability is the wrong question when you treat it as pure law: it is settled first in the contract and in the evidence. A merchant that can produce the mandate, the signature, and the cart hash can defend itself; a merchant that can produce only a transaction ID absorbs the loss. The difference is decided at integration time, not when the dispute arrives.
Negotiation point
Wording to secure
Evidence to produce on your side
Agent identification in reporting
The agent ID appears on every exported transaction
The same ID logged on your order
Handover of mandates
Access to and export of received mandates, in a readable format, free of charge
Your internal mandate log, matched by order ID
Signature verification log
Verification results retained for the full dispute period
Timestamp, intent tag, fingerprint of the key used
Refund handling
The existing refund flow applies to the agentic channel unchanged
Refund linked to the original order and mandate
Per-agent suspension
Ability to suspend a specific agent without shutting down the channel
Velocity and incident time series by agent ID
Exposure cap
Cap on amount and volume for the channel, subject to review
Daily tracking of the amount collected per agent
Six points to negotiate with your acquirer or provider, and the supporting evidence
Two of these points can already be checked in existing tools: agentic orders appear in the transaction list, tagged with the originating agent, and a filter isolates them. Refunds need no changes, because an agentic payment follows the standard flow (Stripe documentation, August 2026). On the network side, the payment instrument is still a tokenized card linked to an agent, a merchant scope, and a consent policy. Mastercard published this mechanism for Agent Pay on April 29, 2025.
Calculating the cost of an agentic order
Full cost of an agentic order (replace the assumptions with your own figures)
# Working assumptions: replace them with your own contract terms
avg_order_value = 80.00 # currency units
variable_fee_rate = 0.019 # negotiated acquirer rate
fixed_fee = 0.25 # fixed amount per transaction
decline_rate = 0.06 # share of agentic orders declined
gross_margin = 0.35 # margin on the average order
operating_cost = 1200.0 # feeds, endpoints, monitoring, per month
orders_per_month = 4000
processing_cost = avg_order_value * variable_fee_rate + fixed_fee
decline_cost = (decline_rate / (1 - decline_rate)) * avg_order_value * gross_margin
fixed_unit_cost = operating_cost / orders_per_month
total_cost = processing_cost + decline_cost + fixed_unit_cost
print(round(processing_cost, 2)) # 1.77
print(round(decline_cost, 2)) # 1.79
print(round(fixed_unit_cost, 2)) # 0.30
print(round(total_cost, 2)) # 3.86
Look at the second line of the output: under these assumptions, declines cost as much as the acquirer fee. Gaining one point of success rate is then worth more than 10 basis points off the acquirer rate. That is why the previous chapter covers failures, not pricing. That’s where the leverage is.
Machine-to-machine payments run on different economics. One documented x402 implementation, for example, charges $0.01 in USDC per request, settled on Base, Solana, or Tempo. Access is open to businesses in every US state except New York, and in more than 30 countries on request (Stripe documentation, August 2026). With no interchange and no disputes, irreversibility changes the design: checks happen before payment, never after.
🔑
Declines decide the economics
Run an agentic channel on three metrics, and no more: payment success rate, refund rate, and fully loaded unit cost. Fees get negotiated once a year. Success rate is won every week, through fresh data and a latency budget you actually hold.
🎯 Quick question
With an average order value of 80, a 35% gross margin, and a 6% decline rate, which line item weighs most per completed order?
Chapter 6. Schemes, regulators, and sequencing the work.
Build a roadmap on what is published, dated, and enforceable. Everything else is monitoring. The timeline below includes only facts you can verify with their source: a scheme press release, a specification version, a regulatory text, a documented transaction.
Apr. 29, 2025
Mastercard announces Agent Pay
Agentic tokens link a tokenized card to an agent, a merchant scope, and a consent policy.
Apr. 30, 2025
Visa announces Intelligent Commerce
Tokenization APIs opened to verified agents, one day after the rival announcement.
Sept. 29, 2025
ACP’s first dated version
The OpenAI and Stripe protocol publishes its 2025-09-29 version under the Apache 2.0 license.
Oct. 14, 2025
Visa publishes the Trusted Agent Protocol
Twelve named partners; specifications on the Visa Developer Center and GitHub; RFC 9421 signatures.
Jan. 2026
California’s AB 316 takes effect
The autonomy of an AI system is no defense for whoever deployed it.
Apr. 17, 2026
ACP publishes its current version
The fifth dated version since September 2025: cart, feed, orders, authentication.
June 2, 2026
First live agentic transaction in Europe
Worldline and ING, with Mastercard: an agent selects and then pays within a budget set by the customer.
July 27, 2026
EU simplification package takes effect
It pushes back some deadlines under the EU AI Act.
Aug. 2, 2026
Regulation (EU) 2024/1689, the AI Act, becomes applicable
Obligations for Annex III high-risk systems are pushed back to December 2, 2027, and those for Annex I to August 2, 2028.
Two lessons emerge from this list, and they pull in opposite directions. The schemes are moving fast and publishing usable specifications, while regulators have created no regime specific to agentic payments. In the European Union, PSD2 and the technical standards on strong customer authentication still apply as written (Osborne Clarke, 2026). In California, the law does the opposite of granting an exemption: whoever deploys the system is liable.
ℹ️
Regulatory silence is not a green light
The lack of agent-specific rules creates no safe harbor. It means existing rules apply unchanged: authentication, payer disclosures, handling of unauthorized transactions, data protection. A project that counts on future clarification takes on schedule risk for no benefit.
No-regret move or bet
Initiative
Type
Why it’s justified
Structured catalog, with a refresh cadence you keep
No regret
Serves search, comparison, and every protocol; measured in declines avoided
Internal mandate log
No regret
Yours to own; survives a change of protocol or provider
Logging by agent ID
No regret
Prerequisite for any targeted suspension and any dispute attribution
Idempotent order API
No regret
Fixes duplicates created by retries, agentic or not
Deep integration with a specific protocol
Bet
Object models are still shifting; build it behind an adapter
Stablecoin settlement rail
Bet
Different, irreversible economics; justified for pay-per-request, not for cart checkout
Dedicated wallet for agents
Bet
Depends on availability and regulatory status that must be checked market by market
Sort the workstreams before sequencing them
🔑
The sequencing rule
Build first what stays useful even if no protocol wins: fresh data, retained mandates, attributable logs, and idempotent orders. These four workstreams pay for themselves on your existing channel, before the first agent shows up. Everything else waits for proof that it’s available in your market.
One last point for readers operating outside the US. The best-documented agentic payments programs for sellers are still limited to the US and Canada, and the frameworks the schemes have published cover card tokens. Yet your local rail already has its own delegation primitive, whether it’s a UPI AutoPay mandate, a direct debit mandate, or a recurring authorization. These objects have a life cycle, termination reasons, and execution windows. Map them. The day the agentic channel opens in your market, half the work will already be done.
🎯 Quick question
Which workstream still pays off even if no agentic protocol wins in your market?