#karenzilla

1 messages · Page 1 of 1 (latest)

unkempt mirage
#

Hi there, can you share with me the PaymentIntent iD?

gleaming cipher
#

thanks for responding, generating one, please stand by

gleaming cipher
#

@unkempt mirage can you please check this ?
payment intent id : pi_3Lk1QnLPEQjn9EpD09Sg4dQb

unkempt mirage
#

Sure let me take a look

gleaming cipher
#

thanks

unkempt mirage
#

This paymentIntent status is till requires_action, not completed. So you need to call the handleAction API to start the 3DS flow

gleaming cipher
#

right, the problem is the value of GooglePayLauncher.Result.Completed is set to true in the callback result

#

even though the transaction has failed

craggy dirge
#

AFAIK, that is expected as that API is specific to the Google Pay modal (meaning the modal was successfully completed)

#

It doesn't mean the payment was completed/successful

#

As @unkempt mirage stated, you'll need to check the status of the returned Payment Intent and handle 3DS/auth flows when required

gleaming cipher
#

ah yes, that makes sense
and I do think this is a bug since the modal is closed without me providing the OTP exactly when i rotate my screen, this is turn rotates the 3DS activity ( the webview ), this is SDK version 20.12.0, tested with visa, mastercard

craggy dirge
#

Can you share a video of the issue? Struggling to understand

gleaming cipher
#

yeah sending the video

#

when I rotate the scree on the authorisation page, the launcher closed automatically without me authorising it

#

this is the response I get

craggy dirge
#

Is pi_3Lk1QnLPEQjn9EpD09Sg4dQb the one from that video?

gleaming cipher
#

no, but it had the exact behaviour

craggy dirge
#

Can you share the pi_xxx from that video?

gleaming cipher
#

sure, checking

#

ah sorry, I don't have access to the dashboard at the moment, but the behaviour was exactly the same pi_3Lk1QnLPEQjn9EpD09Sg4dQb

#

I can send another video/payment id pair if needed

craggy dirge
#

Yeah, seems the 3DS/auth redirect just timed out which is why it just 'closed' like shown in your video

#

You need to handle that correct in your integration (i.e. don't show success when it didn't actually succeed)

gleaming cipher
#

the doc does indicate that truthy
GooglePayLauncher.Result.Completed
means the payment was successful

#

we're relying on these three values to carry out our business logic

craggy dirge
#

I mean that doc is purely for integrating Google Pay and doesn't even begin to cover other payment logic (such as 3DS requirements that you're seeing). In that context the Google Pay Launcher was successful:

  • It launched.
  • It displayed available PMs to the customer.
  • They selected one.
  • It closed.

That is a successful (completed) Google Pay Launcher. You should not rely on those callbacks to determine if the payment was successful.

gleaming cipher
#

Okay, yeah that makes sense.
We'll do our additional checks on the pi.
Thanks very much. That was really helpful .

craggy dirge
#

np! Let us know if we can help with anything else