Transaction status timeline
A payment lifecycle that distinguishes slow from stuck from failed, in text as well as in colour.
Can a status display make a long compliance hold feel like normal operation rather than a fault?
A payment lifecycle that distinguishes slow from stuck from failed, in text as well as in colour.
Can a status display make a long compliance hold feel like normal operation rather than a fault?
InitiatedComplete
Payment instruction accepted and validated.
Compliance screeningIn progress
Sanctions and fraud checks. Can hold for hours without failing.
In transitNot started
Handed to the payment network. No longer recallable.
SettledNot started
Funds confirmed with the beneficiary bank.
Status: Compliance screening: in progress
A payment is not a boolean, but it is usually drawn as one: a spinner, then a tick. The states in between are where the anxiety lives.
Compliance screening is the interesting one. It can hold for hours with nothing wrong. Rendered as a spinner it reads as broken; rendered as "Pending" it reads as possibly broken. Either way the person contacts support about a payment that is behaving exactly as designed.
So the question was whether the interface can make a long hold legible as normal. It does that by naming the state, saying what is happening in it, and separating slow from stuck from failed explicitly.
Recallability is surfaced because it is the one irreversible boundary in the flow. Before the network accepts it, a payment can be cancelled; after, it cannot. That transition matters more to the person watching than any other, and a generic progress bar hides it completely.
aria-current="step" marks the active state.Real timestamps are the obvious next step, and the hard part is honest relative time: "2 hours ago" is friendlier than an ISO string and considerably less useful when someone is reconciling against a bank statement. It probably needs both, with the absolute value as the primary.