#Damien-Subscription

1 messages · Page 1 of 1 (latest)

sterile warren
#

Hi there, if you want your customer to pay in a monthly basis, you should change the recurring.interval to month

livid grotto
#

Ok, thanks. But I don't want them to pay every month for the same "annual membership" !
10$/year = Membership type A.
He buys 1 during January, and 3 of them during February. At Feb 1st, I want to charge/invoice 10$, but at March 1st, I want to charge/invoice 30$.

Next year (yes, it's yearly membership), I want to charge the exact same amount (unless he has unsubscribed from some memberships).

sterile warren
#

So you have a yearly subscription for the price of $50, and there's another usage-based monthly subscription that you want to charge based on the number of membership types that your customer has purchased in that month?

livid grotto
#

Yes. I want to collect 40$ every year (yearly subscription), but charged at the end of the month the have been subscribed, in a single monthly invoice.

sterile warren
livid grotto
#

Ok, thank you very much, I will look into this further.

But are you sure that the user will not be charged twice? First, at the beginning of the subscription cycle (the n°1 per-seat subscription). Then, at the end of each billing cycles, when I will report the number of new membership of the month? (n°2 - usage based subscription).

sterile warren
#

There will be two subscriptions with two different billing cycles (e.g., annual and monthly).

The per-seat subscription is pre-paid, meaning the customer is charged at the beginning of the billing cycle (e.g., start of the year)
The usage-based subscription is post-paid, so that the customer is charged at the end of the billing cycle (e.g., end of the month)

livid grotto
#

So, the customer is charged twice? Isn't it?

  • he subscribes a new membership and is charged (per-seat / pre-paid) for the year ;
  • at the end of the month, he is billed again for his usage (which is the same new memberships that the 1st one).

Where do I go wrong?

sterile warren
#

Let say your customer subscribes on 1 Jan 2023

  • on 1 Jan 2023, the customer is charged for the annual subscription
  • on 31 Jan 2023, the customer is charged for the usage-based subscription,
  • on 20 Feb 2023, the customer is charged again for the usage-based subscription,
    ...
  • on 1 Jan 2024, the customer is charged for the annual subscription
livid grotto
#

Ok. Alright, it's not my case.

We have nothing to charge for the "usage" every month.

My customer subscribes for 50 "annual subscriptions" throughout the year (some in January, others in February, others in August).

  • Each year, they are renewed on the anniversary date of each ;
  • At the end of every month, he must be charged with an invoice that mentions the subscriptions charged for the month just ended: new subscriptions of the month, or annual renewal (anniversary date of last year subscription).

The "per-seat" is closer, but my problem is how to tell Stripe that the recurrence is annual, but that we charge 1 time per month for new subscriptions / renewal.

sterile warren
#

Can you give me a list of dates (like what I did previously) on how you want your customer to be charged?

livid grotto
#

Yes. I do that :

#

10th Jan 2023 : he subscribes 1 membership.
22th Jan 2023 : he subscribes 3 more memberships.
31th Jan 2023 23:59 : Stripe automatically charges for the total of 4 new memberships this month (= 40$) and user receives a single invoice ;

5th Feb 2023 : he subscribes 5 memberships.
13th Feb 2023 : he subscribes 2 more memberships.
31th Feb 2023 23:59 : Stripe automatically charges for the total of 7 new memberships this month (= 70$) and user receives a single invoice ;

18th Jan 2024 : he subscribes 10 more memberships.
31th Jan 2024 23:59 : Stripe automatically charges for 10 new memberships (= 100$) + the yearly renewal of January 2023's memberships (= 40$). Total charged : 140$ (in a single invoice).

#

4th Feb 2024 : he cancels / unsubscribes for 1 of last year february's subscriptions (one of those on 5th Feb 2023).

(he doesn't subscribe anything on February 2024)

31th Feb 2024 23:59 : He is charged for 6 subscriptions (the 7 yearly renewal of February 2023's memberships less the one which has been cancelled on the 4th). He is charged 60$ and receive a single invoice ;

sterile warren
#

My 1st question is that are you going to charge in Feb 2023 for the memberships that the customer has subscribed in Jan 2023? In your example it seems like you charge only the new memberships (7) in Feb

livid grotto
#

Ok, sorry, I didn't get that point in your first question. You said "charge on a monthly basis" and "yearly subscriptions" , so I answered yes.

But my case is the one explain with the dates right above.

#

Yes, I charge only the new memberships.
And I also charge the renewals (see 31th Jan 2024 and 31th Feb 2024).

sterile warren
#

so the customer will be charged for 4+7 = 11 memberships on Feb 2023?

livid grotto
#

😕 No. He is charged for the 7 new memberships (= 70$) of Feb 23 as mentioned in the text.
Why do you want to charge the 4 yearly subscriptions of January 2023 ?

sterile warren
#

OK, thanks for the clarification. I think I have a solution, and let me write it down.

#
  1. You can keep the price.recurring.inverval to year.
  2. When your customer subscribe for the very first time, you create a subscription, and set the proration_behaviour (https://stripe.com/docs/api/subscriptions/create#create_subscription-proration_behavior) to none, and the billing_cycle_anchor (https://stripe.com/docs/api/subscriptions/create#create_subscription-billing_cycle_anchor) to the end of the current month, so that your customer will only be charged at the end of the month.
  3. When the same customer subscribe for new annual membership, you can update the existing subscription by adding the new items to the subscription, remember to set the proration_behavior to none as well
  4. Your customer will receive an invoice containing all items at the of the first month.
livid grotto
#

Thank you very much. 🤩
I gonna try that tomorrow!

  • When my customer subscribes for the very first time, I create a new subscription for him, but also an API "Subscription item", right ?
  • When the same customer subscribes for one new annual membership, I update the existing subscription and I add the new item.
    Is that correct ? Did I understand correctly?
sterile warren
#

If the price is the same, you can just update the Subscription item's quantity. If the price is different and you need to add a new price, then you should update the subscription items array to include the new price.