v304 release notes

Clover Android SDK

United States

Data model changes

The following data model changes, new features, improvements, deprecations, and bug fixes are available since the release of Clover Android SDK v293.


Added a reason column to the credit_refund table in the orders database. This revision updates the CreditRefund class in com.clover.sdk.v3.payments to support that column.

Restaurant Solutions


  • Classes for multiple menu overrides—ItemOverride, ModifierOverride, LayoutOverride.
  • Support for multiple devices for Auto Coursing.
  • device_id in the print group POJO and changed it to type string.

New features and improvements


  • New parameter in the RegionalExtras class for the merchant ID for Argentina.
  • Orders API for a refund by amount (Transaction App).
    POST /v3/merchants/{mid}/orders/{orderId}/refunds
  "refunds": { "elements": [{ "amount": 1234, "payment": { "id": "ID1" } }] }  
  "includeTip": true  



  • Email marketing opt-in for remote receipts.
  • Capability for an integrator to prompt for a receipt for payment, credit, and refund. The developer needs to provide the payment ID and indicate whether it is a merchant or customer-facing prompt.
  • TipOptions to CloseoutRequestIntentBuilder.


  • Updated void_on_refund API with deletedTime field changes.
  • Added:
    • EXTRA_EMPLOYEE_NAME so that it is returned as an intent data result to apps like payments, which request manager and admin override.
    • Support for tenders for Partial Refund By Amount.
    • Extra constant in CardTransactionConstants for ORIGINAL_AMOUNT for partial payment card transaction.
    • New void reason USER_CANCEL_SYNC for a synchronous void call.
    • RequestTip intent builder for prompting a customer for an on-screen tip amount.
    • MANAGER_ID and MANAGER_NAME to payIntent.
    • addAuthorization to OrderConnector.
    • TenderOptions to PaymentRequestIntentBuilder.
    • Ability to retrieve open payments through the Payments API.
    • labelKey field in the anomaly_reasons_avsc in the schema-tool for locale support and merchant reference and updated the AnomalyReasons.java artifact in clover-android-sdk.
  • Removed VoidPreauthRequestIntentBuilder and PaymentRefundRequestIntentBuilder to use ReversePaymentRequestIntentBuilder.

Point of sale

Updated addItem broadcast Intent to send a broadcast when items are removed from an order. The broadcast contains a list of line-item universally unique identifiers (UUIDs) and their corresponding inventory-item UUIDs, the same as when items are added to an order. This feature does not require the receiving app to be running to get the notification.

Clover Android SDK

Updated the Clover Android SDK to allow parameters EXTRA_TRANSMIT_UPC_A_PREAMBLE and EXTRA_TRANSMIT_UPC_A_CHECK_DIGIT to pass when starting a barcode scanner app.

Android apps

Clover may temporarily block or permanently remove Receipt Registration providers who repeatedly fail to respond. Make sure your Receipt Registration provider responds within the documented time limit of two seconds.

Bug fixes


  • Fixed an issue where the manual entry option was missing on some devices. Revised PayIntent for Payments manual card entry without EBT tender selection from custom tender buttons.
  • Added EXTRA_EXIT_IN_CUSTOMER_MODE to have Billsplit enable CustomerMode on a normal successful exit.
  • Removed the deprecated warning from EXTRA_ORDER_ID. It is not deprecated.