#flo_code

1 messages ยท Page 1 of 1 (latest)

formal adderBOT
#

๐Ÿ‘‹ Welcome to your new thread!

โฒ๏ธ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.

โฑ๏ธ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.

๐Ÿ”— This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1240681175677403156

๐Ÿ“ Have more to share? Add more details, code, screenshots, videos, etc. below.

graceful furnace
#

What guide are you following?

#

That should require no additional configuration to display 3ds if it's required

sinful flume
graceful furnace
#

Hm ok the deferred flow should handle 3ds automatically as well

#

Are you sure you're using a 3ds test card?

#

How are you attempting to test 3ds?

sinful flume
#

I am using this card : 4000002500003155

graceful furnace
#

Can you share your client-side code

#

The snippet you shared isn't enough for me to tell what's going on

sinful flume
#

ok hang on ๐Ÿ™‚

#

in my activity :
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

    stripe = Stripe(this, "pk_test_AcG86wVKqIJFMmKEf3aGnsqs00LWuYd466") //TODO

    viewModel.initVm()
    paymentSheet = PaymentSheet(
        activity = this,
        createIntentCallback = { paymentMethod, _ ->
            val paymentIntent = viewModel.createPaymentIntent(
                paymentMethodId = paymentMethod.id.orEmpty(),
                startConfirmationFlow = ::startStripeConfirmationFlow
            )
            if (paymentIntent != null) {
                CreateIntentResult.Success(paymentIntent.intentClientSecret.orEmpty())
            } else {
                CreateIntentResult.Failure(Exception())
            }
        },
        paymentResultCallback = ::onPaymentSheetResult,
    )
graceful furnace
#

Also what happens when you attempt to pay with that card? Does it just succeed? Or is some error thrown?

sinful flume
graceful furnace
#

What do you mean by that

#

Can you share a screenshot?

sinful flume
#

The button is loading but nothing happens

graceful furnace
#

Can you add some error handling and logging

#

Like add a try catch

sinful flume
#

I think I found the issue in my code

#

a blocking coroutine that was blocking the payment processing ...

graceful furnace
#

Ah

#

Gotcha

sinful flume
#

thanks for your help ๐Ÿ™