Which is better to use for collecting credit cards for offline processing?

Does CC work for AMEX, Diners and JCB?

I'm also a little confused by the way CC works, because I've done a few test orders with varying results...

If I enter my own credit card details for a test order, it processes fine and I get the emails related to the numbers. Same if I use any other of my (or my wife's) credit cards.

But if I do a test order with some random credit card number and hit submit, it just refreshes the payment page with the credit card details blank again.

But if I make up a fake person and order, and use my own credit card number (even with the wrong expiry date) the order goes through fine.

Then I assumed that maybe CC uses common credit card number sequences to verify if it's an actual card or not. So if I enter 4444333322221111, then obviously that's not a real card, but if I enter 4239XXXXXXXXXXXX, then it's recognised as being a Visa?

But then I tried a fake number like 4239111122223333 and it also failed.

If this is how it works, what is CC checking the numbers against? A third party -- or a file within Zen Cart?

Just curious, because I'd hate to go with this option only to have customers be stuck constantly refreshing the payment page when placing a credit card order.

(My merchant provider is fine with offline processing if a valid SSL is present)