I have come across this several times when selling a prepackaged solution.
Customer buys the package, which clearly sets out that it can do XYZ, but the customer wanted it to do ABC.
The customer then emails for support. I inform the customer that the product was never designed for the purpose they had in mind (integrating it with another product).
The customer asks for a refund as they cannot use the product.
This is where I'm in two minds. First, the product is fully functioning and they have now obtained the source code (PHP script). How am I to know they aren't going to use it anyway and still want a refund?
Second, I do feel bad for the customer. If they're being honest, and most are, then they cannot use the product and therefore "wasted" the money in their eyes. But, that wasn't my fault.
Up until now I've refunded the money if requested, but now I'm comparing what I do with how bigger companies deal with this kind of situation. What would they do? Maybe because they're bigger, they don't care about a few refunds every now and then, but to a one man band like me, every sale is needed!
What is the best way to deal with this kind of situation?