Yeah that is the correct way to read “incoming body data” in PHP
As Webhooks/Eventsub/PayPay IPN/other kinds of webhooks, they send a POST request but they don’t send POST data, so you have to read php://input
Related post on the subject
https://lornajane.net/posts/2017/handling-incoming-webhooks-in-php
https://lornajane.net/posts/2008/accessing-incoming-put-data-from-php
If you were building an API you’d have the same “fun” with PUT requests via cURL