Overview
How might we show a person the exact charge an agent wants to make, so they can approve or decline before money moves?
When to use
- A shopping agent is ready to pay a specific merchant for specific items.
- The amount, fees, or seller changed since the person last agreed.
- The charge exceeds the agent spending limit.
- A wallet such as Stripe Link holds the card and will release a credential only after approval.
When to skip
- Purchases already inside an agent spending limit the person set, where another approval would repeat the same decision.
- Read-only shopping, such as compare, save, or watch a price, where no money moves.
- A quote or contract sale that needs a human seller, not a one-tap charge.
States
Treat the spend request as its own object, with a short life.
- 01
Requested
The agent submits merchant, items, amount, and why. Nothing is charged yet.
- 02
Shown
The person sees the spend request: merchant, line items, total, reason, and which card.
- 03
Approved
The person approves. The wallet releases a scoped virtual card or token for this charge only.
- 04
Declined
The person declines. The agent stops. The cart can stay so they can change it.
- 05
Expired
The window closed. Say that the request is dead and require a new one.
- 06
Failed
The merchant or the network rejected the charge. Keep the request visible and say what failed.
Key UX elements
The fields a person needs on one spend request.
Merchant
Name who will be paid.
Show the merchant of record and the name that will appear on the statement.
Items
List what the charge covers.
Title, quantity, and price per line. An amount with an empty item list is not an approval.
Total
Show the amount that will move.
Include tax, shipping, and fees. State the currency.
Why
Say why the agent chose this buy.
One line tied to the person’s request, such as the size, the price cap, or the brand they asked for.
Card
Show which instrument will be charged.
Name the wallet card or the virtual card, masked. Do not put the full number in the thread.
Decision
Give approve and decline the same weight.
Both are explicit. A timeout declines. It does not approve.
Rules
An approval that shows an amount and hides the merchant, items, or fees.
A request that expires in silence, so the person thinks it is still waiting.
Approve and decline with unequal weight, or a timer that approves on its own.
Reusing one approval for a later charge with a different merchant or total.
Evidence
| Product | Implementation |
|---|---|
| Stripe Link | A spend request carries merchant, amount, and line items. The person approves it in Link before a one-time credential is released. |
| Meta Muse | The agent checks in before spending. The person sees the purchase and approves it in the activity flow. |
| Mastercard Agent Pay | Charges inside a preset cap can pass. A charge outside the cap asks for push-notification consent. |
| Visa Intelligent Commerce | Spend controls and authentication sit on the network token, so the person can still stop a charge that falls outside the rules. |