Mechanism for reaction between hydrochloric acid and magnesium Balanced equation:

$$\ce{Mg(s) + 2HCl(aq) -&gt; MgCl2(aq) + H2(g)}$$

However, Cl- is a spectator ion so the actual reaction equation is:

$$\ce{Mg + 2H+ -&gt; Mg^2+ + H2}$$

Here is my proposed reaction mechanism:


A magnesium atom reacts with a $\ce{H+}$ ion: $\ce{Mg + H+ -&gt; Mg+ + H}$
The $\ce{Mg+}$ intermediate produced reacts with another $\ce{H+}$ ion: $\ce{Mg+ + H+ -&gt; Mg^2+ + H}$
The two hydrogen atoms (from step 1 &amp; 2) react together: $\ce{H + H -&gt; H2}$


However, my problem arises when I compare this to my rate law that I found experimentally ($\ce{Mg}$ is not in the rate law as it is a solid and has no concentration):

$$\mathrm{rate} = k[\ce{H+}]^2$$

None of these mechanism steps above conform to my observed rate law (or do they?), could any of you enlighten me to any other mechanisms? 

There are only two mechanisms I can think of: a one-step mechanism where it is literally $\ce{Mg + 2H+ -&gt; Mg^2+ + H2}$ (though I've read that a one-step reaction is unlikely) and the other way is via an intermediate (as described above).
Based on the three step mechanism you have provided, what if the slow step is your step 3 which is H + H --&gt; H2  so rate law is now k3[H]^2. Since H is an intermediate, you can substitute for this intermediate from earlier steps and you will end up with
Rate = (k3.k1.k2.[Mg][H+]^2)/[Mg2+]   and if [Mg]/[Mg2+] is constant as the reaction of a solid always happens at the surface, you can get a rate law = k [HCl]^2