应用内购买

Microsoft Teams 提供可用于实现应用内购买的 API,以从免费升级到付费 Teams 应用。 应用内购买允许直接从应用将用户从免费计划转换为付费计划。

应用内购买允许用户购买新的付费订阅,并且它不允许用户使用现有付费订阅购买其他或不同的许可证。 若要在计划之间切换,必须先取消现有用户订阅,然后才能通过应用内购买购买新订阅。

注意

应用内购买仅在 个人应用上下文中受支持。

实现应用内购买

如果要向应用的用户提供应用内购买体验,请确保满足以下要求:

可以通过更新 manifest.json 文件或通过从 开发人员门户权限 部分启用 显示应用内购买产品/服务 来启用应用内购买体验。

更新清单

要启用应用内购买体验,请通过添加 RSC 权限来更新 Teams 应用 manifest.json 文件。 通过此操作,应用的用户可以升级到应用的付费版本并开始使用新功能。 应用清单的更新如下所示:


"authorization": {
    "permissions": {
        "resourceSpecific": [
            {
                "name": "InAppPurchase.Allow.User",
                "type": "Delegated"
            }
        ]
    }
}

购买体验 API

如果要触发应用的应用内购买,请从 Web 应用调用 openPurchaseExperience API。

以下代码片段是从使用 Microsoft Teams JavaScript 客户端库生成的 Teams 应用调用 API 的示例:


<div> 
<div class="sectionTitle">openPurchaseExperience</div>
<button onclick="openPurchaseExperience()">openPurchaseExperience</button>
</div>
</body>
<script>
   function openPurchaseExperience()
      microsoftTeams.initialize();
      let callbackcalled = false;
      microsoftTeams.monetization.openPurchaseExperience((e) => {
            console.log("callback is being called");
            console.log(e);
            if (!!e && typeof e !== "string") {
                  alert(JSON.stringify(e));
              }
              return;
            });
      console.log("after callback: ",callbackcalled);
    }
</script>

后续步骤