Review this Java order pipeline. tryReserve performs a network call and returns whether an inventory hold succeeded; tryCharge actually moves money.
tryReserve
tryCharge