We track everything - its invaluable for debugging:
- invoices
- subscriptions
- log every webhook stripe sends us
we set up a single webhook that receives every event from stripe and processes it accordingly. There’s no real difference between a single subscription and multiple tiers of subscriptions, beyond your application logic of what to do in that scenario. e.g., you may grant different permissions based on different product ID’s from stripe.
We track the customer object on the user, but the subscription object in its own collection. This allows a user to transfer a subscription to another user (which is critical for us as organisations pay for a subscription, not users). If you have a 1:1 mapping of users to subscriptions, you could track subscriptions on the user.