#olli-3ds
1 messages ยท Page 1 of 1 (latest)
๐ Happy to help
Can you share what is the use case? Do you mean that the customer has a saved payment method, and you will charge with his/her saved payment method, and then 3DS occurs?
Yes that's correct. So:
- User has saved a payment method
- My service reserves funds from user's payment method
- (n days goes by)
- My service captures the payment
- When capturing the payment, 3DS requirement appears and the payment is in state "actions_required".
Hi! I'm taking over this thread.
My understanding is that if you placed a hold on a card, then capturing the amount shouldn't trigger 3DS.
Has this happened to you? If so, can you share the PaymentIntent ID?
Hi! Yes this happened in test mode for Payment Intent pi_3LQQs0KrbltU0B940lCxeAPx.
It appeared when I tested the flow with Visa 4000 0027 6000 3184 that is described as "This card requires authentication on all transactions, regardless of how the card is set up."
Thanks! So actually when you created the PaymentIntent https://dashboard.stripe.com/test/logs/req_gv7uuK8pNLvIZ5
You can see status: "requires_action". So at that time you should have asked your user to go through the 3DS flow.
Then later, when you capture the amount, there should be no 3DS required.
Ok nice! So when my backend receives the response with status "actions_required", how can I be sure that it's the 3DS that is required? And is it possible to manually trigger the 3DS flow for the user on client side by using stripe react-native lib?
How are you collecting payment with React native? With the PaymentSheet or the Card Element?
With payment sheet
No, actually only adding new payment methods are done with payment sheet, but new payment is created manually in backend
you can either use useConfirmPayment as a hook or use the confirmPayment function from useStripe
๐ taking over for my colleague. Let me know if there's any follow-up Qs I can answer!
Hi! Ok thanks for clearing that out! I think I will manage with these advice. Thanks for the great support! ๐