The communication between the payment device and Commerce Cloud Endless Aisle requires the elements in the following diagram:
Devices use one of two different ways that the device can interact with the app:
The payment device module consists of:
For information on how to create an Appcelerator module and communicate between the JavaScript/Objective-C bridge, look at the Appcelerator iOS Module Develpment Guide.
The entry points required in a payment device module include:
The exit points are all the events that are fired back to the app code, such as:
Between the entry points and exit points, you write code in the device driver and the JavaScript wrapper.
To create a payment device module, you implement a series of functions that the DSS app calls, starting with the JavaScript function called acceptPayment.
The JavaScript function:
The process runs on a separate thread and the acceptPayment function returns back to the caller while the device is prompting the user for payment.
It's essential to handle all possible cases.
Contactless payments are ones in which an NFC device is placed close to the payment terminal. It's recommended that if the country where the application will be running supports contactless payments, that they be enabled on the payment terminal.
If the payment device has a built in printer, it's optional whether the application uses that printer.