Practice-inspired educational scenario
A service has accepted payment and requested a ticket booking. The response never arrived. The API contract allows safe retries of the same operation using the same identifier and payload. After a limited number of these attempts, the outcome is still unknown. The provider offers a lookup operation to check status by operation identifier. In this scenario, reversal means undoing the collected payment and is allowed only after unequivocal confirmation that no booking was created.
What would you do after exhausting safe retries? Explain the operation identifier, status lookup and the condition for reversing payment.
Guiding questions
- Does a timeout prove the provider did nothing?
- Does a new identifier represent the same operation?
- What if lookup also leaves the outcome unknown?