Skip to main content

Hi monday team.


I have a question about how the subscription object behaves when a subscription is cancelled and the user keeps using our integrations.


When an app is installed, monday sends a install webhook containing the default plan Id and the renewal date.


(object) array(
'plan_id' => 'free_plan_id',
'renewal_date' => '2034-06-04T23:07:50+00:00',
'is_trial' => false,
'billing_period' => NULL,
'days_left' => 3652,
'pricing_version' => 1
)

When the customer purchases or renews a plan, monday sends a app_subscription_created or app_subscription_renewed webhook containing the purchased plan Id and the new renewal date.


(object) array(
'plan_id' => 'paid_plan_id',
'renewal_date' => '2024-07-14T00:00:00+00:00',
'is_trial' => false,
'billing_period' => 'monthly',
'days_left' => 30,
'pricing_version' => 1
)

The same object above is sent in the payload of every integration call.

As we offer plans with ops per month, we rely on the renewal_date - days_left propertie to calculate the corresponding time window.


When the subscription is cancelled, monday sends a app_subscription_cancelled webhook containing the paid plan Id and no renewal date.


(object) array(
'plan_id' => 'gc_plan_s',
'renewal_date' => 'nil',
'is_trial' => false,
'billing_period' => 'monthly',
'days_left' => NULL,
'pricing_version' => 1
)

After the subscription cancellation what does the payload contains?

I expect to receive the default plan Id and a new renewal date.


In my example above:



  • on 2024-06-05 the user installs our app and starts using it on the free plan;

  • (the free plan resets on 2024-07-05);

  • on 2024-06-14, before the first free period ends, the user purchases a paid plan;

  • on 2024-07-14 the subscription is renewed;

  • on 2024-07-30 the subscription is cancelled.


Can I assume that, after 2024-07-30, the integration payload contains the free_plan_id and 2024-08-30 as renewal date?


Thanks for your help.


cc @Matias.Monday

Hello there @rob,


I checked this with our monetization team and this is what they mentioned:


In the event where an app that has a free plan and a paid plan, has as a customer an account that has paid plan, when you get the JWT you will see the paid plan subscription object. After the account cancels the paid subscription:



  1. Until renewal date (from 2024-07-30 until 2024-08-14), you should still get the paid plan in the subscription object, with the renewal date of the last day that the paid subscription will be active.

  2. After renewal date, you should get the free plan in the subscription object, with, in this case, 2034-08-14 as the renewal date.


Let me know if you have any questions!


Cheers,

Matias


Reply