I’ll just get right to it: I’m aware of the few webhooks event samples that do exist in the documentation, but they don’t provide sufficient context to properly use this, which lead me to the following questions:
When a user sponsors as a one-time sponsor, their sponsorship is valid for 30 days (according to the Github Sponsors UI). This then also generates a
created webhook event similar to a regular sponsorship as per my own testing. Does this mean that on/after that 30th day, a
cancelled event will be sent to the webhook for that one-time sponsorship? Or should I observe the
is_one_time flag and use that?
Next, when a user cancels a monthly sponsorship, a
pending_cancellation webhook event is dispatched. When the user then directly cancels it, no new/different event is dispatched. Can you confirm that this event mostly serves as a potential heads-up (e.g. a good moment to send a ‘consider renewing’ notification to the user or whatever) and doesn’t necessarily guarantee/indicate that the user will cancel? Or, to put it simpler: Should I only rely on the
cancelled event for confirmed cancelations?
Finally, as a feature request, I’d like to add that it would be amazing if we could have a way to ‘sponsor’ or trigger these events ourselves using a sandbox/test user with special buttons to trigger situations directly. Right now, I literally have to wait 30 real-world days in order to see what the system does above for the above questions/situations, and also can’t confirm other things, such as what happens (event-wise) when an one-time sponsorship converts into an monthly sponsorship, as I have to wait for the actual payment to process.