Tells if this transaction has an indeterminate result.
Having an indeterminate result means that the true outcome of the transaction is not known. For example, if a transaction is sent to the payment processor but a network error occurred, it is not known to us whether the user was actually charged or not (thus, the result is indeterminate).
Transactions should be marked as indeterminate when sending to the payment processor, and then unmarked once a response is received, understood, and recorded. This means that a transaction in an indeterminate result state is <em>expected</em> during the sending to processor phase. However, if the transaction remains in that state for an excessive amount of time, something likely went wrong and the transaction will need to be reconciled. If the transaction changes from the sending to processor status but remains indeterminate, the transaction will also require reconciliation in that scenario.
Some situations which may lead to an indeterminate result:
-
A transaction request is sent to the processor, but a network error prevents the payment gateway from receiving the request
-
A transaction request is sent to the processor, but a network error prevents us from receiving the response
-
A transaction request is sent to the processor, but the processor returns an unexpected error (e.g. 500 internal server error)
-
A transaction request is sent to the processor and a response is received from the payment gateway, but the result cannot be recorded because the database is down