PC/SC and pcsc-lite

PC/SC is the de facto cross-platform API for accessing smart card readers. It is published by  PC/SC Workgroup but the "reference implementation" is Windows. Linux and Mac OS X use the open source  pcsc-lite package. Mac OS X pcsc-lite version is customized by Apple and some versions are known to contain serious bugs.

PC/SC is well supported by OpenSC and is the preferred access method for smart card readers on all platforms. Features like PinpadReaders are supported if the reader driver has support for it (PC/SC v2 part 10)

Most modern USB smart card readers are  CCID/ICCD compatible. Mac OS X and Linux use the  open source CCID driver.