The credit card numbers are checked according to the mod10 algorithm which is used on cred card numbers:
www.azcode.com/Mod10/
You can use the credit card nubmers on that page when testing:
www.darkcoding.net/credit-card-numbers/
These a fake credit card numbers but they match the algorithm.
For the owner name being truncated, that is a bug.
You can replace the code:
$cc_owner=substr(preg_replace('#[^a-z ]#i','',$cc_owners[$payment.'_'.$payment_id]),0,4);
by:
$cc_owner=preg_replace('#[^a-z ]#i','',$cc_owners[$payment.'_'.$payment_id]);
in the file components/com_hikashop/controllers/checkout.php to fix the problem.
The number of X's is arbitrary. Actually, the number of digits in a credit card number varies which is why you might not get the good number of X's.
You can replace the code
by
str_repeat("X", strlen($cc_number)-4)
in the file components/com_hikashop/views/checkout/tmpl/payment.php to generate the number of X dynamically based on the number of digits of the credit card used.
Concerning the next button, please check that your template is able to display error messages:
www.hikashop.com/en/support/documentatio...tibility-issues.html
If that doesn't display any error message even with that, then could you give us the url of your website so that we could test your checkout ?