#vijay-confirmation-3ds
1 messages · Page 1 of 1 (latest)
Starting with your first question - are you asking how to do this when the card is FIRST collected, or are you asking how to do this for future off session payments afer the card has already been collected and set up?
after the card has been collected and setup
Gotcha
So that would be up to you to implement - you need to prompt your user (like in an email) to come back to your site and complete the authorization process
I can notify user or rather user would be in the application only when he is doing this. Since the payment method was set to off session how do i get him back to screen to enter it
- User entered the 3ds enabled card
- 3ds pop up came
- He completed successfully and i stored the payment method / completed the setup
- Now he comes back and chose the same card using some nick name he provided as i have saved his card already i am issuing a PI
what would be my next step ?
If you're doing this while the user is on-session that you can confirm the PI client-side (which if you're using our libraries should automatically do 3ds if it's required)
stripe.paymentIntents.create({
payment_method: req.body.paymentInfoRequest.paymentIntent,
amount: AH,
currency: 'USD',
confirm: true,
capture_method: 'manual',
off_session: true,
customer: req.body.paymentInfoRequest.customerid, //"cus_NZnUZ6dgqs38Cn",
payment_method_types: [req.body.paymentInfoRequest.PaymentType],
transfer_data: {
destination: req.body.fboAccountID,
}
})
i would be using this logic if u see here - the payment_method is the pm_*** that i stored when i first setup his card details so his 3ds was already verified and added, but now he is placing order using this stored in my platform
my call would have come to backend already when he is placing an order using the payment method he chose how do i get him back on session because the card he uses is always authenticate
are you there ?
yup, sorry i'm talking to multiple foks at once
So based on your code you're confirming server-side
If there were additional actions, then client-side you'd call stripe.handleNextAction (if you were doing this on the web)
we talk about this a bit here https://stripe.com/docs/payments/finalize-payments-on-the-server?platform=web&type=payment#next-actions
message: 'This PaymentIntent requires an on-session action. Please get your customer back on session and re-confirm the PaymentIntent with a payment method when the customer is on session.',
this is the error i get when i use the 3ds approved payment method
Yeah that's a totally normal thing that can happen when you confirm server-side. Even if you setup the payment method with a setup intent and do authentication upfront, the bank/card issuer can still choose to reject the exemption we request and ask for authentication again anyways
This is something you have to be resilient towards (which is why we have things like stripe.handleNextAction so you can handle cases like this)
vijay-confirmation-3ds
does the call even return when this error comes ?
@wet mason try all of this in Test mode, you're already doing some of it so you can see exa tly what happens
i am doing in test mode only
You're asking "what happens when I do X", I'm saying "do X in Test mode right now and see"
ok sir
Let me know if you have a follow up question after that
yes now i have placed a hold some how as u guys have explained above, now when i try to confirm the payment will it ask for authentication again ?
i have already linked to connect account that so my end customer is going to close the transaction
I'm sorry, I dn't really understand the words you're using and how you are framing the question. If you have a PaymentIntent that was confirmed and is in status: 'requires_capture' then the next step is to capture it: https://stripe.com/docs/api/payment_intents/capture
during thie capture status does it ask for 3ds authentication again ?
- Added a 3ds card to my application
- Stored Payment Method
- Customer placed an order using that method
- Card declined and i monitor the handleNextAction
- Customer completed this and placed order for $100
- We dont charge immediately, we put a hold on $100 and link to a connected account / destination as connected account
- When the connected account user logs in our application and close the transaction, we capture the $100
In step #7 will it again ask for any authentication ?
no, capture does not require 3DS or anything like this. At that point the payment is already authorized and ready to be captured in the next 7 days
thanks, i will revert if have any addtn question - appreciate it.. you guys are awesome !