Vending Machine - VHDL
Your sensitivity list for the non-clocked process is incomplete: at least clock and reset should also be added. You'd need to show your testbench, but the code as shown right now cannot work: if you want to pay across multiple clock cycles with the same coin, you'll keep the C signals steady and the secondary process won't fire anymore.

Consider writing the whole module using a one-process style or switching to VHDL 2008 so you can use all in your sensitivity list.

Also: this would have been trivial to see if you had simulated your code and traced your variables. The paid sum would have stopped increasing.