ACME supports an embedded card reader for enterprise-grade kiosks whereby the card reader can be assembled into the kiosk hardware.
There are two options for card readers - both modern devices that support contactless forms of payment methods via Mobile Payments (Apple/Google/Samsung), EMV-based inserts, and magnetic stripes:
The integration is achieved by retrieving the ACME and WorldPay authentication keys, calling the WorldPay triPOS SDK to authorize a card, get a transaction token, and pass it into our checkout infrastructure by calling the B2B v2/checkout/kiosk endpoint.
In most instances, the kiosk is a windows computer. If so, download the corresponding Tripos SDK from here https://developerengine.fisglobal.com/apis/tripos/tripos-direct#tridirectdownloads and create a FIS account.
ACME/Tripos Implementation Details
- Pull the Authentication data for triPOS via the B2B /v1/tenant/configs endpoint, via the API key authentication as any other b2b endpoint, that returns the "expressAcceptorID, expressAccountID, expressAccountTokent, expressApplicationID and expressURL" required to pass into the triPOS SDK initialize function.
- We recommend to safely store the triPOS authentication data into your kiosk to avoid any un-authorized access. Those keys enable processing on your behalf.
- For triPOS interactions, see SDK reference doc in the attached file.
- Build your shopping cart and pass it into our B2B kiosk checkout endpoint /v2/checkout/kiosk which captures the authorization obtained via the triPOS integration.
- When a successful authorization call to the triPOS library returns, pass the value from Transaction.paymentMethod.paymentData.authorizationTransactionId into ACME as expressTransactionId into checkout.
- Then leverage the rest of the checkout infrastructure as for any checkout on ACME with the unified shopping cart.
If your kiosk will support Timed Entry Events with limited inventories, then be sure to use ACME's Reservations API. This will prevent the customer presenting their credit card only to be told the inventory is unavailable.