#thomasst-subscriptions
1 messages ยท Page 1 of 1 (latest)
Hello! Starting up a thread for you
Can you show me an example of invoice that immediately finalized so I can take a look?
in_1LNIRMBSqAkKUXpQ05OmSVmG
invoice.created and invoice.finalized events were triggered at the same time.
So that invoice that you sent over is not one that was automatically created because of the pending_invoice_item_interval - it was created because you updated your subscription to include a paid plain and we call out in our API reference that when a subscription moves from free -> paid that triggers an immediate charge (see https://stripe.com/docs/api/subscriptions/update)
Thanks. I definitely did not expect that. Also the docs say "The subscription moves from free to paid, or paid to free". 1) Is there a way to prevent this? 2) How is "free" exactly defined? If I give somebody a 100% discount on a product, and then remove that discount, would it reset the billing day as well right away?
There isn't any way to prevent this that I know of. The specific example you give isn't the best once since that's not exactly how discounts work - I don't believe that removing the discount would immediately trigger a new billing period because the discount was already applied to a previous invoice. Is there a reason this isn't ideal behavior for you? What is your use case?
I need to keep billing period adjustments in sync with the app so it was just something I didn't expect to happen. And due to legacy billing code, we are switching from an old way of using subscriptions ($0 recurring dummy product + adding invoice items as invoices finalize) to the way subscriptions are actually intended to be used (actual products & prices on subscriptions).
So I just need to understand how it works, but I think I have enough information to figure it out from here, thanks.
I'll repost my other question here then: Stripe's customer API provides invoice_settings (I need custom fields and footer), but is there a way to edit it on the dashboard? Similarly, Stripe's subscription edit page lets you edit the invoice footer and fields in the dashboard, but I don't see that in the subscription API (only on the invoices API, but that's not the same), how would I do this? I am trying to find a consistent way to let Stripe dashboard users edit invoice settings and then sync them back via API to my app, and there doesn't seem to be one.1
Let me look into that a bit more - give me a few minutes
This seems to be a weird gap in our dashboard functionality where there's no way to set the customer-level invoice_settings but we do expose dashboard-only subscription invoice_settings.
Right, so neither of those is accessible via both API and dashboard?
Correct ๐ฆ
But is there a reason you're using this blended dashboard/API approach?
I mean, how would I migrate the existing invoice settings we have in our database into the Stripe dashboard so that it can be edited in the dashboard?
Sorry let me rephrase - is your intention here to do a one-time migration through the API, but moving forward subscriptions will only be modified through the dashboard?
Also we have multiple subscriptions per customer (and they use the same invoice settings), so we'd want them to be editable on the customer level.
Otherwise, yeah, for a one time migration I could just use the Bearer token from the dashboard session.
But also I don't want to store data in Stripe that I can't get out anymore.
Kind of like with being able to add multiple To/CC addresses per customer.
Can you add a feature request to 1) Expose customer-wide invoice extras in the dashboard, and 2) Expose subscription-specific invoice extras in the API?
You shouldn't use the bearer token from the dashboard session
What I'm trying to get at here is that if these customer-level invoice_settings are a key part of your integration now, then your best path forward right now is to add a way to update these through the API and not rely on the dashboard. Most integrations are not doing the kind of blended approach, so they're EITHER relying on the dashboard functionality or the API - not both.
I can definitely put in the feature request, but since it's not on the roadmap right now, there's no way to know when they'll actually implement it
Unfortunately we don't want to/can't use something that's not exposed in the API, so e.g. we can't use multiple customer To/CC addresses and customer-wide invoice extras for now and will have to duplicate some of the functionality ourselves (e.g. implement our own email sending, or insert the invoice footer at invoice finalization).
If Stripe was dashboard-only we wouldn't use it in the first place since we need API integration for everything, so I'm unhappy about the trend of having dashboard-only features especially (but if a new feature is API-only, and the dashboard UI is not ready, that's less of an issue).
Yeah, I know this is super frustrating (and this is not the only piece of functionality that's had this issue before) - with Billing flows in particular it happens more often because there are users who only use the dashboard and others who only use the API, and sometimes new features don't get consistently added to both, or are built with the intention of only helping one or the other.
I need to head out ( @austere hazel is around if you have more questions and want to chat through more workarounds), but I do plan on raising this feedback so that hopefully it gets fixed in the future!
๐ happy to help if you run into any other issues