Hi,
only some info regarding payment price.
In fact, it is not called fee but it is called payment price and this is generally the price for the payment and it can get different formats.
Even, it can be different to the payment fee. For example PayPal has some fee but you will charge customer for selected payment with a price which will include the payment fee and another part for covering another costs.
For example: Payment Price = PayPal Fee + your costs assigned to this payment method.
The payment price can also be with or without tax:
so the string "payment price" ist just a general string which can cover different situations and it can be easily customized for shop needs (if it is much more understandable as fee then the easiest way is the one Benno has written in previous post).
The 'COM_PHOCACART_PAYMENT_FEE' constant is used for real payment fee set e.g. by PayPal which can be different to payment price ('COM_PHOCACART_PAYMENT_PRICE').
So:
COM_PHOCACART_PAYMENT_FEE - payment fee - e.g. Paypal fee
COM_PHOCACART_PAYMENT_PRICE - payment price - price for the payment which can be easily changed to "Fee" if needed in language override.
(conflict with real payment fee is one of many reasons, why the constant is called: COM_PHOCACART_PAYMENT_PRICE. Having the constant name COM_PHOCACART_PAYMENT_FEE will conflict with real fee set by Payment Gateways).
The language constant COM_PHOCACART_PAYMENT_PRICE is used only for this price/fee/costs so yes, like
David-Spring wrote, it will change the string in different places (e.g. in checkout, in invoices, receipts, etc.) but the constant is assigned only to this price, so even it changes on different places, it is still one the same item.
Jan