DEV Community

Cover image for I Got My First Paying User and a Refund in the Same 15 Minutes
Aldin Kozica
Aldin Kozica

Posted on

I Got My First Paying User and a Refund in the Same 15 Minutes

I've been building ThumbAPI on late nights for months. Balancing a day job, family, the whole thing. An API that automates thumbnail and social media visual generation. A few weeks ago I finally launched, and today I got the email. My first paying user.

I don't know how to describe that feeling if you haven't had it yet. Someone took out their credit card and paid for something I built from scratch. I was useless for about ten minutes just staring at the notification.

Then, almost immediately, a support email landed.

The support email

The user, let's call him UserX, had accidentally subscribed to the wrong plan. He wanted Pro, ended up on Creator. The billing interface glitched on him when he tried to switch. He was frustrated, spooked, and froze his credit card before I even knew what was happening.

I jumped into support mode immediately. I offered him a deal: I'd manually upgrade him to Pro but keep his billing at the Creator plan price as a thank you for his patience. He replied within minutes.

"That I can work with, let's proceed."

I felt like a customer support genius. Crisis averted, first user saved, story over.

I upgraded his account, sent the confirmation, and mentioned that when his billing period ends he can just subscribe to Pro directly from his dashboard.

Three minutes later he asked for a full refund.

First sale and refund request

My first reaction

Pure frustration. He just agreed. The API itself is solid, I know that. Why is he bailing over a billing hiccup?

I sat with that feeling for a few minutes and then it hit me.

He was completely right.

Think about it from his perspective. He's a developer or a technical buyer who's evaluating whether to pipe an external API into his production workflow. He's not just buying features, he's buying confidence. He's betting that the service behind that API key is reliable, maintained, and won't silently break on him at 2am when his app is generating thumbnails for real users.

And his very first interaction with my product was a billing interface that glitched and wouldn't let him fix his own subscription.

Billing is a proxy for engineering quality. That's the lesson I didn't expect to learn on day one. If the checkout flow is broken, the implicit message to a technical user is: this person ships buggy software. It doesn't matter how clean your actual API is. The surface they see first becomes the thing they judge everything else by.

What I did

I processed the refund immediately. Screenshotted the Stripe confirmation, sent it to him, apologized for the friction, and wished him luck. No explanation, no defense, no "but the API is actually great." Just done.

There's no version of that situation where arguing helps you. The only play is to make the exit as clean as the entry should have been.

The silver lining, and there is one

UserX wanted to pay for the Pro plan. He had his credit card out. He was ready. The value proposition worked, the pricing worked, something about ThumbAPI made him say yes.

The thing that lost him wasn't the product. It was a rough edge in the billing flow that made him feel out of control of his own money. That's fixable. That's just work.

So the problem bug i have is already fixed but...

If you're early stage and you haven't had your first refund or first paying user yet, it's coming. It stings more than you'd expect, especially when it happens in the same breath as your first sale. But if you can separate the emotional hit from the actual signal, the signal is usually pretty useful.

Someone wanted to buy. That's the part that matters.

For the end keep in mind i confirmed it - Murphy's Law :

"If anything can go wrong, it will"

If you're curious what I'm building, this blogpost thumbnail is created by ThumbAPI and it is live at thumbapi.dev

Top comments (0)