#Matt11-Sub-Status
1 messages ยท Page 1 of 1 (latest)
Hi there! Have you taken a look at https://stripe.com/docs/billing/subscriptions/overview#payment-status?
Hi! unfortunately yes ๐ but it is really complicated and there's no a way to understand where an error push your subscription status.
Okay, happy to help! Can you ask specifically what is confusing you or what the situation is?
for example, if I have an active subscription and during the renew the card has insufficient funds, in which state it will be? unpaid? past_due? is not so clear
"Unpaid" isn't an option for subscription status.
The options are here: https://stripe.com/docs/billing/subscriptions/overview#subscription-statuses
If a payment fails, then the subscription status will depend on your settings for how you want to handle failed payments.
It will move to past_due if you are allowing for retries
why do you say that ""Unpaid" isn't an option for subscription status."? tha docs are saying this:
and unpaid is present
and how can I manage the failed payments?
Let's back up a moment
Have you configured your Subscription settings in your Dashboard here: https://dashboard.stripe.com/settings/billing/automatic?
for the failed payments?
Yep. That will determine the status of the Subscription when payments fail
sorry but this is not my stripe account so I didn't configured
it says: use smart retries max 4 times within a week
subscription status if every retry fails: cancel
Perfect so that lets you know what will happen
and keep the invoice as is
even if the customer fails the 3ds or close the windows before complete the procedure?
and can I understand better the "unpaid" status? when it will occur?
What collection_method are you using with your Subscriptions?
When you create your subscriptions you will dictate it: https://stripe.com/docs/api/subscriptions/create#create_subscription-collection_method
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Basically, are you sending an invoice to your customer for payment or are you collecting their details and then charging them automatically?
I don't pass any option so charge_automatically
Got it.
So most of the time 3DS should only be required for the initial payment.
But it is still possible for issuers to require it later so it is good to have a method to bring your customers back on-session if needed
That said, if they are trying to complete 3DS and fail or an automatic payment fails for insufficient funds, this will count as a retry
Once all of your retries are used up, according to your settings that we discussed above, the Subscription will transition status to canceled
With canceled the subscription will not continue to generate invoices
However, if you change that setting to set the subscription to unpaid, then the subscription will continue to generate invoices, however for those invoices payment won't be attempted automatically. You would force payment on them if you so desired.
ok, so with this setting I will never end in unpaid state
and incomplete is similar to unpaid but only for first time payment after subscription creation, isn't it?
Correct!
so it is possible to pass from incomplete to past_due
or only from incomplete to canceled or incomplete to incomplete_expired?
Yeah you can't go incomplete --> past_due
incomplete --> active or incomplete --> incomplete_expired
nice!
my settings are one product with trial and onw without it
so I think that these are alle the possible state changes:
-
'active' -> 'active'
-
'active' -> 'past_due' -> 'past_due' -> ..N.. -> 'canceled'
-
'active' -> 'past_due' -> 'active'
-
'active' -> 'incomplete' -> 'active'
-
'active' -> 'incomplete' -> 'incomplete_expired'
-
'active' -> 'canceled'
-
'trialing' -> 'canceled'
-
'trialing' -> 'past_due' -> 'past_due' -> ..N.. -> 'canceled'
-
'trialing' -> 'active'
do you think that there're others?