#vova_docs

1 messages ¡ Page 1 of 1 (latest)

runic shaleBOT
#

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

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

vast jayBOT
#

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.

runic shaleBOT
urban shell
#

Hi, let me help you with this.

#

Where did you see the "authentication_required" error?

snow venture
#

When I create a PaymentIntent with the following parameters and as payment_method use card with 3DS security (4000000000003220)

    'off_session' => true,
    'confirm' => true,
urban shell
snow venture
#

req_dwYT8B82gpDIk0

urban shell
#

The error code is different here: payment_intent_unexpected_state

#

How are you confirming this payment exactly?

snow venture
#

Oh, sorry. It was a confirmation request without payment_method.

here's a request with authentication_required req_fVVm5i82h3mGAX

urban shell
#

Is it a test card that requires authentication?

snow venture
#

Yes, card numbers is 4000000000003220

urban shell
#

If the card is set up correctly for future payments, this won't likely happen in reality. In this case you would usually ask your customer for a different card.

snow venture
#

But I need to create a flow for all cases, even if bank requires authorization. How can I setup confirmation flow properly?

urban shell
#

As I mentioned, for off-session payments, normally you want to set up a PaymentMethod for future payments - usually with a SetupIntent. When you do that, authentication will never be required and you will be just able to charge it without handling 3DS. In exceptional cases when this happens, it's easier to ask the customer for a different card (because the problem is usually with their own bank), than building and maintaining a way to handle 3DS.

snow venture
#

Okey, thank you for your help!

urban shell
#

Happy to help.

snow venture
#

Will it work also for PaymentIntent?

obtuse trellis
#

PaymentIntents are used in Subscriptions, https://docs.stripe.com/billing/subscriptions/overview. Did you mean to ask if the above settings shared in the screenshot works for non-Billing payments? If so, no it does not and there are not other settings like that for non-Billing pyaments. You would handle that on your end by inspecting the PaymentIntent status and when 'authentication_required' is required, you'd trigger an email yourself.

snow venture
#

I cannot use subscription due to complicated logic of app (custom schedulling for school), so I plan to charge clients manually using PaymentIntent for every lesson.

#

Your collegue said that it's hard to maintain 3DS. But why is it so? I tried to fill payment_method on the client side with user payment method and it opens modal with confirmation just like it did when I used SetupIntend