Richard,
I would recommend expanding the current payment service contract so that it can handle mutiple currencies as that should be a super set of the current single currency design.
Please note that -at the moment- the payment service contract is currency agnostic. It is not aware what currency is being used. If Authorize.net had a UK branch operating in Pound Sterling you could use the Authorize.net Gateway. However, it is not possible to accept Pound Sterling when communicating with an US based credit card processor through the payment service contract.
So by all means, expand the service contract specification so that it handles multiple currencies. Without giving it much thought, this could be as easy as including the currency in the various financial operations. I will then adapt the Authorize.net Gateway to be compliant with the new definition.
Good luck.
/Bart