This can happen when:
1. The customer is a child of another customer.
2. Setup > Accounting > Accounting Preferences > General Tab > Accounts Receivable section> Accept Payments through Top-Level Customer = True
3. The Parent customer does not have any credit card information set on its record.
In this case, the Credit Card Select field on the Payment form will only show credit card numbers stored on the Parent Customer's record.