I'm having trouble understanding just how specific the circumstances can be when using the categorical imperative. My general understanding is that the categorical imperative urges you to consider whether you want to live in a world where everybody applies a rule that allows or disallows an action. Lying and littering make sense as things that we cannot allow everybody to do. Nevertheless, is this an absolute rule, or are there qualifying circumstances like "Don't lie unless by not lying you unnecessarily hurt someone's feelings" or "Don't litter unless a strong wind causes you to drop some plastic"? Does the categorical imperative allow for something like the subjective test: would a "reasonable person" act this way?
Recently I paid for a meal costing $18. When I handed a $20 note, I received $12 change by mistake. I handed the $10 back, but it made me think of the ethical implications here. If this only happens very rarely, then surely a world whereby everybody does not give back the extra change would still be a world we would want to live in. How specific can Kant's imperative get? For instance "Never wilfully underpay for a service" makes sense, we want to live in a world where prices have meaning, and if everybody tries to underpay then there is no point in having a price. But what about "Never wilfully accept extra change after paying"? To me, there doesn't seem to be a duty to hand back the change under the categorical imperative. I just did it because it seemed like the right thing to do (as per the 'golden rule').