Since the implementation of a currency is not part of the OpenSimulator project, the money event should allow for either in-world or off-world payments. For in-world payments, the event should be triggered when a resident has paid an amount. For off-world payments, it should signify that a resident wants to buy an item or pay an amount rather than the completion of a payment. The actual payment should then be initiated either through a plugin or an external process (e.g. via a website). Therefore, the money event needs an optional third parameter that specifies if the payment was internal or external. Alternatively, an additional event could be created (e.g. 'payment_request') for external payments. See Money for details - Ezekiel.