stripe/stripe-terminal-ios

offline payment is created and success but can not find in stripe

Closed this issue · 4 comments

Summary

We are using offline mode in 3.0 version. But we found an issue: the offline payment is created and payment is success, but after returns to online, the payment is not found in stripe portal and also the stripe payment callback is not received.

the payment intent created offline is pio_c4dee19b26a04fcdb97cfb707987e39c pio_a1bffa9f759f4b3e9e66a67f7d5482e7

This is not reproducible. We found there are 2 payments fails and can not found in stripe in last month.

the failed payments happens on around 2023-09-30T16:39:59Z UTC.

Can you help check? thanks.

Code to reproduce

iOS version

16+

Installation method

cocoapods

SDK version

v3.0.0-b7

Other information

firmwareVersion: 2.01.00.17-SZZZ_Prod_US_v5-480001

Hi @john-chowbus -- can you share the reader serial numbers that collected the payments? Also, were both payments collected (and expected to be forwarded) at around 2023-09-30T16:39:59Z UTC?

@billfinn-stripe the reader sn is STRM26232004908.

pio_c4dee19b26a04fcdb97cfb707987e39c is collected at around timestamp 1696021742.197, that is Sep 29 2023 21:09:02 GMT+0000 UTC
pio_a1bffa9f759f4b3e9e66a67f7d5482e7 is collected at around timestamp 1696018972.274, that is Sep 29 2023 20:22:52 UTC

And 2023-09-30T16:39:59Z UTC is the time when device returned online, intents expected to be forwarded at this time.

Hi @john-chowbus -- thanks. From looking at our backend logs, we do see the iPad device sending logs starting at around 2023-09-30T16:53:04 UTC, which pretty closely aligns with your timestamp. However, from the logs, the iPad indicated that there were no payments to forward:

scope=SCPOfflineForwardingController event=stopForwardingWithReason_error_logParams logpoint_level=info info=no_more_payment_intents

We don't see any backend logs for pio_c4dee19b26a04fcdb97cfb707987e39c nor pio_a1bffa9f759f4b3e9e66a67f7d5482e7.

A few follow-ups:

  • Please be sure to always set the OfflineDelegate. It's required to operate offline.
  • Note that the payment data is stored on the iPad and not on the reader.
  • Do you have examples of any successful Payment Intents that were forwarded either from this device or another?
  • Is it possible that the host application was cleared or its application data was deleted after it stored the offline payments?

checked that its possible app was reinstalled before synced.