#arkalezard

1 messages Ā· Page 1 of 1 (latest)

flat blazeBOT
eager pebble
#

Hello šŸ‘‹
How can I help?

fast rover
#

I'm using Stripe Payment Sheet in my Kotlin application, and I found an unexpected issue with how it works. I'm looking for ways to make the payment process smoother for my users.

Here's the situation:

  • I'm using the latest Stripe Payment Sheet SDK.
  • My app requests 3D Secure (3DS) authentication for every transaction.
  • Sometimes, the bank asks the user to complete a challenge on their bank account.

Here are the steps:

  1. The user opens the Stripe Payment Sheet.
  2. They enter their credit card details.
  3. The bank asks for a challenge.
  4. The user closes the Stripe sheet in my app
  5. Then, they go to their bank app and complete the challenge.

The problem is that even though the purchase is successful, the app doesn't show this information right away. It only updates in the background after the Stripe sheet is closed.

I want to improve this process:

  1. Is there a way to check if a previous transaction is still pending when I open the Stripe Payment Sheet? This would help avoid multiple transactions happening at the same time.
  2. Do you have any ideas on how to make the experience better for our customers? This current behavior is causing issues with customer support and sometimes results in double purchases.

Thank you for your help!

eager pebble
#

I'm a bit confused by this part

  1. The user closes the Stripe sheet in my app
  2. Then, they go to their bank app and complete the challenge.

PaymentSheet is equipped to handle 3DS redirects so there's no need to close the sheet and switch the apps

fast rover
#

My customers are not all engineers… sometimes they are lost

#

They are closing the stripe sheet that called the 3DS validation in progress

eager pebble
#

Ah I see what you mean

#

Like they're closing it prematurely

fast rover
#

Yes

#

Today 100 customers per day are doing this mistake

eager pebble
#

One thing you could do is before they click on the button that presents payment sheet, you can add a text that "please don't close this sheet until payment is complete"

#

Aside from that, you could temporarily store the PaymentIntent ID that you're confirming

fast rover
#

They are not good reader neither

eager pebble
#

and retrieve its status when the user comes back to the app

fast rover
#

And is it possible to reopen a sheet with this id?

eager pebble
#

If it's still in requires_payment_method status

#

yes

fast rover
#

Is it possible to cancel this transaction when we are closing the sheet?

eager pebble
#

You could

#

How exactly are they closing the sheet?

#

by clicking the close button or minimizing the app?

fast rover
#

It’s dismiss as any sheet in an app.

#

We didn’t customize your stuff

#

Close button ā—€ļø

#

By minimizing the app, user is keeping their sheet alive 😁

eager pebble
fast rover
#

Thanks @eager pebble it’s still a pleasure to have you here for help

#

I’ll share your first ideas to my team and comeback if we need to Go further