使用付款服务 API 管理付款

本文介绍如何通过付款服务 API 而不是合作伙伴中心 UI 访问付款数据。 这些 API 提供了一种编程方式,用于在合作伙伴中心提供导出数据功能的功能

重要

截至 2023 年 6 月 30 日,已弃用 Azure Active Directory (Azure AD) Graph。 今后,我们在 Azure AD Graph 中没有进一步的投资。 除了与安全相关的修补程序之外,Azure AD Graph API 没有 SLA 或维护承诺。 对新特性和功能的投资将仅在 Microsoft Graph 中进行。

我们将以增量步骤停用 Azure AD Graph,以便有足够的时间将应用程序迁移到 Microsoft Graph API。 稍后我们将宣布,我们将阻止使用 Azure AD Graph 创建任何新应用程序。

若要了解详细信息,请参阅 重要说明:Azure AD Graph 停用和 Powershell 模块弃用

可用 API

请参阅合作伙伴付款中的所有可用 API

先决条件

将应用程序注册到 Microsoft 标识平台

Microsoft 标识平台有助于你构建这样的应用程序,你的用户和客户登录它们来使用其 Microsoft 标识或社交帐户,并提供对你的 API 或 Microsoft API(例如 Microsoft Graph)的授权访问

  1. 使用工作或学校帐户或个人 Microsoft 帐户登录到 Azure 门户

    如果帐户允许你访问多个租户,请选择右上角的帐户,并将门户会话设置为正确的Microsoft Entra 租户。

  2. 在左侧导航窗格中,选择Microsoft Entra 服务,然后应用注册,然后选择“新建注册”。 会显示“注册应用程序”页。

  3. 输入应用程序的注册信息:

    • 名称:输入一个有意义的应用程序名称,该名称将显示给应用的用户。
    • 支持的帐户类型:选择应用程序将支持的帐户。
    支持的帐户类型 描述
    仅此组织目录中的帐户 若要生成业务线 (LOB) 应用程序,请选择此选项。 如果不在目录中注册应用程序,则此选项不可用。 此选项映射到仅限 Microsoft Entra 的单租户。 此选项是默认选项,除非你是在目录外部注册应用。 如果应用在目录外部注册,则默认值为 entra 多租户和个人Microsoft帐户Microsoft。
    任何组织目录中的帐户 若要面向所有企业和教育客户,请选择此选项。 此选项映射到Microsoft仅限 Entra 的多租户。 如果将应用注册为Microsoft仅限 Entra 的单租户,则可以将其更新为Microsoft Entra 多租户,并通过“身份验证”边栏选项卡返回到单租户。
    任何组织目录中的帐户和个人 Microsoft 帐户 选择此选项可定位最广泛一组的客户。 此选项映射到 Microsoft Entra 多租户和个人Microsoft帐户。 如果将应用注册为 Microsoft Entra 多租户和个人Microsoft帐户,则无法在 UI 中更改此选择。 而是必须使用应用程序清单编辑器来更改支持的帐户类型。
    • (可选) 重定向 URI:选择要构建的应用类型、Web 或公共客户端(移动和桌面),然后输入应用程序的重定向 URI(或回复 URL)。 (重定向 URL 是在用户进行身份验证后发送身份验证响应的位置。

      对于 Web 应用程序,请提供应用的基 URL。 例如, http://localhost:31544 可以是本地计算机上运行的 Web 应用的 URL。 用户将使用此 URL 登录到 Web 客户端应用程序。 对于公共客户端应用程序,请提供 Microsoft Entra ID 返回令牌响应时所用的 URI。 输入特定于应用程序的值,例如 myapp://auth

  4. 选择“注册”。 Microsoft Entra ID 为应用程序分配唯一的应用程序(客户端)ID,并加载应用程序的概述页面。

  5. 如果要向应用程序添加功能,可以选择其他配置选项,包括品牌、证书和机密、API 权限等。

特定于平台的属性

下表显示了为不同类型的应用配置和复制所需的属性。 分配意味着应使用由 Microsoft Entra ID 分配的值。

应用类型 平台 应用程序(客户端)ID 客户端机密 重定向 URI/URL 隐式流
本机/移动 Native 已分配 已分配
Web 应用 Web 已分配 可选 OpenID Connect 中间件默认使用混合流(是)
单页应用(SPA) Web 已分配 是的 SPA 使用 OpenID Connect 隐式流
服务/守护程序 Web 已分配

创建服务主体

若要访问订阅中的资源,必须将角色分配给应用程序。 有关确定哪个角色为应用程序提供适当权限的帮助,请参阅 Azure 内置角色

注意

可将作用域设置为订阅、资源组或资源级别。 较低级别的作用域会继承权限。 例如,将某个应用程序添加到资源组的“读者” 角色意味着该应用程序可以读取该资源组及其包含的所有资源。

  1. 在Azure 门户中,选择要向其分配应用程序的作用域级别。 例如,若要在订阅范围内分配角色,请搜索并选择“订阅”,或选择主页上的“订阅”。

    显示“订阅”屏幕搜索的屏幕截图。

  2. 选择要向其分配应用程序的订阅。

    显示“订阅”屏幕的屏幕截图,其中“内部测试”标志设置为 true。

    注意

    如果未看到要查找的订阅,请选择全局订阅筛选器,并确保为门户选择所需的订阅。

  3. 依次选择“访问控制(IAM)”、“添加角色分配”

  4. 选择要分配到应用程序的角色。 例如,若要允许应用程序执行诸如“重新启动”、“启动”和“停止”实例之类的操作,请选择“参与者”角色。 详细了解可用角色

    默认情况下,可用选项中不显示 Microsoft Entra 应用程序。 若要查找应用程序,请搜索名称并从结果中选择它。 在下面的屏幕截图中, example-app 是已注册Microsoft Entra 应用。

  5. 选择“保存”。 然后,可以在具有该作用域角色的用户列表中查看应用程序。

    可以使用服务主体来运行脚本或应用。 若要管理服务主体的权限,请参阅用户同意状态、查看权限、查看登录信息等),在Azure 门户查看企业应用程序。

设置 API 权限

本部分提供有关如何设置所需 API 权限的说明。 有关设置合作伙伴中心 API 权限的详细信息,请参阅 合作伙伴 API 身份验证

向图形 API 授予权限

  1. 打开 Azure 门户中的应用注册

  2. 选择一个应用程序,或者 创建一个 应用(如果还没有)。

  3. 在应用程序的“概述”页上的“管理”下,选择“API 权限”,然后添加权限

  4. 从可用 API 的列表中选择“Microsoft Graph”。

  5. 选择 “委派权限 ”并添加所需的权限。 有关详细信息,请参阅 “配置应用访问”。

    显示Azure 门户中“请求权限”屏幕的屏幕截图,其中选择了Microsoft Graph。

    同意通过 Microsoft Entra 应用访问合作伙伴中心 API

  6. 对于应用程序,选择 API 权限,然后从“请求 API 权限”屏幕中选择“添加权限,然后选择组织使用的 API。

  7. 搜索Microsoft合作伙伴(Microsoft 开发人员中心)API(4990cffe-04e8-4e8b-808a-1175604b879f)。

    显示“API 权限”屏幕的屏幕截图,其中选择了Microsoft合作伙伴。

  8. 将委派的权限设置为 合作伙伴中心

    显示“请求 API 权限”屏幕中为合作伙伴中心选择的“委派权限”的屏幕截图。

  9. 授予 API 的管理员同意

    显示 API 权限屏幕上管理员许可切换的屏幕截图。

    验证管理员同意是否在“管理员同意状态”屏幕中启用。

    显示“管理员同意状态”屏幕的屏幕截图

  10. “身份验证 ”部分中,确保 “允许公共客户端流 ”选项设置为 “是”。

在 Visual Studio 中运行示例代码

演示如何在 Partner-Center-Payout-API GitHub 存储库中找到 API 用于付款和交易历史记录的示例代码。

示例代码说明

  • 身份验证中讨论的客户端机密和证书的配置:不需要在Azure 门户中创建服务主体的两个选项部分
  • 目前不支持使用多重身份验证(MFA)的帐户,并会导致错误。
  • 付款 API 仅支持基于用户/密码的凭据。