I am using Remote Cloud SDK in sandbox environment and found that when I am doing sale of amount less than $50, Clover Flex device is not asking for Signature even though I have set following in sale request.
Would this be sandbox issue or something i missed in sale request?
cloverSaleRequest.signatureThreshold = 0; cloverSaleRequest.SignatureEntryLocation = clover.sdk.payments.DataEntryLocation.ON_SCREEN; cloverSaleRequest.setCardEntryMethods(clover.CardEntryMethods.ALL); cloverSaleRequest.setAllowOfflinePayment(true); cloverSaleRequest.setExternalId(externalId); cloverSaleRequest.setAmount(amount);
The Sale Process Log:
POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:41692 r {message: "In retrieveDeviceStatus: Device is not connected.", code: "NotConnected", cause: null, type: "COMMUNICATION", _class_: ƒ} POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8886","lastFragment":null,"method":"ACK","packageName":"com.clover.remote.protocol.websocket","payload":"{\"METHOD_TYPE\":\"ACK\",\"method\":\"ACK\",\"reason\":null,\"rejected\":false,\"sourceMessageId\":\"1\",\"sourceMethod\":\"DISCOVERY_REQUEST\"}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8887","lastFragment":null,"method":"DISCOVERY_RESPONSE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"merchantId\":\"QBYCW4NYYD931\",\"merchantMId\":\"RCTST0000008099\",\"merchantName\":\"360Growers\",\"model\":\"Clover_C403\",\"name\":\"Flex(2nd Generation)\",\"ready\":true,\"serial\":\"C043UQ04550410\",\"supportsAcknowledgement\":true,\"supportsAuth\":true,\"supportsManualRefund\":true,\"supportsMultiPayToken\":true,\"supportsPreAuth\":true,\"supportsTipAdjust\":true,\"supportsVaultCard\":true,\"supportsVoidPaymentResponse\":true,\"method\":\"DISCOVERY_RESPONSE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Got a Discovery Response POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 info 2021-05-14T00:24:12.557Z - Stopping reconnect loop. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 info 2021-05-14T00:24:12.557Z - Device heartbeat checks are disabled, the heartbeatInterval is set to -1. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Ready POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending Ready notification to listeners POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:41447 {message: "Device Ready to process requests!", merchantInfo: s} POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40470 done POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40480 {message: "Device Ready to process requests!"} POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending: {"id":"2","type":"COMMAND","packageName":"com.clover.remote.protocol.websocket","method":"TX_START","payload":"{\"method\":\"TX_START\",\"messageId\":\"2\",\"version\":2,\"order\":null,\"payIntent\":{\"amount\":4002,\"tipAmount\":0,\"transactionType\":\"PAYMENT\",\"isDisableCashBack\":false,\"isTesting\":false,\"isCardNotPresent\":false,\"remotePrint\":false,\"isForceSwipePinEntry\":false,\"disableRestartTransactionWhenFailed\":false,\"externalPaymentId\":\"d39b762afc3c91ff3c2578271f1b77be\",\"requiresRemoteConfirmation\":true,\"allowPartialAuth\":true,\"transactionSettings\":{\"cardEntryMethods\":36623,\"disableCashBack\":false,\"cloverShouldHandleReceipts\":true,\"forcePinEntryOnSwipe\":false,\"disableRestartTransactionOnFailure\":false,\"allowOfflinePayment\":true,\"approveOfflinePaymentWithoutPrompt\":false,\"forceOfflinePayment\":false,\"signatureThreshold\":0,\"tipMode\":\"ON_SCREEN_BEFORE_PAYMENT\",\"disableReceiptSelection\":false,\"disableDuplicateCheck\":false,\"autoAcceptPaymentConfirmations\":false,\"autoAcceptSignature\":false,\"returnResultOnTransactionComplete\":false}},\"requestInfo\":\"SALE\"}","remoteSourceSDK":"com.clover.cloverconnector.cloud:4.0.5","remoteApplicationID":"RPXDGYZC339GM","version":2} POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8888","lastFragment":null,"method":"ACK","packageName":"com.clover.remote.protocol.websocket","payload":"{\"METHOD_TYPE\":\"ACK\",\"method\":\"ACK\",\"reason\":null,\"rejected\":false,\"sourceMessageId\":\"2\",\"sourceMethod\":\"TX_START\"}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8889","lastFragment":null,"method":"TX_START_RESPONSE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"externalPaymentId\":\"d39b762afc3c91ff3c2578271f1b77be\",\"order\":\"{\\\"manualTransaction\\\":true,\\\"id\\\":\\\"NTYVGCERCXY8G\\\",\\\"device\\\":{\\\"id\\\":\\\"6e2551cf-42db-8820-544c-db018db388c8\\\"},\\\"currency\\\":\\\"USD\\\",\\\"isVat\\\":false,\\\"groupLineItems\\\":true,\\\"testMode\\\":false,\\\"createdTime\\\":1620951848777,\\\"clientCreatedTime\\\":1620951848777,\\\"taxRemoved\\\":false,\\\"total\\\":4002,\\\"employee\\\":{\\\"id\\\":\\\"0YV89A9R4PZ72\\\"},\\\"lineItems\\\":{\\\"elements\\\":[{\\\"id\\\":\\\"M0C39QEA801QE\\\",\\\"unitQty\\\":null,\\\"unitName\\\":null,\\\"createdTime\\\":1620951848768,\\\"binName\\\":null,\\\"userData\\\":null,\\\"price\\\":4002,\\\"alternateName\\\":\\\"\\\",\\\"name\\\":\\\"Manual Transaction\\\",\\\"itemCode\\\":null,\\\"note\\\":null,\\\"exchanged\\\":false,\\\"refunded\\\":false,\\\"printed\\\":false,\\\"isRevenue\\\":null,\\\"taxRates\\\":{\\\"elements\\\":[{\\\"id\\\":\\\"BDGW6AXN9M5F2\\\",\\\"name\\\":\\\"NO_TAX_APPLIED\\\",\\\"rate\\\":0,\\\"taxAmount\\\":0,\\\"isDefault\\\":false,\\\"taxType\\\":null}]}}]},\\\"state\\\":\\\"open\\\",\\\"payType\\\":null}\",\"requestInfo\":\"SALE\",\"result\":\"SUCCESS\",\"success\":true,\"method\":\"TX_START_RESPONSE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8890","lastFragment":null,"method":"UI_STATE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"inputOptions\":[{\"description\":\"CANCEL\",\"keyPress\":\"ESC\"}],\"uiDirection\":\"ENTER\",\"uiState\":\"ADD_TIP\",\"uiText\":\"Customer is tipping…\",\"method\":\"UI_STATE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending DeviceActivityStart notification to listeners POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:41681 {message: "onDeviceActivityStart: ", cloverDeviceEvent: n} POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":null,"lastFragment":null,"method":null,"packageName":"com.clover.remote.protocol.websocket","payload":null,"remoteApplicationID":null,"remotePayCompatibilityVersion":1,"remoteSourceSDK":null,"type":"PING","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending: {"type":"PONG","packageName":"com.clover.remote.protocol.websocket","remoteSourceSDK":"com.clover.cloverconnector.cloud:4.0.5","remoteApplicationID":"RPXDGYZC339GM"} POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8891","lastFragment":null,"method":"UI_STATE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"inputOptions\":[],\"uiDirection\":\"EXIT\",\"uiState\":\"ADD_TIP\",\"uiText\":\"Customer is tipping…\",\"method\":\"UI_STATE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending DeviceActivityEnd notification to listeners POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8892","lastFragment":null,"method":"TIP_ADDED","packageName":"com.clover.remote.protocol.websocket","payload":"{\"tipAmount\":600,\"method\":\"TIP_ADDED\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending TipAdded notification to listeners POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:41398 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:41399 On tip added: {"tipAmount":600} POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8893","lastFragment":null,"method":"UI_STATE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"inputOptions\":[],\"uiDirection\":\"ENTER\",\"uiState\":\"PROCESSING\",\"uiText\":\"Processing…\",\"method\":\"UI_STATE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending DeviceActivityStart notification to listeners POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:41681 {message: "onDeviceActivityStart: ", cloverDeviceEvent: n} POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8894","lastFragment":null,"method":"UI_STATE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"inputOptions\":[],\"uiDirection\":\"EXIT\",\"uiState\":\"PROCESSING\",\"uiText\":\"Processing…\",\"method\":\"UI_STATE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending DeviceActivityEnd notification to listeners POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8895","lastFragment":null,"method":"UI_STATE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"inputOptions\":[],\"uiDirection\":\"ENTER\",\"uiState\":\"CONFIGURING\",\"uiText\":\"Processing…\",\"method\":\"UI_STATE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending DeviceActivityStart notification to listeners POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:41681 {message: "onDeviceActivityStart: ", cloverDeviceEvent: n} POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8896","lastFragment":null,"method":"UI_STATE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"inputOptions\":[],\"uiDirection\":\"EXIT\",\"uiState\":\"CONFIGURING\",\"uiText\":\"Processing…\",\"method\":\"UI_STATE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending DeviceActivityEnd notification to listeners POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8897","lastFragment":null,"method":"UI_STATE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"inputOptions\":[{\"description\":\"Cancel\",\"keyPress\":\"ESC\"},{\"description\":\"Type Card\",\"keyPress\":\"BUTTON_2\"}],\"uiDirection\":\"ENTER\",\"uiState\":\"START\",\"uiText\":\"Customer is choosing payment method…\",\"method\":\"UI_STATE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending DeviceActivityStart notification to listeners POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:41681 {message: "onDeviceActivityStart: ", cloverDeviceEvent: n} POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8898","lastFragment":null,"method":"UI_STATE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"inputOptions\":[{\"description\":\"Cancel\",\"keyPress\":\"ESC\"},{\"description\":\"Type Card\",\"keyPress\":\"BUTTON_2\"}],\"uiDirection\":\"EXIT\",\"uiState\":\"START\",\"uiText\":\"Customer is choosing payment method…\",\"method\":\"UI_STATE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending DeviceActivityEnd notification to listeners POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug DefaultCloverDevice, handling remote message receipt. Message: {"attachment":null,"attachmentEncoding":null,"attachmentUri":null,"authentication":null,"directed":false,"fragmentIndex":null,"id":"8899","lastFragment":null,"method":"UI_STATE","packageName":"com.clover.remote.protocol.websocket","payload":"{\"inputOptions\":[{\"description\":\"Cancel\",\"keyPress\":\"ESC\"}],\"uiDirection\":\"ENTER\",\"uiState\":\"SELECT_ACCOUNT\",\"uiText\":\"Customer is choosing payment method…\",\"method\":\"UI_STATE\",\"version\":1}","remoteApplicationID":"com.clover.remote.protocol.websocket:1.0-356","remotePayCompatibilityVersion":1,"remoteSourceSDK":"com.clover.internal.apps","type":"COMMAND","version":2}. POS?v=nF68Nru6lYrD3pJTh4zNWiFr9gUIb-4tg3g4erMPtJM1:40386 debug Sending DeviceActivityStart notification to listeners