Resolve one payment without inventing its outcome
Resolve one payment without inventing its outcome
Details Pay for the €100 lamp, step pay-process
flow-pay-order details pay-process in uc-pay-order. Two start points distinguish the original request from a later processor event. Authored records reveal knowledge, not live telemetry.
- Start: Payment request arrives — Payment service.
- Record pay-1001 before calling the processor — Payment service.
- Submit pay-op-1001 with the same parameters — Payment service.
- Question: What does the available evidence establish? — Payment service. confirmed: go to 6; confirmed decline: go to 7; no answer before deadline: go to 8.
- End: Payment confirmed; the shop may fulfil — Checkout.
- Record the confirmed payment outcome — Payment service.
- On error: Confirmed decline; an explicit new attempt is possible — Checkout.
- Keep pay-1001 confirming; do not invent failure — Payment service.
- End: Show Confirming payment; outcome remains unknown — Checkout.
- Start: A processor confirmation arrives separately — Confirmation handler.
- Question: Was this confirmation identity already processed? — Confirmation handler. already processed: go to 12; new, compatible evidence: go to 13.
- End: Duplicate evt-9001; recorded outcome unchanged — Confirmation handler.
- Record the compatible confirmation and payment outcome — Payment service.