Safe application rejection for a checkout attempt whose result is genuinely unknown.
This is the outcome MVP-PAY-001-S03 is about: certainty was lost, so the attempt
is neither a success nor a failure. It is deliberately a third error rather than
a flavour of OrderCheckoutIncompleteError, because the three outcomes tell
the operator different things and only two of them are safe to act on:
a definitive refusal is known unpaid, so paying again is safe;
a confirmed-but-uncommitted charge is known paid, so paying again is not;
an unresolved attempt is known neither way, so no claim may be made and the
same attempt must not simply be charged again.
It carries the recorded attempt's application-owned operationId and nothing else:
no provider detail, no amount, and above all no field that could be read as a
statement about whether money was captured.
Safe application rejection for a checkout attempt whose result is genuinely unknown.
This is the outcome MVP-PAY-001-S03 is about: certainty was lost, so the attempt is neither a success nor a failure. It is deliberately a third error rather than a flavour of OrderCheckoutIncompleteError, because the three outcomes tell the operator different things and only two of them are safe to act on:
It carries the recorded attempt's application-owned
operationIdand nothing else: no provider detail, no amount, and above all no field that could be read as a statement about whether money was captured.