Do I need server-to-server notifications to implement Billing Grace Period properly?

Hello,
I would like to use “Billing Grace Period”

But there is a scenario I don’t know how to manage.

My app sends the receipt to my server, my server verifies the receipt with apple and then unlocks content.

I am not using server-to-server notifications, basically because I will only have an iPhone app, moreover, seems server-to-server adds more complexity and this is a small project.

The scenario I don’t know how to manage is this:
Imagine I activate the “Billing Grace Period”, then the user, after buying an auto-renewal subscription, cancels it. Because the expiry date in the server takes into consideration graceperiodexpiresdatems, the real expiry date is longer, but my server does not know that the subscription was cancelled, which means the user that cancelled the subscription will always enjoy the grace period.
I think in this case, when cancelling, the app does not receive any transaction or something like that From StoreKit that says that the subscription was cancelled. That is the issue.

In this document:
https://developer.apple.com/documentation/storekit/in-app_purchase/subscriptions_and_offers/reducing_involuntary_subscriber_churn?preferredLanguage=occ
I see:
“When implementing Billing Grace Period, use the verifyReceipt JSON response and server-to-server notifications. ”

So, I would say it is mandatory to use server-to-server notifications to implement “Billing Grace Period” properly. Am I right? Is it totally mandatory?

Thanks a lot.
Do I need server-to-server notifications to implement Billing Grace Period properly?
 
 
Q