stripe / stripe-terminal-ios

Stripe Terminal iOS SDK
https://stripe.com/docs/terminal/sdk/ios
Other
104 stars 65 forks source link

Tap to Pay `localMobileReaderDidAcceptTermsOfService` fires on every connection? #305

Open MeteC opened 6 months ago

MeteC commented 6 months ago

Summary

It seems the LocalMobileReaderDelegate method localMobileReaderDidAcceptTermsOfService() gets called every single time we connect the local mobile reader, and not only when the user actually accepts the TOS.

Is this expected behaviour? (It feels a little confusing.)

I ask because I'm working on showing merchant education material when the user actually physically accepts Terms of Service, but not every single time they connect the reader.

iOS version

17.4.1

Installation method

SDK version

3.5.0

MeteC commented 6 months ago

Just to add to the confusion, it seems this is actually ONLY the case for simulated terminals; real life Tap to Pay behaves differently and only fires this delegate method after literally accepting TOS? 😭

koenpunt commented 6 months ago

I think this is by design, so when using the simulated terminal you get the events more often.

MeteC commented 6 months ago

With all due respect, that's not a very good design if the simulator doesn't mimic reality.