This is an old revision of the document!
In a traditional point of sale (POS) environment, the developer deploys software on the cash register computer which communicates directly with devices such card swipers and pinpads via usb or serial. Sensitive card data is transmitted from the swiper device to the cash register machine and point of sale before being forwarded to the credit card processor. This makes the POS software and the cash register computer a point of vulnerability to compromise.
The POS Device Server offloads all communication with pos devices. The POS device communicates directly with the PCI environment hosted by gateway SSL encrypted connection. The POS software sends instructions to the gateway to prompt the customer for payment and the gateway handles the entire process of handling card swipe, capturing signature and processing the payment. No sensitive card data ever touches the POS software or the computer its installed on. This greatly reduces risk for the merchant and simplifies the PCI audit process.
This is the third party software being integrated. The following documentation assumes that this is a merchant facing application, although this is not necessarily required. Other applications could include customer facing kiosks, self service applications, etc.
A point of sale hardware accessory such as a pin pad, card swiper, or combination unit.
|GET /api/posdevice/registration||getRegistrationPin||Get a device registration pin|
|DELETE /api/posdevice/registration||deletePosDeviceRegistration||Remove device registration|
|GET /api/posdevice||getPosDevice||Retrieve information about connected pos device|
|GET /api/posdevice/screen||getPosDeviceScreen||Retrieve name of screen currently display on device|
|PUT /api/posdevice/screen||displayPosDeviceScreen||Display screen and/or custom message on pos device|
|DELETE /api/posdevice/screen||clearPosDeviceScreen||Clear pos screen and return device to idle|
|PUT /api/posdevice/checkout||startCheckOut||Start checkout pos device|
|POST /api/posdevice/checkout||updateCheckOut||Provide additional information to checkout process (ie add line items)|
|GET /api/posdevice/checkout||getCheckOutStatus||Retrieve information about current checkout status|
|DELETE /api/posdevice/checkout||cancelCheckOut||Cancel checkout|
|PUT /api/posdevice/signature||requestSignature||Start signature request|
|GET /api/posdevice/signature||getSignatureStatus||Retrieve status of signature and signature if complete|
|DELETE /api/posdevice/signature||cancelSignatureRequest||Cancel signature request|
To demonstrate the functionality of the POS Device Server api the following rudimentary point of sale application is provided. It is available as a VB.Net project. Please replace the example source key with your own SourceKey and pin before using.