商店

商店是一款为合作伙伴提供的综合电子商店解决方案,其支持:

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

运行机制

步骤1

步骤2

步骤3

用户流程

集成过程

要集成商店,请执行以下操作:

  1. 注册艾克索拉发布商帐户。
  2. 创建项目。
  3. 选择营收方案。
  4. 获取令牌。
  5. 配置商店打开过程。
  6. 自定义商店参数。

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 部分。

高级诀窍

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

订阅

订阅解决方案允许用户在指定条件下获取对某个服务套餐的访问权限。主要功能:

  • 定义产品 – 在某个订阅下对用户提供的服务套餐。
  • 定义计划(订阅条件)。可为每种货币创建并配置计划、设置试用期、配置宽限期、查看订阅用户及更改特定用户的订阅状态。
  • 允许用户通过仪表板管理其订阅。其可查看详细订阅信息及付款历史、更改计划、以及暂停/续订/取消订阅。
  • 在发布商帐户中管理用户订阅:为每种货币创建并配置计划、设置试用期、配置宽限期、查看订阅用户及更改特定用户的订阅状态。
  • 启用通过保存的付款帐户自动续订。
  • 手动续订计划。

订阅状态

一个订阅应处于以下状态之一:

  • 活动。 主要状态。订阅会在首次成功付款后创建并激活。只有活动订阅才可能进行未来扣款。

Notice: 不能使用API手动创建订阅——订阅只能在购买时自动创建。

  • 已取消 。订阅已由于以下原因之一被立即取消:
    • 通过API方法或在艾克索拉发布商帐户中更改了状态。
    • 已被用户取消。
    • 已到期(如果参数中设置了到期日)。
    • 超过最大扣款尝试次数。默认为三次,如需更改默认值,请联系帐户经理。
    • 无法在游戏中找到该用户。
    • 用户帐户已删除。

Note: 如果取消订阅,可针对上一笔付款发起退款。该选项对合作伙伴和用户均可用。

  • 未续订 。已取消续订。状态更改为“已取消”前,订阅将持续到当前付款周期结束。以下任一原因均可导致续订被取消:
    • 通过API方法或在发布商帐户中更改了状态。
    • 用户通过邮件链接进行了取消。
    • 用户帐户已删除。

设置

  1. 打开“订阅”设置。
  2. 指定以下参数:
    • 名称
    • 账单周期

Note: 一个计划只能使用一种货币。您必须为每种项目货币创建单独的计划。

设置Webhook

需为 订阅 实现以下Webhook:

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

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

高级诀窍

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

游戏密钥

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

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

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

基本集成

基本集成:

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

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

设置模块:

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

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

高级集成

高级集成:

  • 支持安全传输用户和订单数据以便在游戏侧进行进一步链接
  • 需要设置服务器侧实现:令牌生成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 部分。

高级诀窍

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

获取令牌

需要令牌才能与商店集成。令牌是一个包含游戏/用户数据和支付设置的字符串。

艾克索拉API使用基本HTTP认证。请指定您的商户ID作为用户名,API密钥作为密码。

获取令牌的URL:

https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token

请求令牌

可通过包含要向商店UI传递的参数来更改HTTP POST请求。请求和响应均为JSON格式。

以下为通过艾克索拉PHP SDK获得PHP令牌的范例代码。如使用其他编程语言,请单击CURL选项卡查看 CURL 示例。

Copy
Full screen
  • php
  • curl
<?php

use Xsolla\SDK\API\XsollaClient;
use Xsolla\SDK\API\PaymentUI\TokenRequest;

$tokenRequest = new TokenRequest($projectId, $userId);
$tokenRequest->setUserEmail('email@example.com')
    ->setExternalPaymentId('12345')
    ->setSandboxMode(true)
    ->setUserName('USER_NAME');

$xsollaClient = XsollaClient::factory(array(
    'merchant_id' => MERCHANT_ID,
    'api_key' => API_KEY
));
$token = $xsollaClient->createPaymentUITokenFromRequest($tokenRequest);
curl -v https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token \
-X POST \
-u your_merchant_id:merchant_api_key \
-H 'Content-Type:application/json' \
-H 'Accept: application/json' \
-d '
{
    "user": {
        "id": {
            "value": "1234567"
        },
        "email": {
            "value": "email@example.com"
        }
    },
    "settings": {
        "project_id": 14004,
        "mode": "sandbox"
    }
}'

您可以在API参考中找到参数的完整列表。

测试支付流程

要测试付款过程,可:

  • 使用沙盒
  • 进行真实付款,然后通过发布商帐户发起退款

艾克索拉 沙盒是一个独立环境,支持除真实付款外实时环境的所有功能。获得令牌后,您可以通过发送 “mode”:“sandbox” 来访问沙盒。

要测试银行卡支付,请执行以下操作:

  1. 在沙盒模式中打开商店
  2. 选择要购买的物品。
  3. 选择 信用卡/借记卡 付款方式组。
  4. 输入银行卡详细信息。在其余字段中输入任意值。您也可以指定不正确的细节(卡号、到期日、或CVV)以生成错误。

用于测试的银行卡列表

Note: 沙盒模式下的银行卡付款支持以下货币:USD、EUR、RUB、GBP、AED、ALL、AMD、ARS、AUD、AZN、BGN、BRL、BYN、CAD、CHF、CLP、CNY、COP、CZK、DKK、DZD、EGP、GEL、HKD、HRK、HUF、IDR、ILS、INR、ISK、JPY、KES、KGS、KRW、KZT、MAD、MDL、MKD、MNT、MXN、MYR、NGN、PEN、PHP、PKR、PLN、RON、RSD、SAR、SEK、SGD、THB、TRY、TWD、UAH、UYU、UZS、VEF、VND、ZAR。
Notice: 要开始接收真实付款,请先删除“mode”:“sandbox”

如要通过进行真实付款来测试付款过程,同样建议使用银行卡:

  1. 打开支付UI
  2. 选择信用卡/借记卡付款方式组。
  3. 输入有效的银行卡详细信息。
  4. 付款完成后,前往发布商帐户中的交易搜索部分。
  5. 选择该测试交易,然后单击退款(交易状态必须为已完成)。

Note: 建议使用Visa和MasterCard卡来测试付款过程。

打开商店

如要在新窗口中打开支付UI,请使用下列链接:https://secure.xsolla.com/paystation2/?access_token=ACCESS_TOKEN,其中 ACCESS_TOKEN 是在上一步中获得的令牌。对于测试,请使用此URL:https://sandbox-secure.xsolla.com/paystation2/?access_token=ACCESS_TOKEN

自定义商店

自定义操作在艾克索拉侧执行。商店支持自定义UI元素的以下参数:

  • 屏幕上显示的位置
  • 大小
  • 形状
  • 样式
  • 字体
  • 背景

如要自定义商店,请将您的UI素材包或设计资料发送给帐户经理。

促销选项

优惠券

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

请参阅高级诀窍

标签

标签功能允许合作伙伴为虚拟物品及虚拟货币套餐促销添加标签。例如,“超值优惠”。

请参阅高级诀窍

奖励

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

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

请参阅高级诀窍

高级诀窍

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