Functional DE: how to deal with changing facts

I've found a lot of inspiration from Maxime Beauchemin's article on Functional Data Engineering.The concepts of immutable partitions and dimension snapshots, in particular, have caught my attention. However, I'm trying to figure out how to handle updates in fact events, which may change over their lifecycle.

Take, for example, a payment transaction. It might be AUTHORISED on DAY 1, then SETTLED on DAY 2, and possibly REFUNDED on DAY 3.According to the principles laid out in the article, I would avoid applying UPDATE operations. But how should I manage these kinds of status changes? Taking a daily snapshot of all the facts is unbearable. And if I decide to update the rows I lose most of the benefits tracked down in the article.And if the creation date is still the same for all the statuses, appending three rows would break the idea of single unit of work, that is, every job is responsible for inserting overwriting only one partition. (the table would be ideally partitioned by creation date)

Thank you :)