Hi!
I'm proposing a little change in the standard payment plugin order to document the way to be able to exclude shipping from payment discounts.
In a client's website, it asked me to exclude shipment from payment discount so I decided to code the solution in the standard payment plugin in order for other developers to grab the correct code if they want to implement it in their projects.
The new exclude_shipment option on the standard payment plugin makes the fee or charge apply only to the products (and coupons) of the order. setCartPrices zeroes salesPriceShipment before the base calculation and restores it afterwards, so the shipment cost stays untouched in the rest of the checkout. Default off keeps the previous behavior.
Attached is the patch against SVN 11586.