UAT Checklist
Mobile + Desktop
Seller Onboarding
- A8) Listing gate works: Attempt to create a listing before Connect complete → blocked to publish, clear CTA to onboarding; draft allowed.
Checkout (Buyer)
- Guest vs logged-in buyer adds to cart and checks out.
- Shipping rates fetched; invalid address shows clear error.
- Stripe redirect succeeds; PaymentSuccess page receives session_id.
- Expired/cancel returns to cart with inventory restored.
Seller Shipment
- Mark shipped sets tracking and updates Order/Shipment.
- Double shipment prevented when already shipped.
- Shippo webhook transitions in_transit → delivered.
Delivery & Approval
- Delivered sets awaiting_buyer_approval then buyer approval.
- Auto-approval after 72 hours sets payout eligibility.
Disputes
- Open dispute captures reason, messages, attachments.
- Admin resolution updates status and notifies parties.
- E33a) Email-only seller response does NOT change dispute; response must be in-app.
Refunds
- Refund via Stripe triggers webhook, creates Refund, reverses Fees once.
- Partial refund records breakdown and preserves audit trail.
- E36a) Seller payout is adjusted per Stripe fee deduction rule on refunds.
Payouts
- Eligible payouts transfer to seller; failures set hold_reason.
- Dispute-open holds block release until resolved.
Edge Cases
- Rate limit banner appears; retry unblocks.
- Network error retries do not create duplicate orders.
- Idempotency key prevents double charge/order.
- Cart not purged when payment fails.
