#nico_best-practices
1 messages · Page 1 of 1 (latest)
👋 Welcome to your new thread!
⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
🔗 This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1468077625489756255
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
More Context
We have two Stripe billing flows:
New registrations
- Checkout in
mode: subscription - Persistent Products/Prices per TLD
- Renewals handled via
invoice.paid webhooks - This works as intended.
Domain transfers
- Initial one-time transfer fee (amount can differ from renewal)
- After a successful transfer, we create a Subscription for annual renewals
- We currently delay the first charge using
trial_end = transfer_date + 1 year
This leaves subscriptions in a “trialing” state even though the customer has already paid, which makes lifecycle state and reporting unclear.
Goal
Model "pay once now, then start recurring billing at a fixed future date" in a way that keeps Stripe’s subscription state, reporting, and customer portal behavior semantically correct.
Hello! Just to set expectations upfront, this channel is mainly focused on API integration help, so MRR/ARR calculations aren't really our forte.
That said, I can share what I know. Stripe doesn't factor trials into MRR calculations (here's more info on that: https://support.stripe.com/questions/understanding-monthly-recurring-revenue-(mrr)-and-annual-recurring-revenue-(arr)).
I do have a couple of suggestions for what you can try, but I can't say how these would affect your MRR/ARR. You might need to test things out or reach out to our support team to get clarity on that part.
Here are the options you could try:
- Prebilling: This might work for your use case. Check out the docs here: https://docs.stripe.com/billing/subscriptions/prebilling. This would likely only work if the transfer fee is the same amount as the yearly subscription price.
- Subscription Schedules: You could set up the transfer fee as a yearly price that ends after one year, then automatically switch to your actual yearly subscription price.
I personally think Subscription Schedules seem to fit what you want better : https://docs.stripe.com/billing/subscriptions/subscription-schedules, so I'll recommend trying this out first
Hi again 🙂 A colleague looked into this shortly, just shortly for my understanding so it would be possible to use it like this: Phase 1 charges the transfer fee once and phase 2 automatically switches to the true annual renewal price with the billing anchored to transfer_date + 1 year?
But looks exactly like the thing we were looking for so thank you very much already
yep! what you described is correct. The Transfer fee would be set up as a yearly price though.
⛔️ Stripe developers have stepped away for a short while
Please leave your questions here, and we’ll respond as soon as we're back! If you need help urgently, you can contact Stripe support for help.