应用内购买是升级选项,用户可以在应用中从免费计划升级到付费计划。 Microsoft Teams 提供用于实现应用内购买的 API。 仅当应用启用了可交易的 SaaS 产品/服务时,应用内购买选项才适用。
用户可以通过应用内购买购买新的付费订阅。 但是,他们不能使用现有付费订阅购买其他或不同的许可证。 若要更改计划,用户必须先取消其当前订阅,然后才能通过应用内购买获取新计划。
注意
应用内购买仅在 个人应用上下文中受支持。
实现应用内购买
若要为应用用户提供应用内购买体验,请确保满足以下先决条件:
- 应用是使用 Microsoft Teams JavaScript 客户端库 (TeamsJS) 生成的。 
- 应用使用可交易的 SaaS 产品/服务启用。 
- 应用已启用 RSC 权限。 
- 使用 API 调用 - openPurchaseExperience应用。
激活应用内购买
可以通过以下方法之一激活应用内购买体验:
从开发人员门户更新
- 在 Teams 开发人员门户中,转到 “权限”。
- 启用 “显示应用内购买产品/服务”。
更新清单
若要启用应用内购买体验,请通过添加 RSC 权限来更新 Teams 应用manifest.json文件。 它允许应用用户升级到应用的付费版本并访问新功能。 更新应用清单,如以下代码片段中所示:
    
    "authorization": {
        "permissions": {
            "resourceSpecific": [
                {
                    "name": "InAppPurchase.Allow.User",
                    "type": "Delegated"
                }
            ]
        }
    }
购买体验 API
如果要触发应用的应用内购买,请从 Web 应用调用 openPurchaseExperience API。 以下代码片段是从使用 TeamsJS 生成的 Teams 应用调用 API 的示例:
<div>
<div class="sectionTitle">openPurchaseExperience</div>
<button onclick="openPurchaseExperience()">openPurchaseExperience</button>
</div>
</body>
<script>
    function openPurchaseExperience() {
      micorosftTeams.app.initialize();
      var planInfo = {
          planId: "<Plan id>", // Plan Id of the published SAAS Offer
          term: "<Plan Term>" // Term of the plan.
      }
      monetization.openPurchaseExperience(planInfo);
    }
</script>