I like the answer that Joze gave, but I think in the sentence you want to translate about the dog, is better to say "te lo voy a compensar".
When you are saying
"No, I'm really really really sorry. I'll make it up to you. I'll take
you for icecream."
nooo lo siento mucho, te juro que no quise perder tu cachorro me
reivindicaré vamos, te llevo a la tienda de mascotas y te compro
You are meaning you want to compensate that person, for something you did or cause to them, the meaning is in what you feel (you are sorry), and what you want to make them feel.
To say "quedar a mano" in that context, would be wrong. Is like saying "make it even"
I think that many people would be rather offended if you tell them that you lost their dog and you are going to get another so you are even. Can you really be even? There is emotial value to the lost dog that can never be replaced, you can never be even in such a situation, so it would not be correct to say "quedar a mano".
quedar a mano = make even
Of course if it is a close friend, you could use that expression in a joking way, but not being serious.
Compesar = resarcir
Compensar has the meaning of resarcir (doesn't apply only to injustice), it doesn't imply you can be even with that person, you are trying to be even, you are trying to make it better for the other person.
If you get in an accident they pay you, to compensate you, indemnify you, from your loses. But if you lost your leg, doesn't matter how much they pay, they are not even with you.