First of all: The german word "wo" means "where" (at which place?, at which location?) and is inappropriate to ask for a name. It is like:
Excuse me, where is your name?
And this doesn't make much sense.
So the decision between "wo" and "wie" (later is "how" in English) is very easy: It is never "wo" and always "wie":
falsch: Entschuldigen Sie, wo ist Ihr Name?
wrong: Excuse me, where is your name?
richtig: Entschuldigen Sie, wie ist Ihr Name?
wrong: Excuse me, how is your name?
Now about the German verb "heißen":
There is no direct English translation for this German word. This means, that it is impossible to create an English sentence using the pattern
<pronoun> <verb> <name>.
Which is the pattern of the sentence
Ich heiße Hubert.
English has no verb that would make such a pattern possible. But to use the same pattern in another language is not really necessary. You never translate words. You always translate meanings, and the meaning of this sentence is, that my name is Hubert, and that other people call me Hubert. And you can express this meaning very fine in English sentences which use patterns, that you also can use in German:
My name is Hubert.
Mein Name ist Hubert.
I am called Hubert.
Ich werde Hubert genannt.
You just have one more option to express the same meaning in German (which btw is the most frequently used and therefore preferred option in German), but this option is not available in English:
Ich heiße Hubert.
There is no perfect English translation for this German sentence, so in English you have to use one of the other options.
So, when you ask for the best translation of your question into German, and when you remember, that you never translate words, but always translate meanings, then this is the best translation:
Excuse me, what is your name?
Entschuldigung, wie heißen Sie?
And if you want to be a little bit more polite, you can use this translation:
Entschuldigung, können Sie mir sagen, wie Sie heißen?
Excuse me, can you tell me what's your name?