
Collecting failed payments from insured renters
Rhino is a B2B2C financial product offering renters a lower-cost alternative to cash security deposits. Renters pay a monthly fee that protects their landlord, but 25% of renters were considered delinquent with 1+ unpaid invoice, leaving $1.9M uncollected and little recourse due to property manager–controlled cancellations. Our mission: recover lost revenue.
Searching for signals
We undertook a multi-method research deep dive to understand renter payment failures within the broader payments system. Our work included mapping the existing payment recovery workflow, analyzing Stripe transaction data and support tickets for failure patterns, and conducting a targeted survey with delinquent renters to understand their bill-paying behaviors.


Insights
Two jobs to be done
Our research led us to define two primary Jobs to Be Done contributing to uncollected failed payments:
- When my payment fails, I want to know how much I owe and the reason it failed so I can pay the balance.
- When I have an upcoming payment, I want to know how much I owe and the date I will be charged to ensure I have the funds available.
I led a cross-functional brainstorm centered around our insights and defined jobs.


The design approach
Build a pay-balance workflow accessible from the account, with updated communications directing renters how to pay. We defined design criteria that ensured the experience accurately represented backend payment states while minimizing resolution friction:
- Surface actionable feedback by exposing payment failure reasons using error data.
- Accurately reflect balance through a total balance view with optional line-item detail.
- Enable resolution by allowing balances to be paid directly.
- Minimize recovery friction by supporting use of an existing card on file.
- Preserve backend charge logic by reflecting partial payments and enabling incremental resolution.
Failed payment email & pay-balance flow
Renters received a failed-payment email lacking clear next steps; the link sent them to an “update payment method” flow that didn’t match how they expected to pay, and they couldn’t tell how much they’d be charged. I redesigned the email and flow with task-focused language, full visibility of itemized charges, and a default card option.


Account & confirmation screens
We added a dedicated “action required” section in-account (previously nonexistent), plus a partial-charge confirmation screen alerting renters when a balance remained after Stripe’s retry logic left a partial payment.

Impact
What’s next?
Renters weren’t acting maliciously; they intended to pay but often lacked sufficient notice to prepare for charges. We implemented proactive communications sent before a payment failure, shifting from reactive collections to a more preventive approach.


