I wouldn't abandon. I'd fix it, give the client what they wanted, and apologize profusely for the delay. The underlying problem is that you agreed to take the job then actually had someone else do it - or more appropriately, failed to do it. That's all on you, and it's what you get for outsourcing.
You should figure out how to fulfill it, then use it as a learning experience for your business. Everyone has that contract that bites them on the butt once in a while, but your inability to properly quote shouldn't be coming back on the client.
I'm knee deep in a contract right now. Way underquoted, and I'm going to have an extremely difficult time fulfilling the contract. I would love to put it behind me, but can't. When I took the contract, I was upfront with the client that I don't normally do this type of work for others and in fact the first thing I did was spend time with them to show them how to do the work inhouse. Still, I ended up with a contract. Now, with the workload being much bigger than I expected, I've gone back to the client, told them of my difficulties and asked for an extension on the timeframe. they've happily given me the extension. Having to ask for an extension is embarrassing enough without telling them I won't deliver at all. And in the end, they'll get what they want, and I'll get paid. Client's happy because product delivered, wife's happy because hey, money.