#sam-ios-terminal
1 messages · Page 1 of 1 (latest)
@simple breach let me ask my team as I don't know that SDK well myself. I'll be back once I know more
Thanks, really appreciate the help, this has been a head-scratcher
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.
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
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.
Ok, thanks, I'll start gathering these details
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
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
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.
I'm running a diff firmware version
can you try throwing in some breakpoints and inspecting what self.collectCancelable is set to before calling .cancel method.
If terminal doesn't update, you could try the diagnostics
https://stripe.com/docs/terminal/readers/bbpos-wisepos-e#updating
I'll try the update and diagnostics