Android SDK FAQs
How can I integrate Clover payments into a non-Clover device?
If you're developing an application on a non-Clover device and want to accept payments using Clover, you have two options:
- Card-present payments: These typically require Clover hardware. To process in-person payments, you can use the REST Pay Display APIs for semi-integration, which allow your app to communicate with a Clover payment device.
- Card-not-present payments: For online or remote transactions, you can use the Clover Ecommerce API, which supports web-based payment processing without requiring Clover hardware.
Why am I getting a java.lang.SecurityException for INVENTORY_R permission even after adding it to the manifest and installing the app from the Clover Sandbox Developer Dashboard?
java.lang.SecurityException for INVENTORY_R permission even after adding it to the manifest and installing the app from the Clover Sandbox Developer Dashboard?Clover recommends the following:
- Make sure the INVENTORY_R permission is set in your Clover Developer Dashboard.
After updating permissions, uninstall and reinstall the app to sync the changes. - Use the Preview on App Market button in the Developer Dashboard to install the app on your test merchant account. This ensures the correct permissions and APK version are applied.
How can I apply an additional fee to the entire order total (not as a service charge) and display it below the subtotal using the Clover Android SDK?
This documentation explains how transaction data is handled on the Clover platform: Transaction Data– Convenience Fees. Note that third-party apps are not permitted to add convenience fees directly.
Is there a way to get notified when an employee is created in Clover using the Android SDK?
No, the Clover Android SDK does not have a local listener or broadcast for employee creation. To get notified in your app, you must use Clover Webhooks combined with a push notification to listen for the employee.created event.
Why am I getting the error—This customer no longer exists—after creating a customer using the Clover Android SDK?
This error typically occurs when a customer created on a live Clover device is not properly synced or registered in Clover’s backend systems. While the same flow may work in a sandbox, live production environments can behave differently due to sync delays or permission issues. If the issue persists, consider reaching out to Clover Developer Relations at: [email protected] with the device ID and a timestamp of the failed request.
Can I enable contactless payments, such as Google Pay, NFC on an Android device without using a Clover device?
No, the Clover Android SDK requires a Clover device to process payments. You cannot use the SDK to enable contactless payments, such as Google Pay or NFC, directly on a standard Android device without Clover hardware. While Tap to Pay on iPhone allows contactless payments without additional hardware, this feature is not available for Android devices. For Android, a physical Clover card reader, such as the Clover Go, or a dedicated Clover device, such as the Flex or Mini, is still required to process contactless payments.
Alternative options include:
- Use the Clover Ecommerce API: If you're building an ecommerce or web-based solution, you can use the Ecomm APIs or Hosted Checkout APIs to process payments without a Clover device.
- Use the Virtual Terminal: Clover Virtual Terminal is a merchant dashboard feature that allows manual card entry for payments. It is not directly embeddable into custom Android apps but can be used by merchants through the Merchant Dashboard.
Can I override the Clover default receipt printing with a custom receipt using the Android SDK?
Yes, Clover provides support for customizing receipts through its Android SDK. You can use Smart Receipts or Custom Receipt Extensions to modify or add content to printed receipts.
- Smart Receipts: Allows you to add structured data, such as loyalty information and survey links to receipts.
Learn more - Custom Receipts: You can create a custom app that listens for receipt print events and injects custom content.
Limitations: You cannot completely override the default receipt layout, but you can extend it with additional information. Receipt customization is limited to what Clover SDK and APIs expose; full layout control is not available.
How do I test my APK on a Clover Flex 3 device? Can I use USB debugging directly?
Yes, you can test your Android app on a Clover Flex 3 device using USB debugging, but there are a few important steps and requirements:
Steps to deploy your APK:
- Enable Developer Mode on Clover Flex 3:
- Go to Settings > About device.
- Tap Build number 7 times to enable Developer Options.
- Enable USB debugging.
- Connect via USB. If a direct connection doesn’t work, try using a USB-C to USB-A adapter or a powered USB hub.
- Sideload your APK.
- Use
adb install your_app.apkfrom your development machine. - Use Clover Dev Kit: If you have the Clover Dev Kit, it provides access to test environments and tools specifically designed for app development and testing.
Note: Emulators will not work for Clover SDK apps due to device-specific services and hardware dependencies. You must publish your app to the Clover App Market for production deployment, even if you sideload during development.
Updated 1 day ago
