#stavros-malakoudis_api

1 messages ¡ Page 1 of 1 (latest)

fathom gardenBOT
#

👋 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/1450448026098339912

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

lunar thorn
#

Hey, I tried to answer to the previous thread but it is locked. So basically I was trying to understand the difference between the off_session flag and the payment_method_options->card->setup_future_usage flag on the payment intent. Previously we relied on the react component and the setup_future_usage flag, but now its removed. We need the user to verify their card the moment the payment method is created, in order to use the same payment method in the future

#
  • without requiring the user to re-verify the card
weary wagon
#

Previously we relied on the react component and the setup_future_usage flag, but now its removed
What's removed? Can you share a link to what exactly you're referencing?

So basically I was trying to understand the difference between the off_session flag and the payment_method_options->card->setup_future_usage flag on the payment intent
setup_future_usage is the parameter to use when you want to save the card to be used again. off_session is the parameter you use to denote that the customer is not present in your checkout flow. They're somewhat related and are mutually exclusive

#

We need the user to verify their card the moment the payment method is created, in order to use the same payment method in the future
Sounds like you're describing setup_future_usage then

lunar thorn
weary wagon
lunar thorn
#

What we used to do is always set the off_session flag on the confirmation token and this was enough to satisfy the 3ds rules

      elements,
      setup_future_usage: "off_session",...
weary wagon
#

Well that wouldn't 'satisfy 3DS', in fact using s_f_u would likely trigger a 3DS challenge flow

lunar thorn
#

by 'satisfy' I mean we to trigger the 3ds authentication component

#

Okay so since the s_f_u is removed, how can we achieve the same thing?

weary wagon
#

Why are you using createConfirmationToken? Is there an initial payment here or is this to save cards for future usage only?

lunar thorn
#

We are saving cards for future usage only

#

We don't support one-time payments without saving the card to the system

weary wagon
#

Confirmation Tokens don't hit the card networks, they're just tokenising data from the Element. So they won't trigger a 3DS flow until they're used in an actual payment

#

Setup Intents do hit the card networks, so the bank is able to request 3DS/authentication

lunar thorn
#

We are using a SetupIntent after creatingthe confirmation token from the js component

weary wagon
#

The Confirmation Token step is redundant, IMO. I don't understand why you need that

#

What issues are you having overall with Setup Intents? Is there an example one that doesn't trigger 3DS?

lunar thorn
#

The issue is that we are not really sure how to handle the removal of the setup_future_usage field from the createConfirmationToken js function. Using this token, 3DS was being triggered as we want it to.

weary wagon
#

As I said, the Confirmation Token is redundant here. Why do you need it? Are you sending it to the backend for any reason?

#

Share a seti_xxx ID please

lunar thorn
#

Are you sending it to the backend for any reason?
yes, to create the SetupIntent

weary wagon
#

In any case, please share a seti_xxx ID that didn't trigger 3DS

lunar thorn
#

seti_1SdWxCHxNT300n1JuJjV06WA

#

Oh, you mean one that **didn't ** trigger it

weary wagon
#

Yes, a one that is problematic and you want to solve

lunar thorn
#

Right. I 'll get back