Hmm, tough one. I don't see a way to do this as long as you have physical resource tokens. Even if the number of tokens is obscured via a bag or similar, it's really hard to conceal a transaction between two players. Two ideas come to mind:
Have one player dedicated to a standalone banker position. This player would be responsible for housing all other players resources and brokering transactions. In your case, they'd have to be handed the event cards unshuffled (so they'd know who provided what), perform the required transactions secretly, then shuffle the cards and pass them to the target. But nobody wants to do that by itself, so you'd have to integrate it into game play by creating some additional set of victory conditions for this player. E.g., maybe she can choose to play underhanded and shortchange other players, keeping some resources for herself. Of course, now you're faced with the additional task of, how does each player remember what their resource bank looks like? Maybe they have counter cards like in King of Tokyo where they can spin a dial to set what they think they have. Imagine this conversation...
- Player: (looks at card, sees their wood counter at 5) "I spend four wood to build a house." (spins wood counter to 1)
- Banker: "I'm sorry, you only have three wood."
- Player: "What?"
- Banker: "I'm afraid there's been a fire."
- Player: "You cheating scum!"
This of course opens up the wonderful tactic of intentionally trying to spend more than you know you have, so that the banker will have to tell you that you don't have that much, so you can accuse them of stealing and hurt their reputation with the other players. Heh heh, this seems pretty damn fun actually.
Alternatively, if you don't have physical resource tokens then you have to have electronic ones. This pretty much implies that you'll need some sort of electronic device included with the game, or (more likely) a companion app that each player runs on their phone. (Heh, I'm a software engineer, so this is how I tend to solve problems.)