#dghislain_api
1 messages ¡ Page 1 of 1 (latest)
đ 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/1437458016315375656
đ Have more to share? Add more details, code, screenshots, videos, etc. below.
this one is having the same issue I guess : cus_TNbvJEWYEMPjt7
looks like we are making the trial end I dont understand why and how
Hi, taking a look here
So it looks like the payment method collected, evt_1SRseIHBSdnTEMdFCjhI4NhV required 3DS. You can read how SetupIntents work here, https://docs.stripe.com/payments/paymentintents/lifecycle?payment-setup-intent=setupintent. As a next step, you need to have your customer back on session to compelete 3DS.
As for trial, what are you referring to? This invoice, in_1SQtV8HBSdnTEMdF8QJKZtqX shows the total amount due. Can you say more about this please?
I feel like it has nothing to do with you the more I investigate, having this number of invoices/subs creating would mean that we are having issue in checking if user is trialing
Maybe you'll not be able to help me, like we saw it is about 3DS and it mainly occur in our frontend I guess.
Yeah that makes sense to me. For example the two subscriptions created yesterday on that customer were created from two separate API calls to the create subscription endpoint:
https://dashboard.stripe.com/acct_1FOmpmHBSdnTEMdF/logs/req_YSZvf8Dljz3foy
https://dashboard.stripe.com/acct_1FOmpmHBSdnTEMdF/logs/req_FtTKejAIODoZiT
If you think the issue may be 3DS, a helpful way to debug could be to create a subscription with your integration in test mode and use our card that always requires 3DS
https://docs.stripe.com/testing#authentication-and-setup
What would be the best way for you to check if user is actually in a trial ? Even if the 3DS didn't finish (because I feel like it is when the 3DS is not validate that we are having trouble)
Normally I'd say to check if the subscription's status is trialing but it looks like your code isn't using Stripe's trial functionality because I don't see trial_end or trial_period_days being passed when creating those subscriptions.
Can you tell me more about how you implement trials now and what you check for?
We are making user have a trial whole november until 28
And for the customer you linked, here is how we did it : req_XWPKGX4ke8epHR
At first, we added a trial_end but because of our 3DS issue we stopped this sub and created a new one, and another one, another one etc...
Can you tell me more about what you mean by "stop the sub" here? Like what conditions is your code listening for and what specifically do you do to stop the sub?
If the main goal is to make sure you have a payment method saved before starting the trial, the easier way to do this could be creating a SetupIntent up front and then wait for that intent to be fully confirmed before creating the subscription.
That way the trialing status is the only thing your code needs to pay attention to here
Interesting. So we should create the subscription on the setupIntent validation instead of creating the sub without waiting it ?
But what would happen for the user at this moment ? He hits the pay button and then we wait for him to validate the 3DS and after the sub is created ? (on webhook setup intent confirmed ?)
Yes, you could listen for the setup_intent.succeeded event. Intents will either go straight into that state without 3DS or they will go there after 3DS if the bank approves the auth after 3DS.
would you mind sending me a doc that refer to what you are saying?
I feel like it is a great idea and we didn't really follow the good practice in this part of stripe implementation.
Does this clarify it? https://docs.stripe.com/payments/paymentintents/lifecycle?payment-setup-intent=setupintent
If not can you speak a bit more to what info may be helpful here?