#nickdnk-no-3DS
1 messages · Page 1 of 1 (latest)
(For direct charges, the returned response includes any even if the card does not support it)
Maybe I am sending wrong parameters?
Good question. Not immediately sure why that may be. Looking in to it
Cool, thanks. We'd very much like all payments to go through 3ds if possible
Hey sorry for the delay, still looking in to this. That param is not persisting for me either. Looking in to why
Raising and issue about this internally. As a workaround, you can update the PaymentIntent after creation to set it though you do have to be using default_incomplete
okay, that’s not going to work unfortunately. I could do it for subscription creation and not on update
With that workaround
But let me know what you find out
I mean from the issue being raised
looking at this
Cool
hmm the setting comes back as any for me when i send it, for my own or a connected account, with or without default_incomplete
you can reproduce the result you shared here, or was it an anomoly?
I believe it happened in all cases
I can look for more requests
But none of our subscription creations went through 3ds
hold on
req_N3vOG0gvppXQTq
This one is good: req_O65cX8BtTOe9ub but no 3ds was used
Also good, but no 3ds: req_riaCL9dLqZoDDw
Also good, no 3ds: req_NzpiPrecXqeiTr
well yes, my concern is only the request setting being persisted, not whether or not 3DS actually happened
remember this is a request, its not a guarantee
Okay, let me see if req_NzpiPrecXqeiTr is the only one
I know
But none of them going through when all the cards support it and the amount is significant (100 usd) is pretty weird still
You can try the default_incomplete approach and confirm client side to see if you get a different result from the issuer
That's not going to work, I need the pending updates
It seems req_N3vOG0gvppXQTq is the only request where there is mismatch between any and automatic
But Pompey said he could replicate it
So not sure what's going on
We do confirm client side by the way
Or, we use "automatic" confirmation
so completing 3ds completes the payment, I mean
Not sure if that's what you mean
And I know it works because the test cards (and my own live card when we did a final live-test) did go through 3ds
the example you sent did not, it was confirmed synchronously in the subscription creation right?
Yeah but only because 3ds was not triggered
otherwise it would have gone to the client for confirmation
That's how it's set up
Isn't that what automatic confirmation is meant to do?
We do use manual sometimes, but not for this particular subscription flow
you dont need to do manual, payment_behavior=default_incomplete is still automatic, but it defaults to providing you the PI to confirm client side
to make exactly this flow easier
you dont have to conditionally handle 3ds on the client, you just always do confirmCardPayment on the client
But I can't do default_incomplete, as I need pending_if_incomplete
I already do default_incomplete when creating subs
or, I don't provide the parameter which I assume defaults to this.
And then I let the client do the rest
Isn't that what you would want?
So not sure what this is in response to as I don't believe we do that, no. We do create sub and send the PI to the client, client handles 3ds if required, but it's not
Which example is this?
req_N3vOG0gvppXQTq
this didnt confirm in the client - its not using default_incomplete, which sounds like you've considered and doesnt work for you so sure, its fine to handle confirmation only when needed for 3ds
and i dont think that should affect things here
that this is not reproducible by either of us now is odd
Why is it not using default_incomplete? I am not passing any parameter that would indicate otherwise?
This went through the exact same flow as all the other payments I would assume
Honestly I’m a little confused now, because looking at the code it seems we only handle the payment intent on the client if it has requires_action. But it works, and I tested this extensively.
from what you shared yea that sounds like what you're doing, which is fine
it just means handling the logic for this
Okay so with automatic we don’t need the client to confirm if no 3DS is required? Because that’s what we do now
Client does nothing
With default_incomplete on sub creation
I think I’m confused because of the way we’re doing it, which is good but not entirely how Stripe intended it, which is also the reason for my PR on the iOS SDK. If passing a payment intent to the client and its state is succeeded, then the client really doesn’t do anything
And we just skipped this step
if you use default incomplete you need to confirm the PI after the sub is created, it splits the process into two steps, the PI itself is still automatic confirmation though (you have to confirm once, not twice)
thats fine, i think we can leave it aside, i dont think its a factor here
Okay, I was just confused by this
yea, what youre doing was the only way to do it before default incomplete was added earlier this year
But I am using default_incomplete if not providing any other option? Isn’t that why it’s called default ?
I only use pending_if_incomplete for updates
Just to be explicit:
Create subs with no parameters for payment, just price and such, automatic confirmation… then I don’t do anything else unless the PI is in requires_action
I’m on my phone right now so syntax is a bit hard
no, perhaps thats the confusion here. default_incomplete is an opt-in flow, not default behavior overall
Autocorrect is not my friend here
Aha. Okay.
So the default is which of them?
I think the bottom line here is that I am not doing anything wrong from a 3DS perspective
And that it should work but just doesn’t get triggered for some reason that’s beyond my control
Ahh allow_incomplete is the default
I’m sorry I was really thrown by the one called default not being default
Can you explain the exact difference between these two states or perhaps link me something about it? The normal docs are not exactly clear about the difference
The default is no special handing, all the specific flows are opt-in (equivalent to allow incomplete): https://stripe.com/docs/api/subscriptions/create#create_subscription-payment_behavior
i'd agree, nothing wrong with what youre doing that i have heard
it tried to pay the first invoice, and then leaves you to resolve it if not possible, and the sub is incomplete