#Gkiokan-Subscription
1 messages · Page 1 of 1 (latest)
If the upgraded tier is more expensive then the previous one and you apply the coupon -> the customer will get a charge back.
Could you elaborate on "charge back" here? Do you mean the user get back some money?
I mean that part when the user have an invoice with a negative total. I mean that by chargeback.
If they upgrade to a more expensive tier, then they should pay more, no?
The problem is with the coupon
For monthly payments they are on 100% discount per month
So it looks like this then:
assuming to upgrade from 17,90 to a 24,90 tier.
unsued time tier x 17,90
remaining time tier y 0,00
discount -24,90
total -17,90
That only happens if I swap the tier with the coupon applied.
Every upgrade is made with a subscription update, sofar correct. And always with proration_behavior always_invoice so the user gets also charged immediatelly and have a invoice for his action.
But that prorations combined with coupons results in negative totals in the invoices.
I just want to have a clear invoice without going it ever to negative
So the issue is how to restrict the coupon only applied to remaining time?
If I understand you correctly
As long as the invoice don't get into a negative total?
See here an example invoice
in_1LB4OUHa5WPIKK5IAowNX2Ix
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
You can see here I have an
existing sub with 17,90 and
upgrade to a more expensive sub for 24,90
but have a coupon with 100% discount
The unsued time are negative in this case. And as my understanding is I would need to send that money back to the customer later on. -> I don't want that case.
From your Dashboard you can see the minus comes from "Unused time on Premium after 15 Jun 2022"
Correct. This is because the subscription items prorates
I don't think you need to send back money to your customer tho. Your customer will have a balance to be use next time
But see the other item. It says Remaining time on business (which is a tier priced by 24,90 monthly but has 0,00 here because coupon is applied)
German customers are not that smart. Before I try to explain them something about balance I would like to have a clean way. Don't even touching balances or giving them any kind of kredit this way.
Well, it's the default behavior for a coupon to be applied that way
I tried already to cancel the subscription and create a new sub with the coupon instead but this gives me another problems. I can't prorate items like this.
Monthly I could get away with it because well its monthly. But yearly doesn't work out because what if a customer pays 1k for 1 year, have used it for 3 months. That will not work out
So my Idea is to get the coupons somehow else working
Can I set the charge date from a subscription to a date like now + 14 days?
tbh, I use the always_invocie option to charge the customer on any change. Like quantity, upgrades or swaping tiers.
stepping in to take over from orakaro.
If you don't mind, can you reiterate the expected behaviour?
Hi mate. Sure.
in_1LB4OUHa5WPIKK5IAowNX2Ix
This is the example invoice.
As you can see I have a proration from the old subscription item
and a new item which gets the discount applied from the coupon.
Problem is, that the user gets a negative invoice.
I'd like to have it a clean invoice and it shouldn't go into negative (which is krediting the user or giving him balance or chargeback)
hmmm, okay, so the first line item is the previous subscription, and the second line item is the upgraded subscription - is this correct?
I am upgrading here from premium to business
If you see the same table on your dash, then the first item is the new sub item with the coupon
ah so, it's vice versa, first line item is the upgraded subscription, and second line item is the previous subscription
correct
i'm going to need to ask more questions to make sure i understand what you're looking for
do you want the 100% discount to apply to the upgraded subscription also?
Lemme explain which use case I have.
User has a paid subscription X
User upgrades his subscription with a more expensive item and applies a coupon.
As I upgrade the subscription to the new price I expect the invoice to be 0 due the discount.
So answering your question would be: It should apply only to the "new" subscription.
But thats not my problem. My Problem is, that the prorated InvoiceItem gets calculated here as an negative total in the Invoice.
Which leads me to the issue, that I have to give the user money back or balance.
let me test something to see if it works for your use case and get back to you
Sure
if you upgrade and don't prorate the upgrade, would that work for you?
Maybe for monthly based items but
Imagine if the user has a yearly subscription for over 500 eur
If he pays 500 euro and uses 3 months, what happens when he upgrade with a coupon?
I think for yearly I must prorate
I have thought about that too but I think it didn't worked. I mean i have commented that section as "coupon doesn't get added if there is no proration"
I could give it a shot later but even then, the yearly sub issue still exists
There is something else maybe
If I could add the billing / charge date to a date of +14 days, I could update the subscription and apply the coupon later on
You originally mentioned that you tried cancelling the subscription first, then creating a new subscription and that didn't work for you? Can you explain why?
So the invoice may stay with full price at first, but after the update I could apply the coupon to the subscriptions which should have the desired effect.
It worked. But this use case doesn't work for yearly because the same issue with the partialy used time but paid for 100% of the year. I didn't prorate in this test case.
Maybe try with proration, cancel sub and create a new one with coupon. I could give that a shot
But then I must control the canceling date explicitly. Because it may be abused for getting lower charged.
i think if you cancel with proration. Then create a new one with a coupon, that would work the way you want.
Is this possible to set a property to "charge the customer in 14 days"?
I will give that definitly a shot.
you can choose to only allow the customer to cancel at the end of the billing cycle : https://stripe.com/docs/api/subscriptions/update#update_subscription-cancel_at_period_end
or at a specific datetime : https://stripe.com/docs/api/subscriptions/update#update_subscription-cancel_at
Or if you need to schedule an update ahead of time, you can also look into subscription schedules : https://stripe.com/docs/billing/subscriptions/subscription-schedules