An argument can be made for either of these positions. However, it makes more sense to impose fines based on the offender’s ability to pay.
In a sense, it would seem more just to impose fines based on the severity of the offender’s action. This would be more just because it would, arguably, make the punishment fit the crime. It would also ensure that two people who committed the same offense would receive the same fine. For these reasons, it would seem fairer than basing fines on the ability to pay.
But this argument does not really hold together. If we are going to make the punishment fit the crime, the punishment has to have a given severity for the offender involved. In other words, if we want to fine a millionaire enough to make them less inclined to commit the same offense again, we have to fine them more than we would fine a regular middle class person. If we do not, the punishment will not fit the crime as it will be a mere slap on the wrist to them. On the flip side of that, a heavy fine to a person without much money could be tantamount to cruel and unusual punishment. It would seem wrong, for example, to take away a person’s entire life savings for a minor crime.
Thus, it makes more sense to set the severity of fines as a percentage of the offender’s ability to pay. However, this is not likely to happen as it would be difficult to set the percentage and would strike many people as very unfair.