Before you start
- ✓A Stripe account in a country where agent payments are available (the UK is)
- ✓Something simple to sell first, with a fixed price and nothing to deliver
- ✓Separate sandbox and live keys, and a check you'll run after every release
- ✓A machine-readable description of your site, so agents can find what you sell
- ✓A decision on whether you need to know who is buying, or just get paid
Try it: ask an assistant to buy us a coffee
We sell one thing to AI agents: a £3 coffee for the 63Digital team. Ask an assistant that can make payments to "buy 63Digital a coffee". It reads our page for AI agents, asks Stripe for a token that can only pay us, and only up to £3, then pays. You get a Stripe receipt by email. People can buy the same coffee with the button on that page.
That's the whole idea: the assistant does the shopping, the buyer sets the limits, and the money arrives in your Stripe balance like any other payment.
Decide what an agent may buy
Start with something that has a fixed price and nothing to post: a donation, a deposit, a digital product, a booking fee. We chose a £3 coffee on purpose, so a mistake in testing costs pennies. Variable baskets, delivery and stock levels can come later, once you trust the basics.
Choose how agents pay: MPP or ACP
The two standards suit different sales, and we built both on our own site to compare them.
- MPP (Machine Payments Protocol) works like a tip jar. The agent asks to buy, your site replies with the price, and the agent comes straight back with payment. No account, no basket. It suits small, fixed-price purchases.
- ACP (Agentic Commerce Protocol) works like a checkout. The agent builds an order, can change quantities, sees the total and then pays. It suits real shops: several items, delivery options and an order confirmation page.
If you're unsure, start with MPP for one product and add ACP when there's a basket to manage.
Let Stripe hold the card
The buyer's card stays with Stripe and the assistant's platform. What reaches you is a Shared Payment Token: a single-use permission tied to your business, capped at an amount and set to expire. You charge it like any other Stripe payment, so it appears in your dashboard, follows your payout schedule, and refunds work as normal.
Decide whether you need to know who's buying
For a tip jar, anonymous is fine. For anything with a receipt, a delivery or an account, you'll want a real person behind the agent. On our checkout, the agent first asks the buyer to confirm their email address with a sign-in link and a short code, so the receipt and any follow-up go to someone real. We review this per business: the extra step costs some convenience and buys a lot of trust.
Make it findable
Agents don't browse; they read. Publish what you sell, the price and how to pay in the places agents look: a page written for AI agents, a machine-readable list of your services, and a plain-text summary of your site. We list the coffee in all three, so an assistant can find it without being told where to go.
Test in the sandbox, then go live
Stripe's sandbox lets agents pay with test cards, so you can run the whole journey without moving money. When it works, swap in live keys and check one real payment end to end: the price, the receipt, the dashboard entry and the refund.
What usually goes wrong
From our own projects, not the manual.
Retries could have charged twice
Agents retry when a connection drops. Each order carries a unique reference that our server and Stripe both remember, so a repeat gets the original answer, not a second charge. In testing we resent a finished order and completed it again: one charge.
Error messages gave away account details
When a permission was missing, Stripe's own error text named our account and key. We now pass only card declines back to agents; everything else stays in our logs.
Some cards need a code from the bank
Cards that ask for 3-D Secure can't be finished by an agent, because there's no person at the bank's screen. We say so clearly, so the assistant can send the buyer to the normal checkout instead.
Sandbox keys reached the live site
Our first release ran on sandbox keys: agents could test, but real cards were declined. After every release, check that the payment page Stripe opens is a live one, not a test one.
Do it yourself, or get help?
If you already take payments through Stripe, have a developer comfortable with its API, and want one fixed-price product sold by agents, this is a small project: start with MPP and the sandbox. If you sell baskets, deliveries or subscriptions, or want agents to act for verified customers, get help. Retries, identity checks and error messages are where a small mistake becomes a double charge or a leaked key.
Get a developer on it