#zishaansunderji-terminal
1 messages ยท Page 1 of 1 (latest)
Thanks a ton!!
Can you give a bit more clarification - you say the one on the right created an uncaptured payment and gives you a failure, but from the screenshot it look slike it was successful?
Oh yeah for sure - so the reader and the Stripe logs both say the process succeeded
but when we get a response back from the reader - our app shows us a failure modal as though it's just come from the onFailure method of the Terminal.getInstance().processPayment method
So I'm guessing the reader is sending back some response - which might be pending or processing - but it hits as an exception on our end
And we deciphered it to be somewhere here
We have a react native application so this gets executed and returns back a promise - which in the case of the uncaptured interac debit payments throws an error
which unfortunately just says undefined so it's not much we can know from there
๐ Looking now - give me a few minutes
Awesome! Thank you!!
Do you mind also copy-pasting the Payment Intent ID from the screenshot on the right (whichever one is incorrectly saying it's failed when the logs say it succeeds)
Yuppp for sure!
pi_3LN10eFk5BSitd8b0CU9Z9Oi
pi_3LMxHIFk5BSitd8b01t9PV6i (this works in our app)
thanks!
ofcourse!
I can confirm that I see the error from the processPayment call for pi_3LN10eFk5BSitd8b0CU9Z9Oi - digging into it a bit more to see why it happened
That's so helpful! Thank you!!
Okay, so this particular error was a READER_COMMUNICATION_ERROR - so it's not that the payment itself definitely failed, it's that we're unable to fully finish the call to processPayment because of the communication error and it's entirely possible that the reader and stripe were still able to communicate enough to finish the payment. You'll likely want to re-retrieve the Payment Intent and check it's status to confirm whether it did actually fail or not (https://stripe.com/docs/terminal/payments/collect-payment?terminal-sdk-platform=android#handling-processing-failures)
I see! That makes sense!
So for how long do you recommend to wait before doing the check?
In this circumstance, the reader took 7 seconds before it switched to successful
Hello! I'm taking over and catching up, but generally speaking the amount of time you wait to check depends on your specific integration.
For example, if you have the Terminal reader in a location with a slow or unreliable Internet connection you would probably want to wait longer than you would otherwise.
Hey there!
Yeah we're finding internet issues tend to be quite a problem for some clients we have
Do you think a 10 second buffer is sufficient?
I know arbitrary numbers don't work very well lol
It sounds like a good place to start, then you can adjust as needed from there. ๐
Oh okay awesome ๐
Make sure it's adjustable server-side. ๐
Right for sure! I'll make sure it's a setting we can adjust from the database!