Buy Button

Buy Button是一款数字商品销售综合解决方案。

Note: 如已在使用艾克索拉产品并希望将其与Buy Button集成,请联系您的帐户经理。

运行机制

步骤1

步骤2

步骤3

用户流程

集成过程

要集成Buy Button,请执行以下操作:

  1. 注册艾克索拉发布商帐户。
  2. 创建项目。
  3. 选择营收方案。
  4. 选择商品销售方案。

Note: 本指南介绍快速使用本解决方案所需的最低设置。如有任何问题,请联系您的帐户经理。

创建项目

  1. 转到 项目 ,然后单击 创建新项目
  2. 在设置模式下:
    1. 指定webhook URL。
    2. 生成用于项目webhook签名的密钥。

营收方案

虚拟货币

虚拟货币 功能选项允许游戏开发者销售游戏货币。主要功能包括:

  • 销售游戏货币套餐
  • 进行推广活动
  • 管理游戏货币用户余额
  • 自动检测用户的币种和国家/地区

设置

  1. 打开“虚拟货币”设置,然后配置以下参数:
    • 名称
    • 单价
    • 图像
  2. 根据需求创建虚拟货币套餐,并设置以下参数:
    • 价格
    • 图像
  3. 在商店中打开套餐显示。

设置Webhook

需为 虚拟货币 实现以下Webhook:

通过发送不带消息正文的HTTP代码204来确认收到Webhook。关于Webhook的详细信息及示例,请参阅API参考

如要测试Webhook处理程序,请打开 项目设置 > Webhook 部分。

高级诀窍

以下高级诀窍可帮助您使用 虚拟货币 的一些高级功能:

虚拟物品

虚拟物品 功能选项支持以真实或虚拟货币为计价形式来销售游戏内容。主要功能包括:

  • 以真实或虚拟货币的形式设置价格
  • 设置包含一个或多个层级的目录
  • 管理内容访问权限。例如,您可以设置某个物品只允许达到一定等级的用户购买。
  • 配置物品显示的简短描述和详细描述
  • 进行推广活动
  • 管理游戏货币用户余额
  • 自动检测用户的币种和国家/地区

设置

  1. 打开“虚拟物品”设置。
  2. 填写商店目录:
    1. 创建物品组
    2. 创建物品并指定以下字段:
      • 该物品所属的一个或多个组
      • SKU
      • 名称和简短描述
      • 以真实货币和虚拟货币表示的价格
      • 图像
  3. 在商店中打开组显示。

设置Webhook

需为 虚拟物品 实现以下Webhook:

通过发送不带消息正文的HTTP代码204来确认收到Webhook。关于Webhook的详细信息及示例,请参阅API参考

如要测试Webhook处理程序,请打开 项目设置 > Webhook 部分。

高级诀窍

以下高级诀窍可帮助您使用 虚拟物品 的一些高级功能:

游戏密钥

游戏密钥 功能选项允许游戏开发者直接从游戏网站销售密钥和分发包。用户可使用游戏密钥小组件来访问商店。主要功能包括:

  • 选择进行密钥和程序包分发的DRM平台
  • 为各DRM平台选择操作系统/游戏控制台版本
  • 针对不同DRM平台设置不同价格
  • 配置小组件大小和颜色主题
  • 支持向开发者打赏
  • 预订

可选择使用基本模式或高级模式来集成该功能选项。

基本集成

基本集成:

  • 可快速实现;
  • 无需生成令牌或服务器实现;且
  • 适用于不要求用户预先授权的游戏。

您需要提供 项目ID 参数以进行集成。该参数可在 项目设置 > Webhook 中找到。

设置模块:

  1. 项目设置 > 集成设置中打开无令牌集成
  2. 项目设置 > Webhook中关闭Webhook。
  3. 前往游戏密钥设置,然后单击新建套餐
  4. 配置套餐参数:
    • SKU — 唯一标识符
    • 游戏标题
    • 游戏的简短介绍
  5. 选择DRM和游戏平台。
  6. 为所选DRM配置价格。
  7. 为所选DRM上传密钥。
  8. 实现指向着陆页的小组件代码。

可在通过小组件销售部分找到基本集成小组件参数的完整列表。

高级集成

高级集成:

  • 支持安全传输用户和订单数据以便在游戏侧进行进一步链接
  • 需要设置服务器侧实现:令牌生成Webhook

您需要提供以下参数来进行集成:

  • 商户ID ,该参数在 项目设置 > Webhook 中显示
  • API 密钥 。该参数在 公司设置 > API密钥 中生成
  • 项目ID ,该参数在 项目设置 > Webhook 中显示
  • 密钥 。该参数在 项目设置 > Webhook 中生成

设置模块:

  1. 打开 游戏密钥 ,然后单击 新建套餐
  2. 配置套餐参数:
    • SKU — 唯一标识符
    • 游戏标题
    • 游戏的简短介绍
  3. 选择DRM和游戏平台。
  4. 为所选DRM平台配置价格。
  5. 为所选DRM平台上传密钥。
  6. 实现指向着陆页的小组件代码。

您可在API参考中找到高级集成小组件参数的完整列表。

设置Webhook

需为 游戏密钥 高级集成实现以下Webhook:

通过发送不带消息正文的HTTP代码204来确认收到Webhook。关于Webhook的详细信息及示例,请参阅API参考

如要测试Webhook处理程序,请打开 项目设置 > Webhook 部分。

高级诀窍

以下高级诀窍可帮助您使用游戏密钥的一些高级功能:

销售商品

您可以通过直接链接小组件商店UI销售商品。

直接链接用于在新窗口或网站的iframe中打开支付UI。示例:放置一个可点击的横幅以通过支付UI购买网站上的商品。

销售游戏访问权限虚拟物品虚拟货币的链接设置并不相同。

销售游戏访问权限

基本集成

进行游戏销售的基本集成时,以下链接用于打开支付UI:

https://store.xsolla.com/pages/buy.php?type=digital_content&project_id={YOU_PROJECT_ID}&sku={YOUR-ITEM-SKU}&drm=steam

将以下数据添加至链接:

  • 您在发布商帐户中的项目ID(项目 – 项目设置 – 常规设置 – 项目ID
  • 商品SKU

其他设置:

使用以下URL进行测试:
https://store.xsolla.com/pages/buy.php?type=digital_content&project_id={YOU_PROJECT_ID}&sku={YOUR-ITEM-SKU}&mode=sandbox

高级集成

进行游戏销售的高级集成时,以下链接用于打开支付UI:

https://store.xsolla.com/pages/buy.php?type=digital_content&project_id={YOUR_PROJECT_ID}&sku={YOUR_ITEM_SKU}&{TOKEN_TYPE}=ACCESS_TOKEN
将以下数据添加至链接:
  • YOUR_PROJECT_ID – 您在发布商帐户中的项目ID(项目 – 项目设置 – 常规设置 – 项目ID
  • YOUR_ITEM_SKU – 商品SKU
  • TOKEN_TYPE – 令牌类型:如果是艾克索拉登录管理器JWT令牌,使用xsolla_login_token;如果是支付中心访问令牌,使用access_token
  • ACCESS_TOKEN – 基于认证类型生成的令牌

使用以下URL进行测试:

https://store.xsolla.com/pages/buy.php?access_token=ACCESS_TOKEN&mode=sandbox

销售虚拟物品和虚拟货币

以下链接用于在销售虚拟物品和虚拟货币时打开支付UI:
https://store.xsolla.com/pages/buy.php?type={ITEM_TYPE}&project_id={YOUR_PROJECT_ID}&sku={YOUR_ITEM_SKU}&{TOKEN_TYPE}={ACCESS_TOKEN}

将以下数据添加至链接:

  • 商品类型:
    • 虚拟物品 – virtual_item
    • 虚拟货币 – bundle
  • YOUR_PROJECT_ID – 您在发布商帐户中的项目ID(项目 – 项目设置 – 常规设置 – 项目ID
  • YOUR_ITEM_SKU – 商品SKU
  • TOKEN_TYPE – 令牌类型:如果是艾克索拉 登录管理器 JWT,使用xsolla_login_token;如果是支付中心访问令牌,使用access_token
  • ACCESS_TOKEN – 包含购买数据的令牌
使用以下URL进行测试:
https://store.xsolla.com/pages/buy.php?type={ITEM_TYPE}&project_id={YOUR_PROJECT_ID}&sku={YOUR_ITEM_SKU}&{TOKEN_TYPE}={ACCESS_TOKEN}&mode=sandbox
要创建令牌:
  1. 获取认证令牌以创建购买订单。
  2. 创建订单。用于打开支付UI的令牌会传入响应中。

通过小组件销售

小组件是一个可在网站上实现的用于销售商品的脚本。您可在演示页面上查看小组件的示例。

Info: 小组件设置取决于项目的集成类型。集成设置在项目设置 > 集成设置中访问。

小组件的实现代码:

<script>
    var options = {
        project_id: "YOUR-PROJECT-ID",
        item_type: "YOUR-ITEM-TYPE",
        sku: "YOUR-ITEM-SKU",
        widget_ui: {
            target_element: '#widget-example-element'
        }
    };
    var s = document.createElement('script');
    s.type = "text/javascript";
    s.async = true;
    s.src = "//cdn.xsolla.net/embed/pay2play/3.0.0/widget.min.js";
    s.addEventListener('load', function (e) {
        var widgetInstance = XPay2PlayWidget.create(options);
    }, false);
    var head = document.getElementsByTagName('head')[0];
    head.appendChild(s);
</script>
将以下数据添加至上述代码:
  • YOUR-PROJECT-ID – 您在发布商帐户中的项目ID(项目 – 项目设置 – 常规设置 – 项目ID
  • YOUR-ITEM-TYPE – 商品类型:
    • 游戏 – digital_content(使用旧管理方法的项目)或game_key(使用新管理方法的项目)
    • 实体商品 – physical_good
    • 虚拟物品 – virtual_item
    • 虚拟货币 – virtual_currency
  • YOUR-ITEM-SKU – 商品SKU。如果项目使用新商店管理方法且您在其中销售游戏密钥,请以YOUR-ITEM-SKU_DRM的格式添加DRM
关于小组件配置的详细信息,请访问我们的GitHub

通过商店UI销售

要通过商店UI销售虚拟物品和虚拟货币,可实现一个独立的web应用程序或实现一个游戏内商店UI。应使用Store API或在演示版本的基础上创建自己的商店来获取商品列表并进行处理。

基于Store API

您可通过集成Store API方法创建商店的前端部分:
  1. 获取商品列表。
  2. 购买商品:
    • 快速购买一个商品。用于打开支付UI的令牌会传入响应中。
    • 购买多个商品:
      • 将商品添加至购物车
      • 获取购物车中的商品列表
      • 支付购物车中的商品。用于打开支付UI的令牌会传入响应中
选择合适的认证方式以便方法正常工作。

基于演示版本

可使用商店演示版本检查API功能。该代码已上传至GitHub。您可以以它为基础创建自己的版本。

认证设置

已认证和未认证的用户均可进行购买。

未认证的用户

用户可以在未认证身份的状态下购买游戏和实体商品。

对于游戏销售,使用基本集成中的购买方案。

对于实体商品销售,调用Store API方法时,需在标题中传入x-unauthorized-id用户标识符。可在前端侧将标识符生成为一个数字或字符串。生成标识符的库示例

已认证的用户

用户认证有如下几种方式:
  1. 如集成了艾克索拉登录管理器,则请求通过艾克索拉登录管理器JWT令牌进行认证。
  2. 如使用自己的认证系统,则请求通过支付中心访问令牌进行认证。

设置通过艾克索拉登录管理器进行的认证

  1. 按照说明在发布商帐户中设置一个项目。
  2. 实现认证方法回调:基于JSON Web Token或基于OAuth 2.0协议。
如果用户数据保存在艾克索拉存储中,请实现以下方法:如果用户数据保存在PlayFab数据库中,请参考适用于PlayFab存储的高级诀窍。 如果用户数据保存在自定义存储中,请参考适用于自定义存储的高级诀窍。

设置通过支付中心访问令牌进行的认证

认证过程:
  1. 客户端发送认证请求至您的服务器。
  2. 您的服务器向艾克索拉服务器传入Merchant IDAPI key并请求access_token
  3. 艾克索拉服务器发送access_token至您的服务器。
  4. 您的服务器发送access_token至客户端。
返回的access_token用作认证令牌,以认证游戏客户端发送的请求。

促销选项

优惠券

优惠券功能允许合作伙伴创建优惠券活动,优惠码可由合作伙伴上传或在发布商帐户中生成。用户通过优惠券可获得虚拟货币、虚拟物品或订阅计划的试用权限。您可自定义优惠券兑换数量及有效期(如有)。

请参阅高级诀窍

标签

标签功能允许合作伙伴为虚拟物品及虚拟货币套餐促销添加标签。例如,"Best Value"。

请参阅高级诀窍

奖励

奖励功能支持在用户购买后对其发放奖励。奖励可以是以下任意内容:

  • 虚拟货币
  • 订阅的试用权限
  • 虚拟物品
  • 游戏
  • 实体商品(如游戏周边)

请参阅高级诀窍

高级诀窍

以下高级诀窍可帮助您使用Buy Button的一些高级功能:

教程