Player:onTradeRequest(target, item)

#608
#610

If it's still not what you expected, feel free to make your changes and improvements.