Wix App Market developers had no way to issue refunds directly - every request required manual support intervention.
I designed the refund flow embedded within the payouts transaction table, covering the full lifecycle: inline initiation, confirmation dialog, processing state, and success/error states. I collaborated with finance and engineering to align the design with backend refund logic and constraints.
What I Did
- Mapped the end-to-end refund journey and identified key decision points and edge cases
- Designed the refund initiation UI within the transactions table (inline action)
- Designed the confirmation dialog, processing state, and success/error states
- Created wireframes covering the full flow from trigger to completion
- Collaborated with finance and engineering to ensure design matched backend refund logic and constraints
Impact
- Eliminated manual Dev Relations team intervention for every refund - at the platform's scale, self-serve refund was operationally necessary
- Refund volume grew significantly year over year as the platform scaled, reinforcing the importance of in-product financial control
- A significant volume of financial activity previously invisible to developers is now self-serve accessible
Entry point - ‘Request refund’ action available in the row menu of the transactions table
Bottom line
A refund flow sounds simple, but the hard part is the edge cases: what state is the subscription in, what does the developer actually need to confirm, and how do you make a consequential financial action feel safe without adding so much friction that it becomes a deterrent. Designing for the error and in-progress states was at least as important as the happy path.