#nerder-sub-3ds
1 messages · Page 1 of 1 (latest)
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
this one for instance
in the next 30 days approx the 25% of our subs end up like this
sub_1KtDEnKdfJxmrRn3st3Ul3hT
How are you integrating after you create the subscription? Do you handle the pending_setup_intent?
I need to get back to you, let me review the integration one sec 🙂
I can see the 3DS failed for the initial invoice Setup Intent confirmation, yep!
Our ideal use-case will be to NOT have a subscription created without payment method even if the initial invoice is of 0 $ (so i guess that for Stripe is fine)
Yep, and that's not really the default workflow for how you're currently integrating
You likely want to change the payment_behavior parameter on creation, so that it errors if the initial PI/SI confirmation fails: https://stripe.com/docs/api/subscriptions/create#create_subscription-payment_behavior
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
in our integration we hardcode payment_behavior: 'default_incomplete',
even for subscriptions with initial free trial
That's the wrong value for the behaviour you want. You likely want error_if_incomplete:
Use error_if_incomplete if you want Stripe to return an HTTP 402 status code if a subscription’s first invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not create a subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the changelog to learn more.
Amazing
But why this works perperly instead for subscriptions without the free trial?
I'm not sure I understand the Q
Consider that we are handling both subs with free trial and without
the integration usally for sub without an initial free trial work like that:
- we create a sub incomplete
- we get back to the frontend with the payment intent (client secret)
meanwhile the user completes the payment with 3D secure, and we are good to go, the sub move from incomplete to active
So I guess it makes sense that for free trial we change the payment behaviour from default_incomplete to error_if_incomplete since the incomplete subscription will be automatically set to trialing without the payment method
since the incomplete subscription will be automatically set to trialing without the payment method
You should test that hypothesis
My guess is it'll error if the Setup Intent confirmation/auth fails
yes, actually you right
it fails, but the sub is created anyway
ill try leaving default_incomplete for the scenario of the normal sub without initial free trial and use error_if_incomplete for the free trial one and see what happens
thank you so much for you help @charred grotto
Np!