@Holly-bacon I'm not really sure what you're saying. Are you on a contract or Pay & Go? Why would you try to top up a contract? In any event you'll have to speak to customer service, which is almost impossible these days. Numbers are here: Guide: Coronavirus Community Help and Support Use the Lost/Stolen or Fraud option to get through. If you don't you'll just get disconnected.
Edit: Alternatively, below is the advice from an O2 Guru on how to get through if you are a contract customer.
Call 202 from your mobile.
When it comes to the reason you are calling, stay silent for 15 seconds and you will be taken to the keypad options.
Press 2 for Everything Else
Press 5 for More Options
Press 7 for Anything Else which will put you though to someone.
If you went from O2 PAYG to O2 contract, you can move any PAYG balance to your contract, providing you also transfer your number to the contract.
If your top up was taken for a bundle and you have zero credit, then no, as there is nothing to transfer and O2 don't give refunds on top ups.