#ere_api
1 messages ¡ Page 1 of 1 (latest)
đ Welcome to your new thread!
â˛ď¸ We'll be here soon! We typically respond in a few minutes, but in some cases we might need a bit more time (e.g., server's busy, you've got a complex question, etc.).
âąď¸ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can 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/1249668511672963083
đ Have more to share? Add details, code, screenshots, videos, etc. below.
incomplete_expired seems to be a terminal state, I suppose there is no way to change back to active from that status?
hi! no it's not possible to extend it past 23 hours
it shouldn't really expire in most cases, the normal integration is create subscription -> pay the first invoice on the payment page, all that happens synchronously while the customer is signing up and present on your site
We actually currently create the subscriptions asynchronously after our acceptance process, is there any way to prevent the subscriptions from expiring?
can you expand on what your current flow is?
like, when do you collect the customer's card details and when do you charge them, and how does that relate to when you create the Subscription?
The normal flow in Stripe is
- create Subscription with payment_behavior=default_incomplete
- on the frontend, render Elements form
- confirm the subscription->latest_invoice->payment_intent on that frontend form with the customer's payment details
- that pays the first invoice and activates the subscription
The customer makes an order inputting their payment card, we either have a small joining fee or a zero payment at that stage. Then we have the customer and their default payment card in Stripe. Some days later the order is reviewed and an admin clicks a button to accept, which then calls the subscription creation API. The card they input should then be charged, but we are getting a lot of failures due to "insufficient_funds", which leads to the incomplete_expired status. Can insufficient_funds also be because of some other reason or is it exactly what it says? Is there a possibility that it's requiring some confirmation which the customer is unable to give at that stage? When using payment mode we set 'setup_future_usage' => 'off_session', but we also use setup mode in the zero joining fee cases.
can you maybe change the flow so you collect the payment at the time the user signs up? that flow you describe seems really error-prone and as you say, you're just going to get a bunch of declines trying to charge the saved card...
it's also usually important from an SCA/3D Secure perspective that you charge the initial amount of a recurring subscription on-session.
But ultimately if you're doing it the way you describe, most of our Subscription documentation and flows don't apply to you. Instead you want to be passing off_session=true to the Subscription create call, and payment_behavior=error_if_incomplete , and then building a recovery flow(and I think the recovery flow should be, emailing the customer to come back to your site and then doing the normal integration described above/in https://stripe.com/docs/billing/subscriptions/build-subscriptions?ui=elements ) to create their subscription).