
Every Payment Has a Liability Owner
EMV authorization is the easy part. The hard problems are timeouts, retries, SoftPOS lifecycle gaps, store-and-forward declines, and the financial question that remains when two …

EMV authorization is the easy part. The hard problems are timeouts, retries, SoftPOS lifecycle gaps, store-and-forward declines, and the financial question that remains when two …

Two POS terminals charging the same benefit wallet at the same instant expose the classic lost-update problem. Four serialization strategies — pessimistic locks, optimistic …

Manual capture is not about typing a card number by hand. It is the deliberate split of a card transaction into authorization and capture, managed as a backend state machine. Why …

A duplicate charge is rarely a coding bug. It is a distributed system losing certainty about whether an authorization already happened — and then guessing wrong. Why blind retries …

This is part 3 of a series on building grounded AI for payment systems. Part 1 made the case that payments need grounded AI, and part 2 Part 2covered the retrieval pattern that …

In the POS systems I have worked on, “is this terminal secure?” almost never has a hardware-only answer. The card read is one boundary. The PIN entry is another. So are …

This is part 2 of a series on building grounded AI for payment systems. Part 1 made the case that payments need grounded AI, not a generic LLM guessing from training data. This …

This is part 1 of a series on building grounded AI for payment systems. This post sets up the problem. Part 2 covers the retrieval pattern, and part 3 covers the practical use …

A partial approval is not a decline and not a completed sale. ISO 8583 response codes and amount fields must be read together — and the terminal must not show a green APPROVED …

When an issuer or its processor drops offline, the POS does not always get a clean decline. The card scheme may stand in and approve or decline on the issuer’s behalf. The …