Overview
The Clearent framework is an opinionated framework utilizing the IDTech iOS framework to read credit card data using the VP3300. Other IDTech framework capabilities remain accessible in case our recommended flows do not meet your needs.
Your app will connect to the VP3300 using an implementation of Apple's bluetooth solution included in the IDTech framework. Once connected, messages sent back to your App from the framework will guide the User to interact with the reader. A successful read of the card will instruct our framework to send the credit card data securely to our server. We will package this data in the form of an encrypted JWT (Json Web Token) and send it back to you via a framework callback. You can then present this JWT to our mobile gateway for payment processing.
The implementation has 2 areas to focus on:
Reader management involves identifying the reader to be used and saving off the reader info to contribute to a better User experience at transaction time. We recommend focusing on this separately from the transaction flow. If you can place this management area in your settings/preference section it will contribute to the User's first time experience as it relates more to a set up/configuration process.
In this management section, give the User the ability to start a bluetooth scan. Show them the results of the scan and allow them to select a reader. Connect to the selected reader. They will have the reader and will be able to confirm the connection by observing the quick flashing bluelight. If they select a reader from the list and do not observe a connection to the reader in hand, they should be given the ability to force a disconnect and try another reader from the list. Always show the name of the reader and its connection status.
The User should be aware they will need to press the button on the reader to take it out of sleep mode. It's important to train them early on this detail. Since the reader is following the BLE ("Bluetooth Low Energy") specification it will want to conserve energy.
Now that your app knows what reader it will always connect with it can focus on reader interaction. When you've determined it's time to interact with the reader, you can start a transaction using the framework. The framework provides feedback, notably the User Actions. These should be shown to the User in case the framework is instructing them to take an action. An example of this is if they inserted a chip card backwards.
Follow this from your settings to identify the reader
With a reader identified the transaction flow is simplified.