Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Handling plan cancellations

Cancelling a GitHub Marketplace app triggers the marketplace_purchase event webhook with the cancelled action, which kicks off the cancellation flow.

For more information about cancelling as it relates to billing, see "Billing customers."

Step 1. Cancellation event

If a customer chooses to cancel a GitHub Marketplace order, GitHub sends a marketplace_purchase webhook with the action cancelled to your app when the cancellation takes effect. If the customer cancels during a free trial, your app will receive the event immediately. When a customer cancels a paid plan, the cancellation will occur at the end of the customer's billing cycle.

Step 2. Deactivating customer accounts

When a customer cancels a free or paid plan, your app must perform these steps to complete cancellation:

  1. Deactivate the account of the customer who canceled their plan.
  2. Revoke the OAuth token your app received for the customer.
  3. If your app is an OAuth App, remove all webhooks your app created for repositories.
  4. Remove all customer data within 30 days of receiving the cancelled event.

Note: We recommend using the marketplace_purchase webhook's effective_date to determine when a plan change will occur and periodically synchronizing the List accounts for a plan. For more information on webhooks, see "Webhook-Ereignisse für die GitHub Marketplace-API."