Blockchain transactions are really just messages that can optionally include payments. A logical retail transaction that can be reversed can be modeled on top as a series of messages, very similar to how credit card clearing works.
This is a weird way to put it. Transactions include state transitions which modify the state of the global blockchain permanently. Miners (in the case of bitcoin) validate these transitions and publish the block to the chain. If there is a reversal, it must come from the merchant’s account, because only they can produce a valid state transition to “return” (ie send back) your money.
A message can be handled many ways, and a reversal payment protocol wouldn't put the customers funds directly in control of the merchant until the reversibility period is over.