There are some checks that fail but could be retried. For example, there are some checks that connect to an external source but if we fail on that thing, we don't want to move the receipt state to a failed state and retry it later.
I propose using two types of errors: Recoverable and Failure.
In case a recoverable error happens, we want to retry the whole process.
There are some checks that fail but could be retried. For example, there are some checks that connect to an external source but if we fail on that thing, we don't want to move the receipt state to a failed state and retry it later.
I propose using two types of errors: Recoverable and Failure.
In case a recoverable error happens, we want to retry the whole process.