Platform Docs

Per-Transaction Settings

Beginning with version 1.2.0 of the SDK, you can override certain merchant-level settings for specific transactions. These per-transaction settings give you greater control over tips, signatures, receipts, duplicate transaction logic, offline payments, payment confirmations, and other functions.

IMPORTANT

To use transaction settings, you must instantiate a subclass of TransactionRequest (that is, a SaleRequest, AuthRequest, or PreAuthRequest). Transaction settings work for all subclasses of TransactionRequest, but each may only allow the modification of some settings. Support for each setting may also be different for each SDK. Refer to the API documentation for complete details.

Tips

TipMode (TipMode enum)
The tipMode setting specifies the location from which to accept the tip. You can also omit the tip. Possible values include:

Value
Description
Request Methods
Devices

TIP_PROVIDED

The tip amount is included in the request. You must also set the TipAmount field on the request.

saleRequest

Clover Flex, Clover Mini, Clover Mobile, and Clover Station

ON_SCREEN_BEFORE_PAYMENT

The tip screen is shown on the Clover device before payment.

SaleRequest

Clover Flex, Clover Mini, and Clover Mobile

ON_SCREEN_AFTER_PAYMENT

The tip screen is shown on the Clover device after payment.

AuthRequest

Clover Station

NO_TIP

A tip will not be requested for the payment (the tip screen is skipped during the payment flow). This setting will override the merchant setting for tips.

SaleRequest

Clover Flex, Clover Mini, Clover Mobile, and Clover Station

TippableAmount (Long)
This option sets the amount to use when calculating tips. This setting is useful if you want to present customers with the option to tip for a portion of the total. When the ADD_TIP screen appears during payment, this amount is shown in the Tip based on field.
saleRequest.TippableAmount = 2000L;

Signatures

SignatureThreshold (Long)
This setting enables you to override the merchant-configured signature threshold. This threshold is the minimum amount for requiring a customer signature.

For example, to require a signature for any transaction greater than $25.00, set the SignatureThreshold to 2500:
saleRequest.SignatureThreshold = 2500;

To require a signature for any amount, set the SignatureThreshold to 0:
saleRequest.SignatureThreshold(0);

You can also set SignatureEntryLocation to NONE to override the signature threshold entirely so that a signature is never required.

SignatureEntryLocation (DataEntryLocation enum)
This setting enables you to override the merchant-level Signature Entry Location. The possible values are:

Value
Description

ON_SCREEN

Takes the signature on the Clover device's screen

ON_PAPER

Takes the signature on the paper receipt

NONE

Skips the signature request for the transaction

For example, to force the Clover device to take the signature on-screen, you would use:
saleRequest.SignatureEntryLocation = DataEntryLocation.ON_SCREEN;

AutoAcceptSignature (Boolean)
This setting enables you to automatically accept a signature (on screen or on paper) for the given transaction, if applicable. The override prevents the SDK from transmitting signature confirmation requests back to the calling program. The transaction continues processing as if the caller initiated an acceptSignature() request:
saleRequest.AutoAcceptSignature = true;

Receipts

DisableReceiptSelection (Boolean)
This setting bypasses the customer-facing receipt selection screen. For example, you may want to use this setting if you plan to print receipts from a non-Clover printer: saleRequest.DisableReceiptSelection = true;

Duplicate Checking

DisableDuplicateChecking (Boolean)
This option bypasses logic that checks for potential duplicate transactions (payments made with the same card type and last four digits within the same hour) and asks the merchant to confirm acceptance of the payments.

Disabling duplicate checking will make your transactions faster. However, you should only implement this setting if you're willing to accept the risk associated with a potential duplicate payment. saleRequest.DisableDuplicateChecking = true;

Offline Payments

Offline payments are taken without a network or Wi-Fi connection. In these cases, the Clover device is unable to verify with the payment gateway that the card is both valid and has sufficient funds.

AllowOfflinePayment (Boolean)

By default, Clover Station, Station 2018, Mini, Mobile, and Flex are set to take offline payments for up to seven days. Setting AllowOfflinePayment to true overrides the merchant setting to disallow offline payments during the seven-day period. You should only implement this setting if merchants are willing to accept the risk associated with offline payments.

Note that an offline payment will trigger a challenge and an OnConfirmPaymentRequest() asking the merchant to confirm acceptance of the payment (and the risk associated with it):
saleRequest.AllowOfflinePayment = true;

You can also choose to confirm offline and potential duplicate payments automatically with the AutoAcceptPaymentConfirmations Per-Transaction Setting:

ForceOfflinePayment (Boolean)
This setting forces the device to take payments offline regardless of connection status:
saleRequest.ForceOfflinePayment = true;

ApproveOfflinePaymentWithoutPrompt (Boolean)
When the value for this setting is true, offline payments will be approved without a prompt:
saleRequest.ApproveOfflinePaymentWithoutPrompt = true;

Payment Confirmations

AutoAcceptPaymentConfirmations (Boolean)
This setting enables you to automatically accept any payment confirmation requests triggered by challenges encountered at the payment gateway (for example, an offline payment or potential duplicate payment). The override prevents the SDK from transmitting payment confirmation requests back to the calling program. The transaction continues processing as if the caller initiated a confirmPayment() request.

Automatically accepting payment confirmation requests will make your transactions faster. However, you should only implement this setting if you're willing to accept the risk associated with offline payments and potential duplicate payments:
saleRequest.AutoAcceptPaymentConfirmations = true;

Other Functions

DisableCashback (Boolean)
This setting disables cashback functionality:
saleRequest.DisableCashback = true;

DisablePrinting (Boolean)
This setting disables automatic printing of receipts for transactions:
saleRequest.DisablePrinting = true;

DisableRestartTransactionOnFail (Boolean)
This setting prevents the Clover device from restarting a transaction that times out or is declined:
saleRequest.DisableRestartTransactionOnFail = true;

CardEntryMethods
This option sets the card entry methods the merchant accepts. If this parameter is null, the default values (CARD_ENTRY_METHOD_MAG_STRIPE, CARD_ENTRY_METHOD_ICC_CONTACT, and CARD_ENTRY_METHOD_NFC_CONTACTLESS) will be used:

saleRequest.CardEntryMethods = CloverConnector.CARD_ENTRY_METHOD_ICC_CONTACT | CloverConnector.CARD_ENTRY_METHOD_MAG_STRIPE | CloverConnector.CARD_ENTRY_METHOD_NFC_CONTACTLESS;