WISMO vs Refund Decision Checklist (Shopify)
- topic
Tools
- published
Sep 08, 2026
- reading time
3 min
- author
Wilbert Liu
the short version
A WISMO/refund decision checklist helps Shopify teams choose between order-status lookup (where-is-my-order) and a human-approved refund request, using a locked field set — order name, status labels, and tracking lines. Two paths, one widget. Connect Shopify with custom OAuth at /shop. Refunds complete after human or MCP approval, then refundCreate. Misses refuse and land in the shared inbox.
Shopper asks “where is my order?” That is Path A. Shopper asks “I want my money back.” That is Path B. Two jobs. One widget. The shared inbox is where refund requests wait for a person.
A WISMO/refund decision checklist helps Shopify teams choose between order-status lookup (where-is-my-order) and a human-approved refund request, using a locked field set — order name, status labels, and tracking lines.
Connect Shopify with custom OAuth at /shop. The widget runs both paths. Misses refuse and offer handoff.
Sibling guides: Shopify WISMO order lookup · Shopify refund human approval.
Decision checklist (printable / static)
Work top to bottom on the tables below (or print). This page is a decision aid. Each prompt points to Path A (WISMO) or Path B (refund gate).
| # | Prompt | If yes → | Notes |
|---|---|---|---|
| 1 | Is the shopper asking where the order is / tracking / fulfillment status? | Path A — WISMO | Order # + email required |
| 2 | Is the shopper asking to get money back / cancel-for-refund / return for refund? | Path B — Refund gate | Human or MCP approve, then refundCreate |
| 3 | Do you have order # + email? | Required for both | Without the pair, refuse + handoff |
| 4 | What should the WISMO reply include? | Order name, status, tracking | Locked field set below |
| 5 | Who completes a refund? | Approve in the shared inbox | Then Shopify refundCreate |
| 6 | How do you connect Shopify? | Custom OAuth at /shop | Then the widget can look up and request |
Quick branch (printable)
Shopper ask
├─ Where is my order / tracking / status? → Path A (WISMO lookup)
├─ Refund / money back / cancel-for-refund? → Path B (human-gated refund)
└─ Policy FAQ? → page-grounded cite+refuseMark the path you chose:
- Path A — WISMO / order lookup
- Path B — Refund with human approval
- Cite or refuse from indexed pages
Locked WISMO fields (Path A)
Visitor inputs: order number + email.
On found, the lookup returns:
| Field | Returned |
|---|---|
| Order name | The shop’s order name for the match |
| Fulfillment status | Closed set only (below) |
| Tracking company | When Shopify provides it |
| Tracking number | Yes |
| Tracking url | Yes |
Closed status vocabulary
CanceledFulfilledIn progressOn holdPartially fulfilledPendingProcessingRestockedScheduled
On miss
Refuse + handoff — when the shop is not connected, or when order + email are not found.
Lookup runs against connected Shopify. Policy questions still use cite-and-refuse. Keep the paths separate.
Human-gated refund (Path B)
The sequence is the product:
- Visitor starts a refund request in the widget (order # + email; amount/reason as the form collects)
- Request lands in the shared inbox as an action / miss
- Human or MCP
inbox.approve_action/inbox.reject_action - After approve → Shopify
refundCreate
Connect the shop at /shop with custom OAuth, then run the widget. Refund decisions sit in the same shared inbox as other misses.
Soft CTA
Connect Shopify at /shop and try the widget:
Other free tools
FAQ
What is a WISMO vs refund decision checklist?
A WISMO/refund decision checklist helps Shopify teams choose between order-status lookup (where-is-my-order) and a human-approved refund request, using a locked field set — order name, status labels, and tracking lines.
What fields can WISMO return?
Order name, fulfillment status from the closed set, and tracking company (when Shopify provides it) / number / url.
How does a refund complete?
The visitor starts a refund request in the widget. It lands in the shared inbox. A human or MCP approves, then Rinhelp calls Shopify refundCreate.
What if order + email don’t match?
Refuse + handoff. Same pattern if the shop is not connected.
How do I connect Shopify?
Custom OAuth at /shop. One store per workspace. Then the widget can look up orders and start refund requests.
Closing
Where-is-my-order → order name, status, tracking. Money back → human approval in the shared inbox → then refundCreate. Connect at /shop. Misses refuse and hand off.