#Little_seven
1 messages · Page 1 of 1 (latest)
hello! it's not possible using the Subscription API. If your memo field is always going to be the same for every customer, you can set the default memo here : https://dashboard.stripe.com/settings/billing/invoice
Otherwise, you're going to need to listen for the invoice.created webhook event and update the invoice's description - https://stripe.com/docs/api/invoices/object#invoice_object-description
Hello,
how about when customer subscribe on checkout session,
will it still be able to update invoice in invoice.created if it is already completed?
currently, our subscription is charged automatically
our supposed plan is to put customer name and id in memo.
you can't update the invoice description if it's already finalized. I can't think of any workaround unfortunately.
so instead of charging automatically,
need to make the invoice as draft first?
in which can try to create first the subscription as trial then re-schedule it?
If you're using collection_method: charge_automatically
By default, the first invoice for this type of subscription is immediately finalized and charged. As such, there is no one hour period in which you can update the invoice before finalization. All subsequent invoices generated for subscription renewals will have the one hour draft period
There are a couple of ways you can work around this:
-
Create your subscription with trial_end set a couple of seconds into the future. The subscription will first generate a $0 invoice, and once the trial is over a non-zero invoice will be created with a one hour draft period. The initial status of this subscription will be trialing and will transition to either active or past_due depending on the payment outcome. Or,
-
Create the subscription through a subscription schedule. When the schedule starts, the subscription’s initial status will be active with an initial draft invoice that is scheduled to finalize in an hour. Depending on whether payment of the initial invoice is successful or not, the subscription will either stay active or transition to past_due.