This is probably another use case for amending a transaction see this recent discussion.
At the moment I’m just hijacking filterTransaction - you can either mutate the tr coming in here (although that’s not really supported) to reset it and pass the details form the un-reset tr through setMeta to your plugin state. Or you can actually filter the transaction and store the most recent transaction in your closure somewhere. Neither of these seem that nice, but they work for the most part …