I think that’s your only choice. Unfortunately I don’t think everyone supports LUD21 yet. That’s pretty new.
Thanks. So, For now, I will use Alby webhooks, with option for users to add their own webhook API. That's the only API it uses. One more thing, Should I use preimage encryption/decryption to eliminate the need for a centralized encryption key & login? 🤔 https://guides.getalby.com/developer-guide/v/alby-wallet-api/reference/api-reference/webhook-endpoints
imo LUD21 or maybe even better just relying on NWC (Which has the lookup invoice function or also notifications https://github.com/nostr-protocol/nips/pull/1164 )