支付中心

艾克索拉支付中心 通过为玩家提供便捷的支付UI以在游戏商店中购买商品,从而让合作伙伴获得产品营收。主要功能:

  • 提供200多个地区的700多种付款方式,包括银行卡、电子钱包、移动支付、自助现金终端机、礼品卡、特别奖励以及加密货币等
  • 130多种货币
  • 20多种语言的本地化UI
  • 桌面/移动浏览器和智能电视版本
  • 支持在结算付款价格时将促销、优惠券、扣税以及支付方式佣金等计算在内
  • 通过PayRank算法自动向用户推荐高度相关的付款方式
  • 防欺诈
  • 可通过艾克索拉发布商帐户进行管理,例如:配置直接帐户、重新排序付款方式、查看交易历史记录和统计数据、对账、导出报告、查看支持工单、取消付款等。

Note: 如果已集成商店,则无需再单独集成支付中心,它将自动启用。

运行机制

步骤1

步骤2

步骤3

词汇表

PayRank

PayRank 是一个根据付款方式与用户的相关度对付款方式进行排序的算法。它会将多个参数纳入考虑,例如位置、付款历史、付款金额等。生成支付中心支付UI中的常用及所有付款方式列表时会使用该算法。您可在发布商帐户中灵活配置PayRank。

直接帐户

直接帐户允许您直接从支付中心界面提供的各支付系统接收付款。如果您希望从您自行选择的支付系统接收直接付款,可选择此模式。在此模式下,界面不会改变,但艾克索拉只作为技术服务提供商提供此服务并收取一笔极低的收入分成。

要在支付中心界面中显示直接帐户,需先在您的发布商帐户中进行配置并签署协议。

任务邀请

任务邀请 允许您通过提供特别奖励来提高用户忠诚度,这些奖励在支付UI中显示为小组件。该小组件鼓励用户通过完成特定任务(如完成注册、问卷、购买等)获得奖励,该奖励将计入其艾克索拉余额。

礼品卡

礼品卡 是商店提供的折扣卡,允许用户通过支付UI中的一个小组件来购买游戏内容。如果购买金额小于礼品卡的面值,则剩余金额将计入用户的艾克索拉余额中。

用户流程

集成过程

要启用支付中心,请执行以下操作:

  1. 注册艾克索拉发布商帐户
  2. 创建项目。
  3. 获取令牌。
  4. 设置支付UI的打开方式。
  5. 设置Webhook处理。

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

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

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

创建项目

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

获取令牌

需要令牌才能与支付UI集成。访问令牌是一个识别游戏、用户和购买参数的字符串。

艾克索拉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')
    ->setPurchase(9.99, 'USD');

$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"
    },
    "purchase": {
            "checkout": {
                "amount": 9.99,
                "currency": "USD"
            }
    }
}'

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

测试支付流程

要测试付款过程,可:

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

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

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

  1. 以沙盒模式打开支付UI
  2. 选择 信用卡/借记卡 付款方式组。
  3. 输入银行卡详细信息。在其余字段中输入任意值。您也可以指定不正确的细节(卡号、到期日、或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

有三种打开支付UI的方法:

Note: 要以沙盒模式打开支付UI,请使用下列URL:https://sandbox-secure.xsolla.com

嵌入式支付中心

嵌入式支付中心脚本将确定设备类型,并以灯箱模式(桌面屏幕)或在新窗口中(手机或平板电脑屏幕)中打开支付UI。我们推荐使用异步脚本加载。

示例:异步脚本加载

<script>
   var options = {
       access_token: 'ACCESS_TOKEN', //TODO use access token, received on previous step
       sandbox: true //TODO please do not forget to remove this setting when going live
   };
   var s = document.createElement('script');
   s.type = "text/javascript";
   s.async = true;
   s.src = "https://static.xsolla.com/embed/paystation/1.0.7/widget.min.js";
   s.addEventListener('load', function (e) {
       XPayStationWidget.init(options);
   }, false);
   var head = document.getElementsByTagName('head')[0];
   head.appendChild(s);
</script>

<button data-xpaystation-widget-open>Buy Credits</button>

您可在API参考中找到脚本初始化参数的完整列表。

新建窗口

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

Iframe

如要在iframe中打开支付UI,则必须在您的代码侧实现以下机制:

  • 检查设备类型(桌面或移动设备) 并将其包含在令牌的 settings.ui.version 参数中发送
  • 通过 postMessage从支付UI接收事件

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

设置Webhook

需为 支付中心 实现以下Webhook:

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

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

Note: 完成Webhook设置后,请打开支付中心设置,并将 结账 设置为

高级诀窍

以下高级诀窍可帮助您使用支付中心的一些高级功能: