好友赠礼

运行机制

好友赠礼功能允许用户用真实货币购买虚拟货币、虚拟物品或游戏访问密钥以作为礼物送给游戏中的好友。成功付款后,送礼人将收到付款凭证,而收礼人将收到包含礼物详细信息的电子邮件。送礼人可选择隐藏身份,匿名送出礼物。

该功能有多个集成选项,允许游戏项目支持以下内容的赠礼功能:

  • 虚拟货币套餐
  • 虚拟物品
  • 游戏密钥

Note: 该功能选项仅适用于禁用了艾克索拉侧用户数据存储的项目。

使用者

集成了商店并启用了 虚拟物品 / 虚拟货币 / 游戏密钥 模块的合作伙伴。

如何获取

要启用该功能,请执行以下操作:

  1. 配置虚拟货币虚拟物品 和/或 游戏密钥
  2. 实现获取好友API方法并将好友对象添加到令牌请求中。
  3. 实现包含礼物数据的成功付款Webhook处理
  4. 联系帐户经理启用该功能选项。

通过令牌发送好友列表

如有需要,可将用户好友数组添加到请求中。如果数组只包含一个元素,则自动将该好友视为收礼人。一个令牌请求中最多可发送100位好友。此外,也可将礼物数据包含在请求中。

请求示例

"purchase":{
   "virtual_currency":{
       "quantity":100
   },
   "description":{
       "value":"Test Purchase"
   },
   "gift":{
       "giver_id":"John Smith",
       "message":"GG WP",
       "hide_giver_from_receiver" : true,
       "friends": [
       {
        "id": "123",
        "name": "captain",
        "email": "captain@ship.com"
       }]
   }
}

通过API请求发送好友列表

艾克索拉将向项目中设置的Webhook URL发送好友列表请求。

创建签名

要创建电子签名,请执行以下操作:

  1. 将从艾克索拉收到的参数按字母顺序排列。
  2. 在一个字符串中串联参数值和密钥(在项目设置页面中生成)。
  3. 使用SHA1算法对字符串进行散列。
  4. 将签名包含在sign参数中发送。

Note: 处理API请求时,请确保收到的签名与sign参数中发送的签名一致。

获取好友列表

请求示例

$ curl -v 'https://your.webhook.url?notification_type=friends_list&user=user_id&query=frien&offset=10&limit=20&sign=12dfg3f5gdsf4g5s6dfg2sdg1' \
-X GET \
-u merchant_id:merchant_api_key

响应范例

[
  {
  "friends": [
      {
        "id": "1",
        "name": "John Carter",
        "email": "carter@xsolla.com",
        "image_url": "https://partner/link/doctor.jpg"
      },
      {
        "id": "2",
        "name": "John Smith",
        "email": "smith@xsolla.com",
        "image_url": "https://partner/link/cook.jpg"
      }
    ],
  "total": 10
  }
]