Ofcourse the user has to allow this when an object starts to listen for it. Similar to the permission given when an object wants to be able to take money from the owners account.
This should be a HUD and (worn)object specified function.
suggestion code:
CODE
llTransactionListen(); //Starts listening.
llRequestPermissions(llGetOwner(),PERMISSION_TRANSACTION); //Asks owner for permission
transaction(key id, integer amount){ //id represents the key for the object or avatar giving or receiving money
if(amount < 0) {
//money is taken from the account
}
if(amount > 0) {
//money is given to the account
}
}