#_obo_
1 messages · Page 1 of 1 (latest)
Hello there
So in this case you would want to set payment_method_options[card][mandate_options][amount_type] to maximum
Then the payment can still go through but 3DS will need to be completed
okay, so in this case, if we set that to maximum and set that payment method as the default invoicing method, stripe "should" automatically take care of the 3DS stuff for us?
In other words, do we need to actively be monitoring webhook events / checking mandates, etc
or is simply saving a payment method for off-session payments good enough
You could enable the Customer emails for Manage payments that require confirmation in your Dashboard here: https://dashboard.stripe.com/settings/billing/automatic
Then, if the customer does need to complete 3DS they should receive one of these emails.
Well the payment is going to fail initially and they should receive the email which will prompt them to pay for the Invoice using our online Hosted Invoice Page which will handle 3DS. If the customer never does that then the Subscription will go through your retry settings and then do whatever you have set to happen if "all retries fail".
got it
I was noticing that we had some attempts that ended up in the "expired" status for the invoice
Hmm expired isn't a status for Invoices
for the subscription I meant
Do you mean incomplete_expired?
Yep looking
Ah okay yeah so expired in the Dashboard corresponds with incomplete_expired in the API
This is relevant for the initail Invoice of a Subscription which must be paid within 24 hours
okay, got it
one last semi-related question for you. I was reading on "draft" invoices, and have a customer in this state (production): https://dashboard.stripe.com/customers/cus_NE4jaEvM9ZthHl
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
is there an account level setting that I can apply that keeps auto retrying invoices each month instead of putting them into a draft state?
or is that only possible by monitoring these drafts via webhooks and automatically advancing them
Yeah no for "Unpaid" Subscriptions they will always generate draft Invoices that will have auto advance turned off: https://stripe.com/docs/billing/subscriptions/overview#unpaid-subscriptions
So you are correct that you would want to monitor with Webhooks if you want to finalize these programmatically
hmm okay, is there any way to do this via the API in a one "swoop" type of fassion? we have churnbuster enabled now so we're now auto cancelling accounts that end up in this state because the initial failed payment is caught by churnbuster
however these old accounts in this state, got grandfathered in to this weird state
in other words: they started getting into this draft state before churnbuster was turned on, so churnbuster never sees a "failed payment" from that account so therefore never starts the recovery attempt / account cancellation process
You would basically need to listen for invoice.created and you could check the status for draft and the auto_advance property. If auto_advance is off then you will know that you need to call https://stripe.com/docs/api/invoices/finalize to finalize the Invoice (or you could call https://stripe.com/docs/api/invoices/pay if you want to both finalize and attempt payment).
Happy to help
actually @sweet brook one last question, rather than the subscription expiration state we talked about earlier, is it possible to put the customer into a failed payment state?
the issue I'm seeing with the expired state, is we get the webhook, and then would immediately want to act on it
Once a Subscription has expired it can't be mutated.
typically we give our customers 30 days to fix their payment setup. And I would hate for somebody to upgrade their account, then have a payment 3ds failure, and get downgraded to free within 24 hours
is it posisble to move the subscription into a failed state instead of an expired state?
This shouldn't be relevant for updates.
incomplete_expired is only for new Subscriptions
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
the one I shared earlier
we sucessfully subscribed to a plan that was $100
then because the $500 one is above the 15000 indian limit, that payment needed further 3ds
but then that 3ds failed, and now the customer is essentially left with no subscription
Looking
That Customer has 4 subscriptions
Which one are you talking about specifically?
Can you give me the Subscription ID?
yes of course
this was the original subscription that succeeded: https://dashboard.stripe.com/test/subscriptions/sub_1NifP8AnNL7nO1d0xOOfLE0C
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 is the expired one: https://dashboard.stripe.com/test/subscriptions/sub_1NifbXAnNL7nO1d0ncHIy8vt
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
Hmm I'm a bit confused
When you "update" are you actually just canceling the Subscription and creating a new one?
yes
Okay yeah that's going to be your issue then
Instead you should be upgrading/downgrading: https://stripe.com/docs/billing/subscriptions/upgrade-downgrade#changing
Not deleting and recreating