向用户发放购买物

使用来自艾克索拉的交易状态信息在应用程序中实现向用户发放购买物。可通过以下方式获取该信息:

通过API请求信息

您可以从艾克索拉侧的玩家物品库中获取用户所购虚拟物品、虚拟货币或捆绑包的信息。发放购买物时,如果要同时考虑通过Web商店购买的商品和通过其他方式购买的商品,请同步应用程序侧和艾克索拉侧的玩家物品库信息。

用于管理物品库的API调用包括以下几组:

Note
服务器侧方法使用基本HTTP认证

Note
客户端侧调用使用服务器OAuth 2.0认证

基本HTTP认证

请求必须包含Authorization: Basic <your_authorization_basic_key>头,其中<your_authorization_basic_key>是按照Base64标准加密的merchant_id:api_key。您可以在发布商帐户中找到参数值:

  • 要查找merchant_id,请前往项目设置 > Webhooks > 商户ID部分。
  • 要查找api_key,请前往公司设置 > API密钥部分。

服务器OAuth 2.0认证

请求必须包含Authorization: Bearer <user_JWT>头,其中<user_JWT>是用户JWT。

要获取用户JWT,请按照以下步骤进行操作:

  1. 创建一个服务器OAuth 2.0客户端:
    1. 发布商帐户中打开您的项目。前往登录管理器 > 您的登录管理器项目,然后单击配置
    2. 安全性区块,单击OAuth 2.0
    3. 单击添加OAuth 2.0并指定:
      • 客户端名称。
      • OAuth 2.0重定向URI(必填)。
      • 认证类型 — 服务器。
      • 项目ID。
    4. 单击连接。后续集成步骤需用到生成的客户端ID和密钥。

  1. 获取服务器JWT。方法是,调用生成JWT API方法并传入以下参数:
    • grant_type — JWT类型。指定client_credentials值。
    • client_secret — 服务器OAuth 2.0客户端密钥。
    • client_id — 服务器OAuth 2.0客户端ID。

Note
服务器JWT有效期是59分钟。

  1. 获取用户JWT。方法是,调用通过自定义ID进行认证API方法。请求必须包含X-Server-Authorization: <server_JWT>头,其中<server_JWT>是在步骤2中获取的服务器JWT。

通过Webhook接收信息

  1. 配置接收Webhook的参数:
    1. 发布商帐户中打开您的项目。
    2. 在侧边栏中单击项目设置
    3. 前往Webhooks部分。
    4. Webhooks开关设置为
    5. Webhook URL字段中指定接收Webhook的URL。
    6. 默认会生成一个给项目Webhook签名的密钥。如要生成一个新密钥,请单击刷新图标。
    7. 单击保存设置

  1. 在应用程序中实现对以下类型Webhook的处理:

要确认已收到Webhook,您的服务器必须作出如下响应:

  • 不带消息正文的HTTP代码204。
  • 描述问题的HTTP代码400(如果指定用户未找到或传入的签名无效)。

可在发布商帐户项目设置 > Webhooks > 商店部分测试用户验证付款Webhook。

在缺少真实值的情况下,可输入任意值。

您还可以测试在沙盒实时模式下进行购买时的Webhook。退款测试只支持实时模式。

您的进度
感谢您的反馈!
上次更新时间: 2022年5月6日

发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!