I’m creating a GitHub app that shall be listed in the GitHub marketplace. I now try to implement the marketplace_purchase.canceled event.
When a customer cancels a plan, then according to Billing customers in GitHub Marketplace my app has to “Automatically downgrade them to the free plan, if it exists”. Furthermore, “When a customer cancels a GitHub Marketplace subscription, GitHub does not automatically uninstall the app, so the customer can expect that free features will continue to function”. But according to Cancelling plans , my app has to
1. Deactivate the account of the customer who canceled their plan
2. Revoke the OAuth token your app received for the customer
- …, remove all webhooks your app created for repositories
4. Remove all customer data within 30 days of receiving the canceled event
To me, this sounds contradictory. One says I have to completely cancel and delete anything while the other says I have to make sure that the customer is still on the free plan. And what shall happen in the latter case, when the customer cancels a free plan? (Who will remove the app installations from the repositories?)