What sometimes happens is that if the payment process has a paddy, which is not exactly unknown, it still sits on the inventory for about 20 minutes. If it was at FareBucketLo2 then if you go in to repeat the transaction you are on FareBucketHi9, and thus more expensive. You can just leave it to the previous inventory is released back to the pool. The other thing that is quite common is that some BA screens do not show live prices, they are usually marked as such. Our Cheapest Fares is notorious since it appears to be a daily update. But when you get to the final screen before payment is submitted, I would expect you to see the true final price.
As is often the way, the second coffee also helps, but with that you need to check that you were not charged twice, particularly if paying with AMEX since BA is quite capable of doing that too.