#jcnguyen-subscription-promo
1 messages · Page 1 of 1 (latest)
Hello! We'll be with you shortly. Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
- jcnguyen_36895_03919, 20 hours ago, 40 messages
You can do that but invoice will be created
Invoices are created for every subscription payment
That's how subscriptions work
If you create a subscription with a trial, this pending_setup_intent field will be populated: https://stripe.com/docs/api/subscriptions/object#subscription_object-pending_setup_intent
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
if customer already paid
You can use that setup intent's client secret to collect payment method
and when trial ended don't stripe create another invoice and bill customer?
what i'm trying achieve is allow user for early renewal promotion. One of you colleague suggested that add a trial period to it
what i tried via dashboard, create a subscription with subscription and paid, then later update trial period to 2 months but then when trial end. It create another invoice billed with prorate instead of just mark as paid
I guess I don't understand what you're building
Can you describe your usecase more so I can understand
I'm lost
sure
so basically, I have a customer subscription that started on 1/20/2023 and ends on 1/20/24. I tried to offer an early promotion on renewal. so that my customer's new subscription end date will be 1/20/2025.
at first i'm thinking of update existing subscription with trial period from now to 1/20/24. But what i noticed that when 1/20/204 comes it create an invoice and billed customer
which i do not want since customer already paid for it
does it make sense?
What is the promotion exactly?
Still a little unclear
Like what is the exact behavior that you want to happen with their billing
Is this a temporary discount, etc?
jcnguyen-subscription-promo
yes
let say the regular subscription cost $100 yearly
with early renewal cost them $75
my goal is once they paid $75 their subscription end date should be 2025 not 2024
And you want to charge them $75 every month for that next year?
Not sure what trial achieves here
no one a year
and next year back to $100
one of your colleague suggested me to use trial
but when i tried it create a new invoice and billed again
Right but you want to switch back to $75 for year 2
every month in year two?
And then in year 3 you'd want to switch back to 100/month right?
In either case idk what a trial achieves here
A trial gives the customer a free period for however long you set the trial to
It sounds like you'd just want to apply a slight discount for a specified amount of time instead, right?
it's a yearly subscription
so first year the customer already paid $100
if they do early renewal for second year $75. after second year it go back to $100
Ah I see sorry it took me so long to understand
And you wanted to use a trial to switch the billing cycle anchor back to the original date if the customer pays early?
or whatever option which allow me to extended their subscription to another year
and revert back to normal price after 2 year ended
sorry i should've been provide what i'm trying to achieve vs what im doing and it's not working
Ok. No problem
Do you want the customer to be charged the $75 on their regular billing interval (ie the same day of the year when they're normally charged $100) or do you want them to be charged the 75 immediately when they opt to early renew?
charge immdiately
I see
So yeah you would need to collect payment separately then
I just looked at the previous thread. I believe my colleague suggested that as well
You'd charge them the $75 separately
i'm ok with create a new invoice and charge them separately
but what about subscription
And to prevent the $100 from being charged you could either apply a $100 discount or negative invoice item
or a trial
up to you
actually i like the idea of negative invoice
Yeah that's my personal favorite way of discounting subscription invoices
can i updated the subscription and added a new negative 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.
and it will take into account for upcoming renewal?
So you'd first charge them the $75 (through either invoice or payment intent)
i used negative invoice for upgrade subscription as prorate
Then you'd create an invoice item (not invoice) for -$100. That will act as a credit and be automatically pulled in for the next invoice
but not sure about negative invoice on existing subscription which already paid
if it credit then if they buy another product then the credit will get used?
our systems allow multiples subscription for different product
You can tie the invoice item to a specific invoice id: https://stripe.com/docs/api/invoiceitems/create#create_invoiceitem-invoice. So one option is to wait for the draft invoice to be created for $100 by listening to invoice.created event. Then create the -100 invoice item tying it to that invoice via the linked param above
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
but the upcoming invoice has not created
You wait for it to be created
That's the point
You need to listen to the webhook event to know when it's created
Then you create the negative invoice item and attach it to the invoice while it's still in draft
oh i see what you meant
create a new invoice and charge client immediately and add metadata tag for the invoice with subscriptionid
when the subscription is up for renewal check if there's invoice already prepaid if yes create the exact amount so the amount due = 0
hence the subscription will remain active
exactly
when invoice is created it'll be in draft for 1 hour and you can edit it/create invoice items
on the renewal subscription?
yeah
yeah this look cleaner but within that one hrs i have to make sure to create negative invoice and attached to the subscription
yes
i can't do it before it?
you can
you just can't tie it to a specific invoice
so it'll be pulled into the next invoice created
which may or may not be the correct invoice
if they have multiple subs or invoices
currently can you add an invoice item to existing paid subscription
do you know what will happen?
or it throw an error
Oh wow
Somehow I didn't realize we had that parameter
That's a way cleaner solution
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
If you do that then you can create the negative invoice item immediately after you charge them the $75
And it will be pulled into the next invoice associated with that subscription (the 100 renewal)
Recommend playing around with this in test mode, but this should work for you
I think this will be cleaner than messing with trial
at first i was thinking of using trial end day to second term
but then i have to hack the data around
so the user didn't see they are in trial vs already paid
but yeah invoice item seems cleaner approach
let see if the invoice item with negative will only applied to specific subscription
but thanks for your help. Have a good weekend