Skip to main content

向客户计费

GitHub Marketplace 上的应用程序应遵守 GitHub 的计费指南并支持推荐的服务。 遵循我们的指南可帮助客户顺利完成帐单流程。

Note

本文适用于仅在 GitHub Marketplace 中发布应用的情况。 若要详细了解如何在 GitHub Marketplace 中发布 GitHub Actions,请参阅“在 GitHub Marketplace 中发布操作”。

了解结算周期

客户在购买您的应用程序时可选择月度或年度结算周期、 客户对计费周期所做的所有更改和计划选择都会触发 marketplace_purchase 事件。 可以参考 marketplace_purchase Webhook 有效负载来查看客户选择的计费周期,以及下一个计费日期的开始时间 (effective_date)。 有关 Webhook 有效负载的详细信息,请参阅“GitHub Marketplace API 的 web 挂钩事件”。

在应用程序 UI 中提供帐单服务

客户应该能够从您的应用程序网站执行以下操作:

  • 客户应该能够单独修改或取消其个人和组织帐户的 GitHub Marketplace 计划。
  • 取消从 GitHub Marketplace 购买的付费计划的客户应自动降级到该应用程序的免费计划(如果有)。 当客户取消 GitHub Marketplace 订阅时,GitHub 不会自动卸载应用程序,因此客户可以预期免费功能仍然有效。 强烈建议允许客户重新启用他们以前的计划。
  • 如果提供以下格式的升级 URL,客户应该能够从应用的用户界面进行升级:https://www.github.com/marketplace/<LISTING_NAME>/upgrade/<LISTING_PLAN_NUMBER>/<CUSTOMER_ACCOUNT_ID>
  • 如果客户购买了席位(单位定价计划)或支持无限协作者的计划,他们应该能够修改哪些用户可以从应用程序的网站访问应用程序。
  • 客户应该能够在应用程序网站的帐单、个人资料或帐户设置部分立即看到其帐户的以下变动:
    • 当前计划和价格。
    • 购买的新计划。
    • 升级、降级、取消以及免费试用剩余天数。
    • 结算周期的变化(每月或每年)。
    • 固定费用和每单位计划的使用情况和剩余资源。 例如,如果定价计划是按单位计费,则应用程序的网站应显示已用单位和可用单位。

升级、降级和取消的帐单服务

请遵循以下升级、降级和取消指南,以维护清晰一致的帐单流程。 有关 GitHub Marketplace 购买事件的更详细说明,请参阅“在应用程序中使用 GitHub Marketplace API”。

可以使用 marketplace_purchase Webhook 的 effective_date 键来确定计划更改发生的时间并定期同步列出计划的帐户

升级

当客户升级其定价计划或将其结算周期从每月更改为每年时,您应立即使更改对他们生效。 您需要对新计划应用按比例的折扣并更改结算周期。

如果客户升级其计划但付款失败,GitHub 会将其 GitHub Marketplace 订阅还原到以前的状态。 GitHub 还会向客户发送一封电子邮件,通知他们失败的情况,并让他们重新尝试购买。 你将会收到带有 changed 操作的 Webhook,要求你还原到以前的计划。

有关在应用中生成升级和降级工作流的信息,请参阅“处理计划更改”。

降级和取消

当客户从付费计划转为免费计划、选择成本比其当前计划低的计划或将结算周期从每年更改为每月时,就会发生降级。 当降级或取消发生时,您不需要提供退款。 相反,当前计划将保持有效状态,直到当前结算周期的最后一天。 marketplace_purchase 事件将在新计划生效,即在客户的下一个结算周期开始时发送。

当客户取消计划时,您必须:

  • 自动降级到免费计划(如果有)。

    当客户取消 GitHub Marketplace 订阅时,GitHub 不会自动卸载应用程序,因此客户可以预期免费功能仍然有效。

  • 让他们能够通过 GitHub 升级计划(如果他们以后想要继续订阅计划)。

有关在应用中生成取消工作流的信息,请参阅“处理计划取消”。