There aren't any billing webhooks.
Update: Billing Webhooks are available through our Billing GraphQL API.
You should be able to keep track of the status along the way: when you create the charge it will be pending, when they they accept (and redirect back to you) it will be accepted, once you activate it becomes active - should they not accept within two days it will be expired.
We have SaaS app that integrates with shopify (along with other services). Client uses it for example on our mobile application.
He needs to buy a billing plan on our application in ourder to use it.
He has to have account on our side. If we won't know that his payment failed nor succeeded, we won't know if we should restrict his access to our SaaS.
We have this system implemented on our side already (attaching Visa / Mastercard card), but it is Shopifys requirment to bill his via Shopify Billing API in order to pass shopify app review.
Only accepted charges can be activated. https://shopify.dev/tutorials/charging-for-your-app-with-rest-admin-api-concepts#one-time-applicatio...
Should I depend only on clients browser redirect ? It's not really reliable, isn't it ?
No. The redirect contains a charge ID - you'll need to activate this charge and examine the response.
Billing Webhooks are only available through our Billing GraphQL API, you can find more information about this here and how to create and subscribe to them
I'm following https://shopify.dev/tutorials/bill-for-your-app-using-graphql-admin-api#webhooks-for-billing with graphql.
I'm having issues subscribing to the app_purchases_one_time/update webhook topic. (403 response status with no message) .
Am I missing some required scopes? I just want to know if payment for my app was confirmed or declined.