Closed matthewryan closed 8 months ago
Hi, sorry for the trouble here. We've been able to reproduce the issue with 2.x SDKs and are investigating fixes. There is an incompatibility with the response from the reader to the SDK.
I realize this may not be very helpful as it would require potentially significant client changes for you but in case it helps: you can get at the raw JSON dictionary for payment method details with paymentIntent.charges.first?.paymentMethodDetails?.originalJSON
which will have the card_present field.
Will update with more info with a fix as we have it.
I can't provide a timeline yet but wanted to let you know we're working on a fix to deploy to the readers to fix this up.
Thank you!
A reader update to version 2.20.4.0
(seen in the lower left when you swipe right on the reader) has been shipped to address this. I'm going to close out this issue but please re-open and let us know if still seeing issues on readers that have been updated.
Thanks @bric-stripe, I will check it out shortly.
Summary
On February 10, ~11am AEST time (GMT+11) we noticed that our US clients using the WisePOS E terminals were unable to capture their payments.
Subsequent investigation suggests that the
Charge.paymentMethodDetails.cardPresent
value is missing from the resultantPaymentIntent.charges
ofTerminal.processPayment(_)
-- we use the data in this object for extra record keeping and halt the capture of payment without this information.This value was returned as expected during implementation, test, and many months of production usage. API/SDK documentation suggests that the field is nullable but should be populated when the transaction is "card present". The
type
of the payment method details is confirmed as.cardPresent
as above in the debug output block.https://stripe.dev/stripe-terminal-ios/docs/Classes/SCPPaymentMethodDetails.html#/c:objc(cs)SCPPaymentMethodDetails(py)cardPresent
The raw API responses do include these values as captured in the dashboard event: https://dashboard.stripe.com/test/events/evt_3OiTeMDGO95FH5Z415s59znN
Transactions from other card terminals (WisePOS 3 and M2) appear to be unaffected.
iOS version
17.*
Installation method
SPM
SDK version
2.10.2 thru 2.23.2 (I haven't tried 3.+ as it's breaking on our current implementation)
Thanks! Matt