Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] secure checkout screen opened for card that shouldn't support 3ds #7937

Closed
TomerBitan24 opened this issue Feb 15, 2024 · 6 comments
Closed
Labels

Comments

@TomerBitan24
Copy link

Summary

Hi, when i add a new credit card, the sdk open and close the secure flow (secure checkout screen)
this is the intended behavior? or it shouldn't open it?
in the ios sdk they have different behavior, it's not open and close this screen

you can see the flow in the attached video:
https://github.com/stripe/stripe-android/assets/84137123/e43a99c6-725c-4e02-8317-c04a56689713

@seanzhang-stripe
Copy link

Hi @TomerBitan24 can you share with me the PaymentIntent ID so that I can check whether this PaymentIntent was in requires_action status? Also are you using the latest version of Stripe Android SDK?

@TomerBitan24
Copy link
Author

TomerBitan24 commented Feb 18, 2024

Hi, i'm using stripe-android:20.35.2
but it also reproduce on the latest version

this is the SetupIntent ID seti_1OlGzzGE03DL3EHwjstujSU4
it reproduce all the time when i try to use the 4242... test card.

@seanzhang-stripe
Copy link

Thanks for the SetupIntent ID. Based on the request, you have set payment_method_options[card][request_three_d_secure] to any, and that will force a 3DS request. If this is not something that you want, you should remove this param in your request.

I'm closing this ticket now. Feel free to re-open it if you have any follow-up questions.

@TomerBitan24
Copy link
Author

Hi @seanzhang-stripe ,
I don't see option to change it from the client side, true?
so, it should be change from server side?
and to change it to "request_three_d_secure": "automatic" ?

this is the client code, and i don't see the payment method option there

        val card = PaymentMethodCreateParams.Card.Builder()
            .setNumber(creditCard?.cardNumber?.creditCardNumber)
            .setExpiryMonth(creditCard?.cardExpiryDate?.month?.toInt())
            .setExpiryYear(creditCard?.cardExpiryDate?.year?.toInt())
            .setCvc(creditCard?.cardSecurityCode?.toString())
            .build()

        val createParams = PaymentMethodCreateParams.create(card = card)

        return ConfirmSetupIntentParams.create(
            paymentMethodCreateParams = createParams,
            clientSecret = clientSecret
        )

@seanzhang-stripe
Copy link

Yes you are right. You can only set payment_method_options[card][request_three_d_secure] from backend. To allow Stripe SCA Engine automatically prompts your customers for authentication, you can either remove this param from request, or set it to automatic.

@TomerBitan24
Copy link
Author

TomerBitan24 commented Feb 20, 2024

@seanzhang-stripe if we want to leave the request_three_d_secure with the value any, is there other option to make sure it's not open?
because in ios they have different behvior, it's not open the screen in this case(when we tried to add the same test card without 3ds - 4242 card)

you can see the attached video of ios (same flow):
https://github.com/stripe/stripe-android/assets/84137123/b7d04b4a-2384-44e8-b1fc-0a43e8a4115d

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants