免费商品

运行机制

免费商品是一种用户无需使用虚拟货币或真实货币购买即可获得的商品类型,包括:

  • 虚拟物品
  • 捆绑包
  • 虚拟货币套餐

免费商品仅适用于授权用户。未授权用户只能查看免费商品的目录。

使用示例:

  • 可在项目的一些重要日子(如项目筹建当天)向用户送出免费商品来回馈用户忠实度。
  • 可在商店中送出新手套装来吸引新用户加入游戏。

可在用户已拥有的情况下限制特殊商品的免费发放。

适用对象

  • 适用于已有建店器并希望设置免费商品这一新商品类型的合作伙伴。
  • 适用于希望提高当前用户忠诚度或吸引新玩家的合作伙伴。

集成过程

  1. 通过以下方式之一创建免费商品:
  2. 设置商店
  3. 获取用户的订单状态

通过发布商帐户创建

创建免费商品(以虚拟物品为例):
  1. 在发布商帐户中打开您的项目,然后前往商品目录 > 虚拟物品部分。
  2. 单击 + 并在下拉菜单中选择创建物品
  3. 指定:
    • 图片
    • SKU
    • 该物品所属的一个或多个组
    • 名称
    • 描述
    • 物品属性:消耗品、非消耗品或时效性商品
  4. 价格设置区块,选择免费商品
  5. 如要限制物品对指定用户的可用性,请将限制单个用户可购买此物品的次数开关设置为,并指定次数。
  6. 如希望在商品中显示物品,请将在商店中显示物品开关设置为
  7. 单击创建物品

通过API调用创建

  1. 要创建免费商品,请使用“管理”子部分下的API调用:创建或编辑商品时,请在请求正文中传入is_free = true
  2. 如要限制商品对指定用户的可用性,请调用任意创建或编辑商品的API方法,并指定limits.per_user参数的值。

设置商店

快速购买

如用户使用快速购买(即不使用购物车),则需调用使用指定免费商品创建订单API来提供获得免费商品的机会。商品在向该方法请求成功后立即发放到用户的物品库(无需打开支付中心支付表单)。商品发放后,艾克索拉会发送一个订单成功支付Webhook。
注:
发放免费商品后,发送订单成功支付Webhook立即发生。此情况下,不发送支付Webhook。
请求示例:
Copy
Full screen
Small screen
 1{
 2  "method": "POST",
 3  "url": "https://mybestgame.com/xsolla/notification",
 4  "body": {
 5    "items": [
 6      {
 7        "sku": "gift_direct_game_reward-supercoin",
 8        "type": "virtual_currency",
 9        "is_pre_order": false,
10        "quantity": 500,
11        "amount": "0",
12        "promotions": [
13
14        ]
15      },
16      {
17        "sku": "package-500_supercoin",
18        "type": "bundle",
19        "is_pre_order": false,
20        "quantity": 1,
21        "amount": "0",
22        "promotions": [
23
24        ]
25      },
26      {
27        "sku": "xsolla-giveaway_offer_11_14_22",
28        "type": "bundle",
29        "is_pre_order": false,
30        "quantity": 1,
31        "amount": "0",
32        "promotions": [
33
34        ]
35      }
36    ],
37    "notification_type": "order_paid",
38    "order": {
39      "id": 12345678,
40      "mode": "default",
41      "currency_type": "unknown",
42      "currency": null,
43      "amount": "0",
44      "status": "paid",
45      "platform": "xsolla",
46      "comment": null,
47      "invoice_id": null,
48      "promotions": [
49
50      ]
51    },
52    "user": {
53      "external_id": "1234567812345678",
54      "email": null
55    }
56  },
57  "headers": {
58    "Authorization": "Signature 3b840ccefea111dcdfd111db1fdc6df969a3ec11",
59    "Accept": "application/json",
60    "Content-Type": "application/json"
61  },
62  "type": "webhook_payment",
63  "callback_parameters": {
64    "order_id": 12345678
65  }
66}
注:
对于免费商品,order.invoice_id参数设置为null
在响应中,您这一侧应发送一个Webhook:
  • 如您的监听器正确接受并处理了Webhook — 发送HTTP响应代码200或204.
  • 如发生了预期错误 — 发送HTTP响应代码4xx。
  • 注:
    此场景下,商品会添加到玩家的物品库,且订单在艾克索拉侧标记为成功。
  • 您的监听器也可能返回5xx HTTP响应代码,表示您的服务器上发生了暂时性错误。此情况下,艾克索拉警报服务将使用重试机制

购物车下单

如用户使用购物车下单

Webhook示例与快速购买的示例类似。

本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
上次更新时间: 2025年7月18日

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

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!
无法发送您的反馈
请稍后重试或发送邮件至doc_feedback@xsolla.com与我们联系。