Just send the amount Alice agreed to pay along with the request. If the price has increased since Alice sent the request, you send a response indicating that the item could not be purchased at or below that price, and the current price is whatever it is. This is pretty much the same situation as when there's only one item available and, at the time the request to buy reaches you, the item has already been sold.

So your message flow would look like:

       Bob → Server  Set item price to $10
     Alice → Server  Tell me item price.
    Server → Alice   Item price is $10.
       Bob → Server  Set item price to $20.
     Alice → Server  Purchase item for $10.
    Server → Alice   Item not available for $10; current price is $20.