Helping clincicians collect $1M+ in failed payments

Product strategy, data synthesis, and design

Discovery and deep-diving into our data revealed a key pain point for clinicians: collecting payment after card declines is laborious and uncomfortable for clinicians, leading to revenue not being collected.. I designed a system-generated solution to collect money for clinicians and for clients to easily and securely pay in a timely manner, leading to a over $1M+ of payments being collected in two months.

Payment processing through Stripe is foundational to the bottom line for both SimplePractice and their customers.

SimplePractice facilitates payment processing for therapy appointments within the product via Stripe integration and collects a service fee per transaction.

Stripe payment fees are collected by Simplepractice

These payment fees per Stripe transaction make up 1/3rd of SimplePractice’s annual revenue each year.

82% of SimplePractice users accept payments through the product

Clinicians collect credit cards as part of their intake process with clients, and can set up auto-pay to process transactions at the end of each day for appointments that were completed, or manually charge clients at the conclusion of each appointment.

User interviews revealed that collecting money after a card declines is a common and uncomfortable problem for clinicians.

After joining the payments squad as a Lead Designer, I was tasked with finding user painpoints, while also improving and increasing Stripe adoption. With our PM for the squad recently transitioning out of the company, I led this discovery effort myself and set up research calls for a program manager (filling in PM duties) and I to attend together as we dove into wide ranging research.

Clinicians typically charge cards on file at the end of the day

Card declines would come at the end of the day when AutoPay would run to automatically charge cards for balances owed, or when the clinician would manually charge the card on file in the system at the conclusion of the work day.

Clinicians don't want to talk to their clients about money

Therapists want to have a helpful and frictionless relationship with their clients. When payment methods failed, they would typically just wait until the next appointment to bring it up or try the card again a week or two later and hope the account had money in it.

This was a common occurrence for most clinicians

Each clinician I talked to mentioned that they have a failed payment at least once a month, usually once a week by someone if they see a lot of clients.

Clients updating their payment info could be problematic, too

This required clients to log in to their client portal to update their payment info. They would have to remember their password, which a lot of them forget. This sometimes lead to abandonment and the problem not being resolved.

Diving into the data showed that this was also a revenue problem for SimplePractice as well

After hearing from clinicians, I dove into the data to see how many cards were being declined each week, and what the dollar figure was in delinquent payments needing to be collected.

Across all users, there were 20k+ card failures per week

In other words, there were 20k+ transactions not being run through our system when initially processed.

Over $1M in failed transactions per week

With an average unpaid invoice of $157, that meant there were seven figures of income in delayed payments for clinicians each week,

Delayed revenue hurt both our customers and our business

Clinicians were not receiving money for services rendered, and our business was delayed in collecting Stripe payment fees that are crucial to company revenue.

Initial solution discussion with customers centered around some type of automation to send messages on the clinicians' behalf.

My first ideas centered around some kind of automated message or link that was sent to clients when their card declined.

System-generated to avoid awkward conversations

I wanted to address the clinician painpoint of avoiding awkward conversations or "hassling" clients for money.

Mobile-friendly for clients

I also wanted the generated message to contain a link to open a mobile friendly link from a text or email to rectify the payment situation.

Minimal clinician lift

I wanted as much work as possible to be lifted from clinicians' plates when dealing with chasing down payments.

Testing revealed clinicians were not comfortable with clients being contacted without them taking an explicit action. They wanted full control.

Clinicians treat their relationships with clients extremely delicately. There are clients that they explicitly don't want to contact after each failed payment because they know they will pay in time. Or they know their HSA funds will eventually be deposited. If a client was to be contacted, they made it clear they wanted to initiate the action.

Control wanted, but it should not feel like it was "from them"

While clinicians wanted control of when a client was contacted, they didn't necessarily want clients to feel like they were getting a message from them, personally. They wanted it to feel like a "company" or "system" message telling them they need to pay up.

Sending a generated payment link could be a "win-win" solution

Clinicians own the control of initiating the message, while having the message appear to be coming from "the system" and not them, personally. Clients would be able to be contacted directly in a way that would not requiring them to log in to take action.

I worked with engineering to prototype an link sending experience

We learned that Stripe offers a payment link solution within their API. This seemed like a good path to chase and eng was able to whip up a proof of concept quickly.

A new payment experience for the clinician and client was designed. Clinicians now had the option to send a link to clients to receive payment.

The payment method was added to the clinician-facing payment page. This surface is similar to a "checkout" page for a therapy appointment where the clinician will run a card on file or select a different form of payment.

No automation, but frictionless and still "system generated"

If a payment method failed to go through, clinicians now had an option on the page to send a link directly to the client prompting them to click a link and pay for the appointment.

Previewing the message

In testing, clinicians all wanted to know exactly what the client would receive. I added a preview of the message to the page to show the exact message clients would see.

Contact the client how you prefer

In testing, clinicians all wanted to know exactly what the client would receive. I added a preview of the message to the page to show the exact message clients would see.

While working on the page, I redesigned all of it

The payment page was one of the oldest pages in the product, and had not been updated in years. I took this opportunity to work with engineering to scope out and design a full re-skin of the page to bring it up to date with our latest design system and Ui patterns.

Consideration was given to small details for the client experience, like how the message would appear in text previews on mobile devices.

It was important that the client experience not only be a seamless mobile experience, but it should also appear legit and not interpreted as spam. Research showed that most clients under 40 preferred text communication and were sensitive to spam messages.

If sent in a text message, the text should appear "human"

While the language and generation of the link were from the POV of the SimplePractice system, the actual artifact of the text needed to feel human and appear in your list of text messages like a normal message from another person.

No log-in required, and new payment saved for future use

The link clients would receive would also be a deep link connected to their system profile. Clicking on it would bypass logging in and they would land on a simple payment page. They would also have the option to check a box to update their payment method for all future appointments.

Just two months after release, over $1M was collected through payment links sent to clients.

In the months after release, $1M+ of client payments were processed through a payment link. This led to less outstanding balances for clients, and less unrealized revenue for SimplePractice.

Declined payments decreased by 10%

By providing a payment experience for clients to resolve unpaid balances and easily replace the expired or faulty payment methods in one product experience, we saw fewer repeat offenders with failed payment methods and overall failed payments were down ~10% since release.

Payment links opened doors for future opportunities

By creating a new way for a clinician to request payment, and for the client to pay, future product enhancements become unlocked. For example, payment links could be embedded with digital invoices. Automations could be built in profile settings to be sent automatically when a payment declines in some cases.

Customer quotes from our Facebook group

"I think I died and went to heaven! Did you see the payment link you can send in the invoice area when you go to charge the client and their payment doesn't work? TYSM SP!!!!"

"OMG! So nice!"

"LOVE this wow"

Made by a human / Nashville, TN / 2026

Made by a human / Nashville, TN / 2026

Made by a human / Nashville, TN / 2026