The billing_name
is simply a fallback when no name is specified. Your card name input field should actually look like this:
<input name="payment[card_name]" />
I just looked at the example templates and realize this is incorrect, so will get that fixed up.
Also note there is now a dedicated ExpressionEngine Q&A site which is a better place for questions like this :)