The fact that you're able to obtain the full card numbers at all means that you're going to be involved with PCI compliance, regardless of how you plan to generate the hash.
If you are able to hash the card numbers, and only store a hash then this will certainly make your path towards PCI compliance easier, but you will still need to work through the other issues to ensure that (eg) no rogue employee can gather the card data prior to hashing.
Hashing with SHA256 is acceptable, so long as each card has a unique salt. Your plan to use first name + last name as a salt would probably be considered acceptable here.
Ideally though you'd work with a payment gateway that captured and tokenised the card details. This would mean you never have access to the full card number and would all but eliminate your responsibilities with PCI compliance, and also mean that you could probably just use the token id in place of the card number, and no hashing required.