#nadia-webhook failed
1 messages · Page 1 of 1 (latest)
Hi, could you please provide the event id evt_xxx that you think you haven't received?
we don't have the event
as mentioned in my message
here is the customer id : cus_JTG3Xo3IoGIgoB
the upgrade has been made on april 12
hello btw !
& thanks for taking care of my issue
I will try to investigate but please bare with me a couple of minutes
no pb thank you !
when did the customer update their susbscription?
the subscription has been updated on april 12
but i dont know when he asked the upgrade
i can see on the event page march 31
yes I just saw the change
he asked for the upgrade on march 31
let me double check
thanks !
i can see that this event has been sent : evt_1KnlIDFxsE4pn4oaZ8H0av9P
but it's not the way it worked back then
that why i asked if stripe made some changes regarding subscription update process
is my workflow still good ?
*i listen to the "invoice.paid" event & i check the billing reason, if it is "subscription_update" then i perform a plan update on my side (app)
i can see that i haven't received this event for the client, which explain the absence of upgrade on my app *
yes I see the issue now
basically you are not subscribed to that event on your production endpoint
customer.subscription.updated
yes i know
because at the time it wasnt useful
the customer.subscription.updated was sent right after asking a sub upgrade
and not when the change is made on stripe
that's why we dont listen to customer.subscription.updated
is the process been updated ?
if it is, why didn't we receive a notification to update our workflow
the plan updates are made at the current period end
@stone heart was the one who explained me the case
he advised me to listen to invoice.paid event & look for subscription_update billing reason
I guess what happened is that the invoice was drafted on the same day (before) the update to the subscription was made
which makes sense that on next cycle you will get the normal flow
that you already implemented
it makes no sens :/
the plan updates are made at the current period end
yes and the upgrade was made on the 12
as the sub update
which means that the current period end is on the end of this invoice
so it would start next month
i dont get it sorry
ok let me rephrase myself
would i receive the invoice.paid event with this billing reason : subscription_update
this is still going to be the case
but for next billing cycle
since the change to the subscription was made after the invoice was created
no because on stripe the update is made
his invoice is on the price
which workflow should we implement to prevent this kind of problem please
we are not on a testing phase
we have customers
we need to fix that problem quickly
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
please take a look at this event
the billing_cycle_anchor is the date when this subscription change would start taking effect
which is on May 12th
but why the price's been updated
the only thing for me to do in this case is to notify your customers that if they upgrade after a certain date (in regards to their subscription) then the plan wouldn't take affect before next billing cycle
the amount that was paid is the same
it's 19.99
yes i know
the products has the same price
(amount)
the price is "Pack Découverte"
not "Pack découverte"
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 that the he has paid for the new price
there is just a discount
the real price is 39.90euros
please could you answer to the following question :
is the "invoice.paid" event billing_reasons "subscription_update" is still sent & recommended to perform an update on my app ?
I'm sorry for keeping you waiting, I'm still trying to investigate what happened to the subscription/invoice you are inquiring about
could you please hold a moment?
Hi! I'm taking over tarzan. Give me a few minutes to catchup.
The billing_reasons of the invoice should contain the reason the invoice was created: https://stripe.com/docs/api/invoices/object#invoice_object-billing_reason
Did you get an invoice without a billing_reasons? If so, can you share the invoice ID?
For in_1KnlIDFxsE4pn4oaPwYOFUCB the billing_reasons is subscription_cycle, which means the subscription started a new billing cycle.
hello @fathom ice
Thanks !
i didnt receive the : subscription_update reason
no invoice.paid with subscription_update billing reason
as you said i only received the subscription_cycle
is it normal ? or it's a pb ?
should i change my implementation ?
could you please have a look at my first message
pb = problem, sorry
i have no evt_xxx to give you
because i didnt receive the event
after a plan update i should receive an invoice.paid event
ok, then what's the subscription ID sub_xxx that was updated?
well not always! depends how you do the update.
with a subscription schedule
at the current period end
can you share the subscription ID sub_xxx that was updated and you didn't see the event you expected to see?
here is the customer id : cus_JTG3Xo3IoGIgoB
& the subscription id :
sub_JTG6vIOmNCpuTN
ok, give me a second.
the sub schedule was created on march 31
the sub upgrad was made on april 12
yep yep I see that
but no invoice.paid billing_reason : subscription_update
correct
i very worried to be honest
why?
there's not supposed to be such an event in this case
you get an invoice.paid with billing_reason:subscription_cycle in this case where you change the price at the end of the cycle
we've been advice by your colleague months ago to do so
& we've tested it
many time
it worked
sttripe made some changes then?
you only get an invoice created with subscription_update after updating plans on a subscription if the update is done with proration_behavior:always_invoice or the type of the change requires an immediate payment (https://stripe.com/docs/billing/subscriptions/upgrade-downgrade#immediate-payment)
because it wasn't the process back then
can you share an example of one of those other subscriptions where you tested the same thing and got different behaviour , so I can investigate if something changed?
yes on test mode
cool. Subscription ID sub_xxx please?
Bear with me a moment
plaease
i cant find it sorry
there are a lot of events
what process should i apply please
we are live
at the time the customer.subscription.updated
was sent right after the customer asked the change
is it still the case ?
our is it when the subscription is really updated
sorry, I don't follow the question.
how should i catch the subscription update of my customer please
when its effective
we are not on the development phase, our product is live
on the market
we need to hotfix that problem
how should i catch the subscription update of my customer please
there's a few ways.
customer.subscription.updatedwill happen and theprevious_attributeshash will show that theitemson the subscription has changedinvoice.paidhappens at the start of a new billing cycle and you can sync your database to the current state of the Invoice's subscription(regardless ofbilling_reason)
thanks for your response
whats the reliable way please ?
see my post above
this one ?
yes
i've seen it
to my mind invoice.paid is better because it happens at the start of a new billing cycle but it's not the case
it's not what happened
it does happen.
where ?
here it is for the example subscription you shared : https://dashboard.stripe.com/events/evt_1KnmGYFxsE4pn4oa3yRW6Msj
yes, and I explained why that is
^^
if you apply an update and an invoice is not created directly as a result of that specific update, and instead the update is just rolled into the next recurring invoice(which is what happened here) , then you just get the usual recurring invoice with billing_reason:subscription_cycle
Hey @sudden laurel I'm working on the same project with Nadia!
i set proration_behavior: 'none' because start_date: subscription.current_period_end,
will proration_behavior: 'always_invoice' work (no proration) if i keep the start_date: subscription.current_period_end
i mean will the customer pay the full price ?
I remember that last year we had a lot of tests and exchanging with you guys (on the webchat that time), there was a subscription_update in the billing_reason from the invoice.paid event :/
with no proration (real price)
same question really. can you share an example of one of those other subscriptions where you tested the same thing and got different behaviour , so I can investigate if something changed?
probably you tested something different (like using a different value of proration-behavior).
not sure, you'd have to test the exact scenario, you're losing me
unfortunately we can not retrieve events before 01/27/2022 :/
stripe didn't keep that far in test mode I guess
we only guarantee events for 30 days yes
almost certainly you tested this with proration_behavior:always_invoice, or with an update that causes an immediate payment, and then this production example is a different scenario. I explained above, not sure what else I can add here.
so we cant show you :/
we will test on dev mode & get back to you
please keep the thread open 🙏
I'll keep it open but I have to run now so another colleague will take over
thanks a lot