#KRS
1 messages · Page 1 of 1 (latest)
Hi there, I see the automatic_advance is set to false in this invoice, let me take a look
When you update the invoice, or finalize the invoice, you can set automatic_advance to true https://stripe.com/docs/api/invoices/finalize#finalize_invoice
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
what is the default value, because we are not providing this value
hmmm, to clarify, is it just this invoice? or you have other invoices with the same issue?
looks like there are other invoices too.
@faint yew @fluid geode still looking in to the issue?
@uneven dragon Thanks for waiting. the subscription changed to unpaid in this event evt_1M2gzpI5vSu94Gk8Yshy9MJo because your setting is If all retries for a payment fail, mark the subscription as unpaid
For unpaid subscription, the latest invoice remains open but payments aren’t attempted, that's why the automatic_advance is off.
You can refer to this guide (https://stripe.com/docs/billing/subscriptions/overview#unpaid-subscriptions) to handle unpaid subscriptions.
We wanted to have this behaviour - every month when the invoice is created, it will attempt to pay automatically with retry. In case of failures, invoice and payment is in failed state and subscription in unpaid state. for the next month, when the new invoice is created, we will add the older invoice amount to the new invoice created and void the older invoice. And after the modification the newer invoice is finalized. We would like stripe to attempt the payment after the finalize.
in the link share above, it states that Finalize, then pay the draft invoices. Pay the most recent invoice before its due date to update the status of the subscription to active.
does this mean, i need to try invoice pay explicity?
It also states this - If you leave the unpaid subscription in place, the most recent unpaid invoice remains open, new invoices are generated, and payments on new invoices are attempted.
so this means, that payment will be attempted in the unpaid state
It's up to you. You can collect a new payment method from customer and call the pay API (https://stripe.com/docs/api/invoices/pay#pay_invoice), or navigate your customer to the hosted invoice page to complete the payment
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 case of payment failures for insufficient balance for the previous month, then next month invoice pay will work. so we dont want to navigate customer to separate invoice page to update payment method. My question is, if i provide auto_adance as True as part of the finalize_invoice API, then stripe will attempt payment automatically or i have to trigger pay explicity?
since there is no payment method updated, i would like to be sure whether stripe will attempt payment in this case or not.
Thanks for waiting. I'd need to test this flow out to verify. But discord is busy atm, can you test it out by yourself?
the problem is, it works fine when i try it with test clocks, all the overdue invoices are attempted payment. and after that only we implemented finalize, but in production the behavior is different. so i am confused, thats why trying to get confirmation
Can you share with me a subscription that behave differently?
i have tested it while implementing, i will try to create the scenario and share it with you in some time.
i think i made a mistake while testing, i did not wait for the subscription to chnage from past_due to unpaid status while testing with test clocks. So now, i am able to reproduce the same scenario as like the previous subscription. Also i tested with auto_advance as True while finalizing it, and then stripe attempts payment after that. So I will not call explicity pay and allow stripe to initiate collection.
Thanks.
I have one other question regarding the payment retries.
is it recommended to use smart retries for payment failures?
it's really up to you. Stripe implemented smart retries help to increase the chance of successfully paying an invoice.
i wanted to try this behavior in our test account QA, but i am not able to enable it.
any specific steps required?
Hi @uneven dragon Smart Retries is a feature available in Billing Scale. You need to upgrade to it https://dashboard.stripe.com/settings/billing/plans
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
can i upgrade it for test account without any cost implication?
You can't upgrade just for test mode. You can reach out to sales to discuss pricing options https://stripe.com/contact/sales