#thomasst-subscriptions

1 messages ยท Page 1 of 1 (latest)

solid violet
#

Hello! Starting up a thread for you

#

Can you show me an example of invoice that immediately finalized so I can take a look?

wind badge
#

in_1LNIRMBSqAkKUXpQ05OmSVmG

#

invoice.created and invoice.finalized events were triggered at the same time.

solid violet
#

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)

wind badge
#

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?

solid violet
#

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?

wind badge
#

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

solid violet
#

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.

wind badge
#

Right, so neither of those is accessible via both API and dashboard?

solid violet
#

Correct ๐Ÿ˜ฆ

#

But is there a reason you're using this blended dashboard/API approach?

wind badge
#

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?

solid violet
#

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?

wind badge
#

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?

solid violet
#

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

wind badge
#

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).

solid violet
#

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!

austere hazel
#

๐Ÿ‘‹ happy to help if you run into any other issues