Stripe: Discount 1st year of a subscription - stripe-payments

Stripe says intro rates on a subscription aren't able to be done, it would require a manual process of signing the user up for a product at 1 price, and then getting them to switch over to a 2nd product at a different price. Has anyone ever been able to successfully figure out a way to do this?
Basically, what I would like to do is have a user create an reoccurring annual subscription with a base price of $100.
I'd like the first year for them to be 10% off, so $90, with an annual renewal rate of the base price, $100.
I tried solving through coupons and graduated pricing but neither seemed to work. Curious if anyone has ideas or if a 1 time, automatic discount or intro rate is something that's just not doable at all.

Related

Stripe: Can I create a single "1 month free" promo code for multiple products?

I've been reading though the Stripe documentation but can't figure out if it's possible to have a single promotion code for multiple products, to give a 1-month discount, for products which have both monthly and yearly pricing.
Our product setup is like this:
Basic tier product
Monthly price (upsells to yearly price)
Yearly price
Plus tier product
Monthly price (upsells to yearly price)
Yearly price
I’d like to set up a single promotion code to give to customers, to discount the price of one month, regardless of the product they choose and whether they select monthly or yearly billing.
If I set up a 100% discount coupon then I can apply it to both products, but then if the user chooses annual billing, it discounts the price of the entire year (we only want to discount the price of one month).
If we set up fixed-amount discount coupons, then I'd need to create different promotion codes for each product (we only want to give customers a single code).
Maybe this simply isn't possible with Stripe, but it seems like quite a reasonable/common use case, so wanted check.
Any help much appreciated!
Unfortunately this is not possible with a single Stripe coupon. You would need to create at least two different coupons: one for the basic tier product worth one month, and one for the plus tier worth one month.

Choosing the right Stripe subscription model if pricing depends on another numerical attribute

I have little experience with payment gateways, and am trying to figure out how to synthesize the type of subscription billing that I am looking for: the monthly price gets rebalanced once a year, based on another attribute (a number that can get as high as seven or eight digits).
So, for example, the monthly subscription price as of January 1st will be a % of a user's credit card debt balance as of Dec 15th in the prior year. But the debt balance can get very high / does not have a cap.
I looked at the Stripe documentation to figure out of there's a way to do this. The only thing I could come up with is to use unit_amount in metered pricing and tying this to the credit balance. In other words, I would grab the debt balance number and use it as the unit_amount, and then apply a %. But then I need to also forward bill, so I trick the logic into shifting by a month, which seem impractical.
Alternatively, I am not sure I could do this with per seat pricing (e.g. $1 in debt = 1 seat). But I assume there's a max to the number of seats (i.e. someone cannot have, say 1m seats). I just couldn't determine this from the documentation...
That's what I was thinking, anyway. Perhaps there's a better way?
You've got a couple different options here:
At the start of the year you update the Subscription to a new price based on the calculations of the customer's credit card debt balance by specifying items[0].price_data. Setting items[0].price_data (see the api ref) allows you to create an "in-line price" that as part of the updating the Subscription, so you don't have to create one separately through a separate API request. If you haven't seen Stripe's docs on how to update the price of a Subscription you can see an example here, and you'll likely want to read about proration_behavior as well.
You have a single Price where 1 seat = $1 in debt, and you control how much you want to charge by changing the number of seats for the Subscription. I don't think Stripe has a limitation to the number of seats (as long as it's a valid integer), but they do have a limitation on the maximum amount you can charge which you can read about here. For USD the maximum charge amount is $999,999.99, so the maximum quantity would be you could specify for a $1 price is 999,999.
You could look into using metered pricing, but given that you don't want to bill at the end of the billing cycle the other two options seem better.
I think the first option (updating the price year by year) is your best one, but definitely try all of them out in test mode and take a look at how the Invoices look to see which one you like best.

Applying Stripe Discount

Does anyone know if there is another way to implement discount in stripe subscription without using coupon stripe features.
I have a feature in my application that admin users can give different discount amount to a subscribe user every month.
Is there a way I can edit the "Upcoming Invoice" amount of the customer through stripe api.
You can never directly edit the total amount of an invoice -- it is automatically calculated from the sum of the values of each line item, taxes, coupons, etc.
If you don't want to use coupons for whatever reason, another thing you can do to reduce the amount of an invoice is to create invoice items with a negative value.

Giving Stripe Customers Credit

I'm working with Stripe. Our users subscribe to our service and they are billed every 2 weeks. We need to implement a way to give them $5 credit every time they refer someone to use our service.
Solutions I have considered so far:
Stripe coupons: Stripe has great documentation. Unfortunately, for
coupons there are many ambiguities. I tried working with coupons but
so far it seems like a coupon can only be applied once for each
invoice, and you can't apply multiple coupons for one invoice. This will not work with us since a user can earn $5 multiple times during the billing period.
Issuing refund: the problem with this is that we have to pay the user actual money while what we actually want is to give them credit to use in our service.
Am I missing anything with coupons? Are there any other solutions/suggestions?
If I understand your use case correctly, I think the best way would be to create an invoice item with an amount of -500 for each referral. When you create an invoice item, by default it is set as "pending" and will automatically be included in the next invoice, i.e. at the end of the current billing period.
Be aware that if the invoice's total is negative (in the case of many referrals), then the total will be added to the customer's account_balance and reduce the amount of the next invoice as well. If this isn't what you want, you'd need to reset the customer's account_balance to zero, or make sure that you don't create invoice items that will make the invoice's total go below zero.
More information about invoice items can be found here: https://stripe.com/docs/subscriptions/guide#adding-invoice-items. The guide only mentions invoice items with positive values (i.e. additional charges), but you can use negative values as well.
Have you considered just checking for available credit in transactions before you charge?
That way you can just store how much credit people currently have in some database, and just apply the balance on transactions. AKA charge them for full_price - total_credits.

How to avoid Shopping Pricing Rule when applying Catalog Cart Price Rule?

I have an ongoing 50% Off Catalog Pricing Rule currently active across my store. A few days back I have also distributed coupon codes on a Radio show with 25% Off. Now i have a situation where customers with these codes are applying the code and receiving a double discount. My $10 product is selling for $3.75 (50% + 25%).
I want a functionality where when the customer applies the coupon code, the code does apply but ONLY on the original price of $10. Thereby selling the product at $7.5. It should overlook the catalog rule. So the customer can choose to either go with the Catalog discount or Coupon discount but not both. Is this possible?

Resources