I offer refunds, but it's usually only if the actual product is defective and if it's something I'm unable to fix. It's a bit different than what people are used to with SaaS because the product can't be returned. And I can't 'turn off' access once they have downloaded it. I try to be fair though, and in cases where I can't offer a refund I always try to offer something else
EDIT: I should add that if someone legitimately can't use the app, I would give a refund. I'm just pointing out that unlike SaaS apps that have a policies that provide refunds regardless of the reason, I would rather work with you to solve the problem, because 99.9% of issues are solvable.
Some advice: you may want to re-consider this approach, even though it may feel like you risk being ripped off, your reputation and overall sentiment about your product are probably worth more than the 59$ you don't want to give back.
If someone feels they can't use your product - for any reason - it's going to feel unfair to them that they can't get a refund, no matter who's fault it is.
Note that the top reply to your thread is a dissatisfied ex-customer who felt obliged to post about his bad experience (fair or otherwise), and I bet that may have almost immediately cost you a few sales.
I'm not saying give everyone a refund who asks for one, but just saying "it's not a SaaS product and I can't turn it off" might not be the best rationale (and certainly won't impress any customers who are legitimately unable to use your product).
I would err on the side of trusting your customers, and accept that some might rip you off but most won't, and you'll partially salvage a bad product experience with some good customer service.
I agree with everything you said. I definitely give refunds. I just ask for the opportunity to help customers solve their issues first. Over the course of the last 3 years, 99.9% of refund requests were solved once I actually understood the issue that they were having and I was able to fix it for them. But I agree with you, fairness and goodwill are important. I was probably too rigid with that in the past.
So my suggestion would be to have the service registered via a license key that can only be used on 1 IP or an email address. Then you can turn off the license remotely and offer the refund.
We did this with my VERY last product working at Humankind (Bullet Viral Traffic). It was a WordPress plug in, and you bought site licenses for it 1 site, 10 site and unlimited.
Every function call did a "phone home" to validate the license. When it came back unverified, we would only print an error message to the screen.
Can this be subverted, yes, but 99% of the time it wasn't, and, honestly, it was just a lead-in to training.
I realize this is your bread and butter, but maybe work training in on the back end for a little more money. Lead them in with this outrageously low price, then stun them with offering a recorded seminar/webinar for only a couple hundred bucks.
My company dropped $20k on training for InfusionSoft AFTER dropping $1200/mo just for the service. There is more money to be had in training than the product (99% sure).
To be frank, your position is hurting you, and doesn't make much sense to me. If you supply customers with your source upon purchase, you're already working on a trust model -- without much effort, they could give copies to a thousand people who wouldn't have to pay. And if you're working on a trust model, you might as well give the benefit of the doubt to a paying customer asking for a refund.