Collecting failed subscription payments

Rhino offers renters a lower-cost security deposit alternative. Renters can pay a small monthly fee for a policy that protects their landlord, the same way a security deposit does.

THE PROBLEM

Rhino does not cancel a security deposit policy when a renter is delinquent. 37% of renters have at least one unpaid invoice. To date, there had been more than $1.9 million in uncollected payments.

TEAM

• Lead product manager
• Engineering manager
• Business stakeholders

Searching for signals

To understand why renters were not making their payments, we needed to do a deep dive to understand their current behavior and uncover any trends to start formulating hypotheses around. We looked at the user journey, Stripe data, support tickets, and conducted a payment behavior survey with delinquent renters.


Insights

STRIPE DATA ANALYSIS

Stripe charge logic will charge the entire outstanding balance, one invoice at a time, and most delinquent renters have 2 failed invoices. The primary payment failure error returned is ‘insufficient funds’.

SUPPORT TICKET ANALYSIS

Retry payment/update payment is the the #1 support ticket, with renters calling in trying to use an existing card on file.

USER JOURNEY

Renters are asked to update their payment method each time they have a failed payment, an option patients don’t understand how to leverage for repayment.

SURVEY

Most delinquent renters are financially insecure. This means they need to allocate and load funds as bills are due, and typically only have one credit or debit card.

How might we help renters understand what they owe, and easily pay us back?

The design approach

It became clear that we needed to focus on two key areas. First, renters needed clarity on what they owed—particularly since invoices accumulated and most had two to three missed payments—so they could plan accordingly. Second, they needed a payment experience that aligned with their expectations and typical workflows.


Renters received an email about a failed payment, but it lacked clear next steps. The link sent them to an “update payment method” flow that didn’t match how they expected to pay their balance with an existing payment method. They also couldn’t tell how much they’d be charged—often spanning multiple invoices—leading to partial charges, insufficient funds, and repeated payment failures—even after updating payment.

BEFORE

We refocused the email communications on a single, clear call to action: pay your balance. We also built a new failed payment workflow aligned with renters’ expectations—using language that reflects the actual task, full visibility into the total amount due (with itemized details), and most importantly a default option to use the card already on file.

WHAT CHANGED

We also introduced two new updates:

Action required section: Previously, renters had no in-account indicator or access to the pay-balance flow. We added a dedicated section showing required actions and a link to pay.

Partial charge confirmation: Stripe’s retry logic often resulted in partial payments, that could not be handled through standard in line validation. We added a confirmation screen to alert renters when a balance remained, with actions to resolve it.

BONUS CHANGES!

Impact

67%

Email click-thru (compared to 27%)

32%

Drop in delinquent renters

~70%

Drop in payment support tickets MoM

$405,763

Collected in 1 month post launch

What’s Next?

During discovery, we found that renters weren’t acting maliciously—they intended to pay but often lacked sufficient notice to prepare for charges. To address this, we implemented proactive communications sent before a payment failure, alerting renters to upcoming charges and shifting from reactive collections to a more preventive approach.