Billing customers in GitHub Marketplace

Apps on GitHub Marketplace should adhere to basic billing guidelines.

The billing cycle can be monthly or yearly. The Marketplace purchase webhook provides the type of billing_cycle selected and when the next_billing_date begins. All changes to the billing cycle and the type of plan selected will trigger a marketplace_purchase event.

When a customer downgrades or cancels their plan in the middle of the billing cycle, they remain on the original plan and changes are applied on their next billing date. GitHub will trigger a Marketplace purchase webhook when the cancellation or downgrade takes place at the beginning of their next billing cycle.

If a customer upgrades their plan, the feature is available to them immediately. A pro-rated discount must be applied to the new plan and the billing cycle will need to be changed.

For cancellations, upgrades, and downgrades, use the Marketplace purchase webhook's effective_date key to determine when a plan change will occur and periodically synchronize the List of GitHub accounts on a specifc plan.

For more information, see About webhooks payloads for a GitHub Marketplace listing