Only display card details if the flags are true, and the matching values exist.

The old code would display an empty span if the flags and data didn't line up. For example if the expiry date existed on the payment method, but the flag said not to display it, the span would still get built. This prevents that.

Also do some code cleanup of related lines.
The expiration data above uses `printf('Expiration Date: %s')`, so if you're cleaning up the code anyway, let's fix this too.