When you issue the card you should set the IIN (issuer identification number) and CIN (card image number) in the card manager. You can then get these to uniquely identify a card. These are defined in the GlobalPlatform card specification.
Unique ID for smart cards is not present. There are parallel existing schemes, but there is no central governance. CIN/IIN can be set by the issuer as they like. This does not mean that a card from different issuer has same coding. Same holds for CPLC. Contactless cards have an UID for anti-collision, but the naming space in 4 byte UID is probably also overloaded by now, plus UID can be set to random for privacy reasons. It would be great to have something like MAC address for smart cards.