Refunds, returns and order status between agents
How a shopper's agent could check an order, start a return and track a refund with a retailer's agent, and the US and Canadian rules both sides work within.
Order status, returns and refunds are among the most structured requests a retailer handles. The shopper’s agent already holds the order number, the item and the reason. The retailer’s systems already hold the order state and the return policy. Today the two meet through a tracking page, a returns portal, a chat widget or a phone line built for people.
How it works today
Order status. The retailer emails a confirmation and a carrier tracking number, and shows the order on an account page. An agent acting for the shopper reads that page, or asks the retailer’s chatbot, and interprets the answer.
Returns. A returns portal asks for the order number plus an email or postal code, a reason from a fixed list, and a refund method. It issues a return authorization and a label. The refund posts after the warehouse receives and inspects the item.
The rules that set the clock. In the US, the FTC’s Mail, Internet, or Telephone Order Merchandise Rule (16 CFR Part 435) requires sellers to ship within the time they state, or within 30 days if they state none (50 days when the buyer applies for credit with the order). If the seller cannot ship on time, it must offer the buyer the choice to accept the delay or cancel for a prompt refund, before the deadline passes. A prompt refund means within 7 working days for cash or check sales, and within one billing cycle for credit sales.
There is no general federal right to return goods. Return windows are store policy. States set disclosure rules: California’s Civil Code section 1723 requires a store with a no-refund or limited policy to post it, and lets a buyer return goods within 30 days for a full refund if it does not, with exceptions such as perishables, custom goods and items sold “as is”.
In Canada the rules are provincial. Ontario’s Consumer Protection Act, 2002 lets a consumer cancel if goods are not delivered within 30 days of the promised date, a right lost by accepting the late delivery, and the government’s guidance says most refunds are due within 15 days of cancelling. Ontario’s replacement statute, the Consumer Protection Act, 2023, is still marked “not yet in force” on e-Laws (checked 2026-09-26). Quebec’s Consumer Protection Act gives a similar 30-day cancellation right for distance contracts (s. 54.9), requires the merchant to refund within 15 days (s. 54.13), and lets the consumer ask the card issuer for a chargeback within 60 days if the merchant does not pay (s. 54.14).
What is already machine-readable. Retailers publish return policies as schema.org MerchantReturnPolicy markup (return window, method, fees, refund type), and Google documents that markup for search results. schema.org also defines OrderStatus values such as OrderInTransit, OrderDelivered and OrderReturned. This data is published for search engines to read. None of it lets an agent act.
The agent-to-agent version
Illustrative. The shopper’s agent sends one structured request to the retailer’s A2A endpoint:
{
"jsonrpc": "2.0",
"id": "req-ret-1",
"method": "SendMessage",
"params": {
"message": {
"messageId": "msg-ret-01",
"role": "ROLE_USER",
"parts": [
{ "text": "Return the boots from this order for a refund to the original card." },
{
"data": {
"orderId": "A-1001",
"sku": "BOOT-42-BLK",
"reason": "wrong_size",
"refundMethod": "original_payment"
},
"mediaType": "application/json"
}
]
}
}
}
The retailer’s agent checks the item against its policy and answers with a task that carries the return authorization as an artifact:
{
"jsonrpc": "2.0",
"id": "req-ret-1",
"result": {
"task": {
"id": "task-ret-7f3",
"contextId": "ctx-ret-21",
"status": {
"state": "TASK_STATE_WORKING",
"timestamp": "2026-09-26T15:04:00Z"
},
"artifacts": [
{
"artifactId": "rma-88412",
"name": "Return authorization",
"parts": [
{
"data": {
"rma": "RMA-88412",
"labelUrl": "https://retailer.example/labels/RMA-88412.pdf",
"returnBy": "2026-10-26",
"refundMethod": "original_payment",
"refundTiming": "within 5 business days of receipt"
},
"mediaType": "application/json"
}
]
}
]
}
}
}
The task stays in TASK_STATE_WORKING until the refund posts, then moves to TASK_STATE_COMPLETED with a refund reference. The shopper’s agent can poll with GetTask or receive push notifications if the retailer supports them. An order status request is the same pattern without the side effects: a read-only task that returns an OrderStatus value and the tracking number.
What has to be true
Identity. The retailer needs to know which agent is calling (a signed Agent Card, OAuth client credentials, or signed HTTP requests) and which customer it acts for. Order number plus email is what portals accept today; it is weak proof, and it gets weaker when software can try combinations at scale.
Authority. A read-only status check needs little. A return needs evidence that the account holder asked for this return on this order. The riskiest field is the refund destination: a credential that allows “return item X, refund to the original payment method” should not allow switching the refund to a gift card. A2A signals the need with TASK_STATE_AUTH_REQUIRED and leaves the credential’s scope and format to the implementation.
Record. Both sides need a record of the policy version applied, the promised refund method and timing, and every state change. The FTC rule’s delay-option notice and the provincial refund deadlines are all measured in days from specific events, and a shopper who later disputes the charge with the card issuer needs the same timestamps.
Idempotency. An agent that retries a request after a timeout must not open two returns. Stable message IDs and a check for an existing return on the same order line prevent that.
Where Emissar fits
- Front Door (open to design partners): a hosted A2A endpoint in front of the retailer’s order system or existing service agent.
- Verify (in development): decides whether to act on the calling agent before any account data is shared.
- Mandate (spec in progress): a scoped credential proving the shopper approved this return and this refund destination.
- Ledger (spec in progress): a signed receipt of the return authorization and refund promise that both sides can retrieve.
- Handoff (in development): damaged-item disputes and policy exceptions go to a person with the exchange attached.
Open questions
- Will retailers accept order-number-plus-email lookups from agents, or require account linking through OAuth first?
- Agents lower the cost of filing returns. How will retailers set per-customer and per-provider limits without blocking legitimate shoppers?
- When a skill description, schema.org markup and the written policy disagree on the return window, which one binds?
- Should the retailer’s agent answer a status request for an order it cannot link to the calling agent’s customer with “not found”, as the A2A specification suggests for tasks, to avoid confirming that an order exists?
Questions
- Does US law give shoppers a right to return online purchases?
- Not in general. Return windows are store policy. The FTC's Mail, Internet, or Telephone Order Merchandise Rule covers shipping delays and refunds when an order is cancelled, and some states regulate how return policies are disclosed. California's Civil Code section 1723 lets a buyer return goods within 30 days for a full refund if a store with a restrictive policy failed to post it, with listed exceptions.
- What should the retailer's agent return for an order status request?
- A structured status as well as any prose. schema.org already defines OrderStatus values such as OrderProcessing, OrderInTransit, OrderDelivered and OrderReturned, which gives both sides a shared vocabulary, plus the carrier tracking number if the order has shipped.
Sources
- 16 CFR Part 435: Mail, Internet, or Telephone Order Merchandise (eCFR) (accessed )
- California Civil Code section 1723 (posted refund and exchange policies) (accessed )
- Ontario: Your rights when signing or cancelling a contract (accessed )
- Ontario Consumer Protection Act, 2002 (e-Laws) (accessed )
- Ontario Consumer Protection Act, 2023 (e-Laws, not yet in force) (accessed )
- Quebec Consumer Protection Act, CQLR c P-40.1, sections 54.1 to 54.16 (distance contracts) (accessed )
- schema.org MerchantReturnPolicy (accessed )
- schema.org OrderStatus (accessed )
- Google Search Central: Merchant return policy structured data (accessed )
- A2A Protocol Specification (accessed )