v284 release notes

Clover Android SDK

We have recently released version 284 of Clover Android SDK


Data model changes

  • The pre-auth payment request allows both incrementing and decrementing of amount.
  • Added two columns to item and one column to modifier for auto-management of item availability.
  • Added a tag to Merchant Plan to support Essentials.
  • Added FLAG_NO_TIP int to PrintJob.java.
  • Added OFFLINE status to support unsubscription.
  • Added TEST_PRINT enum to PrintCategory.java to support the Test Print feature.
  • Added dccEligible field to V3 DCCInfo class.
  • Added EXTRA_NO_TIP string to Intents.java to block capturing of tips in the print receipts.
  • Added the following columns to ItemColumns to help fetching MenuItem with item:
    • On point-of-sale (POS)
    • Online
    • Stock
  • Added ItemColor column to LineItem class.
  • Added DINE_IN service type to ServiceType.java.
  • Added Network Transaction ID to CardTransactionConstants for printed receipts.
  • Added Quickpay UUID to PayIntent to be used by SecurePayService to finalize a payment.
  • Added flatTip field to TipSuggestion.java.
  • Added cashbackAmount parameter to PayIntent class, which allows cashbackAmount for the SecurePaymentFlow.
  • Added cardlessType, count, and total fields to BatchCardlessTotal.java.
  • Added trialDaysLeft field to App.java to show the trial days remaining for the app installed.
  • Added weightedRating field to AggregateRating.java to retrieve apps by ratings.
  • Added isPresentQrcOnly field to PayIntent for QR scan.

New features

  • Added deleteCategories method to InventoryTestActivity.java to improve the performance of bulk delete items operation.
  • Added getItemsForModifierGroup to the InventoryConnector class to identify items associated to a modifier group.
  • Added OrderContract.OrderSummary API for improved search performance and longer history.
  • Added updateCategoryItems method to update only category items.
  • Added updateCategorySortOrders method to support bulk update sorting orders.
  • Added the following APIs to provide access to printer on a merchant's device:
    • POST /v3/merchants/{mId}/print_event (requires the Write orders permission)
    • GET /v3/merchants/{mId}/print_event/{eventId}(requires the Read orders permission)
  • Added the following methods to simplify registering and unregistering of the CustomerMode broadcast receiver. The methods will check whether it is appropriate to register/unregister given the context.
    • register(Context)
    • unregister()
  • Added the following functions to TenderConstants for merchants to manage PayPal/Venmo refunds same as the credit/debit refunds.
    • isPayPalVenmo()
    • isSystemPayPal()
    • isSystemVenmo()
  • Added TX_ACTION to TX_ACTION_UPDATE_AUTH to ask for the card details at the terminal while updating a pre-auth request.
  • Added bulkAssignColorToItems method to InventoryConnector class to assign category color to inventory items that belong to a particular category.
  • Added CONTENT_WITH_MENU_URI to InventoryContract class to help fetch menu data with category.
  • Added MERCHANT_ONLY API to Platform2.java to determine if the device is intended for merchants.
  • Added TokenizeCardRequest and TokenizeCardResponse classes in PayIntent.java for token request and response.
  • Added addServiceCharge2 function to OrderV31Connector.java to indicate if the service charge was automatically applied to the order.
  • Added bulkLineItemEvent.insert method to LineItemEventContract.java.
  • Added the following functions to PayIntent.java:
    • isManualCardEntryByPassMode - if enabled, on starting the payment in manual flow, the device prompts for card number
    • isAllowManualCardEntryOnMFD - if enabled, for manual entry, the card information can be added on the merchant-facing device

Replaced intents

  • The Payment Connector interface replaces ACTION_SECURE_PAY, ACTION_STATION_PAY, and ACTION_STATION_SECURE_PAY APIs.


  • OrderContract.OrderSummaries API.
  • Product Code and SKU columns.
  • DeviceCountInfo and DevicePriceInfo APIs.

Emulator setup in Android Studio

Python 3.5 or later version is required to run the ./install_apps.py script, refer to Installing required Clover merchant apps.