#sam-ios-terminal

1 messages · Page 1 of 1 (latest)

drowsy zinc
#

@simple breach let me ask my team as I don't know that SDK well myself. I'll be back once I know more

simple breach
#

Thanks, really appreciate the help, this has been a head-scratcher

royal siren
#

hi! not aware of a specific issue. What code are you using exactly? I'd expect that calling .cancel() on the value returned from calling collectPaymentMethod or processPayment would work.

simple breach
#

Sure, I originally tried something along the lines of calling Terminal.shared.clearReaderDisplay() then in the completion block calling self.collectCancellable.cancel()

#

@objc func cancelCollectPayment() { self.connectedTerminal?.clearReaderDisplay({ _ in self.collectCancelable?.cancel({ (error) in if (error != nil) { Utils.log(onFirebase: "Stripe Terminal: Unable to cancel payment collection") } }) }) }

#

terminal get saved as such:
func terminal(_ terminal: Terminal, didUpdateDiscoveredReaders readers: [Reader]) { self.connectedTerminal = terminal

royal siren
#

seems reasonable overall from what I can see. You don't need to call clearReaderDisplay I think, that is only for the flow where you explicitly set it to display a cart. Cancelling the collection flow should reset the screen back to the splash screen.

#

not aware of any issue with this not working, but unfortunately I don't have my WisePos reader with me right now to try and replicate this. I'd suggest writing to our support team at https://support.stripe.com/?contact=true sharing the full code, the ID of the reader tmr_xxxx, and its current firmware version from the diagnostic screen, and a video of the behaviour, so we can dig into this.

simple breach
#

Ok, thanks, I'll start gathering these details

odd citrus
#

Hey @simple breach
I tried to replicate the issue but couldn't.
As @royal siren mentioned, you don't need to call clearReaderDisplay really.
You can just cancel the collection flow and screen resets back to splash screen

#

I'd try to make sure that self.collectCancelable = Terminal.shared.collectPaymentMethod(retrievedIntent) and not nil

simple breach
#

Yeah, I even tried running that method under an if let, but no success previously. I did notice our reader firmware is 5.0.0.01 and sdk is 5.6.0

#

Even after reboot the device does not update to the latest firmware

odd citrus
#

Let me check what my firmware version is.
you could try removing the battery and re-seating it to force the update I think. That worked on my device just now.

simple breach
#

I'll try the update and diagnostics