App development
Rootline allows you to run your own app on the payment device. The payment devices Rootline offers are the A920Pro, A77 and A35 from PAX running a modified Android 10 or later.
PAX Developer Portal
Your app will be published through the PAX Developer Portal. The below steps describe how to register with PAX as a developer and release your app.
Registering with PAX
To publish your own app you need to register with PAX as a developer using the following link: https://paxemea.whatspos.com/developer. After you have registered with PAX, inform our support team by sending an email to support@rootline.com and provide the email address that was used to create the PAX developer account. Our team will link your developer account accordingly.
Adding an app in the PAX Developer Portal
In the PAX Developer Portal click on "+ NEW APP" and provide the name of your app. Upload the latest version of your APK and choose the app type:
- Normal app: a standard Android app that will run on the payment device.
- Parameter app: an app that will receive parameters from the platform, for example to push configurations. You need to integrate with the PAX Store SDK. You will also need to provide the template file in xml format.
Fill out the remainder of the required details such as app icon, business category, description, etc.
For "model", select PAX and at least one of the supported devices you want to target: A920Pro, A77 and/or A35.
Lastly you can save the app details or you can submit the version for approval. When you submit your app for approval, the app will be made available for distribution to the payment devices. Distribution to specific payment devices is coordinated separately — see below.
App distribution
To distribute your app to the payment devices, please contact your Rootline point of contact to coordinate the release.
Initiating a payment from your app
To initiate a payment from your app you need to call the Rootline Payments API as explained in the accept in-person payments guide.
On the payment device your app's Activity will receive onStop and our payments app will be brought to the foreground to complete the payment. Once the payment is completed, your app will be brought back to the foreground again (onResume).
You can use the GET /payments/{payment_id} API to retrieve the status, or push the payment status from your backend to the payment device, for example by using websockets.
Make sure you do not include your Rootline API key in your app, and follow the security best practices.