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.