Smart Tipping with Reader SDK

Currently SQRDTipSettings has an option for tipPercentages. We would like to implement the Smart Tipping that the Square App uses (ie if total is less than 10$ tips would be 1$,2$,3$) Currently we calculate the right % to generate these values but that’s not ideal and does not work in all cases.

Options for this would be to either make Smart Tipping an option or provide a way to pass in money amounts not percents as the tip.

:wave: Currently with Reader SDK Smart Tipping isn’t currently available. We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team. :slightly_smiling_face:

Hi Bryan. Does tipping work in the iOS Square Reader SDK? Been trying to figure it out and can’t.

Playing with this code:
checkoutParameters.tipSettings?.showCustomTipField = true
checkoutParameters.tipSettings?.showSeparateTipScreen = true
checkoutParameters.tipSettings?.tipPercentages = [15,20,25]

Thanks for any input…

:wave: Yes, that’s the configurations for tipping with Readers SDK. In the SQRDCheckoutParameters you’ll set the SQRDTipSettings :slightly_smiling_face:

Thanks - ok that confirms my suspicion that it’s in there. Is there any more guidance about how to get it to work or show up? I saw this on that page you linked:
@NSCopying var tipSettings: SQRDTipSettings? { get set }

update: I found this too: SQRDTipSettings Class Reference

but still can’t figure out what I’m doing wrong in my Swift code.


You’ll be passing in as part of the checkout parameter. For example:

checkoutParams = {
      amountMoney: {
        amount: 100,
        currencyCode: 'USD', // optional, use authorized location's currency code by default
      // Optional for all following configuration
      skipReceipt: false,
      collectSignature: true,
      allowSplitTender: false,
      delayCapture: false,
      note: 'Hello 💳 💰 World!',
      tipSettings: {
        showCustomTipField: true,
        showSeparateTipScreen: false,
        tipPercentages: [15, 20, 30],
      additionalPaymentTypes: ['cash', 'manual_card_entry', 'other'],

well, i came here searching for the answer to the code you were working with jedi and a developer at square hooked me up with the answer so i thought i would share it with you and possibly future people like me who were looking for this answer.

    //enable tips
    let tipSettings = SQRDTipSettings()
    tipSettings.showSeparateTipScreen = true
    tipSettings.tipPercentages = [10, 15, 20]
    checkoutParameters.tipSettings = tipSettings