跳转到内容

概述

  • 版本: 2.0.0
  • 服务器https://store.xsolla.com/api
  • 通过邮件联系我们
  • 联系URL: https://xsolla.com/
  • 必需的TLS版本: 1.2

商品目录API支持在艾克索拉侧配置游戏内商品目录,并在您的商店中向用户展示目录内容。

通过该API可管理以下目录实体:

  • 虚拟物品 — 游戏内物品,例如武器、皮肤、增益道具。
  • 虚拟货币 — 用于购买虚拟商品的虚拟货币。
  • 虚拟货币套餐 — 预定义的虚拟货币捆绑包。
  • 捆绑包 — 虚拟物品、货币或游戏激活码的组合套餐,以单个SKU形式出售。
  • 游戏密钥 — 适用于Steam等平台或其他DRM提供商分发的游戏和DLC激活码。
  • — 用于在目录中组织和排序商品的逻辑分组。

API调用

API分为以下组别:

  • Admin — 用于创建、更新、删除和配置目录商品及分组的调用。通过基本认证方式验证身份,需使用您的商户或项目凭据。不适用于商店前端调用。
  • Catalog — 用于检索商品并构建面向最终用户的自定义商店前端。专为高负载场景设计。支持可选的用户JWT授权,可返回个性化数据,例如用户特定限制和当前进行中的促销活动。
下载 OpenAPI 描述
语言
服务器
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/zh/api/catalog/
操作
操作
操作
操作
操作
操作
操作
操作
操作
操作
操作
操作

为购买创建支付令牌Server-side

请求

为其生成订单和支付令牌。订单根据请求正文中传递的商品生成。

要在新窗口中打开支付UI,请使用以下链接:https://secure.xsolla.com/paystation4/?token={token},其中{token}是收到的令牌。

如仅进行测试,请使用此URL:https://sandbox-secure.xsolla.com/paystation4/?token={token}

注意

user.country.value参数用于选择订单的货币。如果用户的国家/地区未知, 请在X-User-Ip头中提供用户的IP作为替代方案。
必须至少提供两者中的一个此方法才能正常工作。
所选货币用于支付中心中的付款方式。
安全
basicAuth
路径
project_idinteger必需

项目ID。您可以在您的发布商帐户项目名称旁边找到。

示例: 44056
正文application/json
custom_parametersobject or null(Cart-Payment_custom_parameters_token)[ 1 .. 200 ] properties

自定义参数的形式是一组有效的JSON键值对。
您可以通过此字段传入补充参数来配置反欺诈筛选条件。 请参阅支付中心文档

示例: {"custom_parameters":{"bool_param":true,"int_param":100,"null_param":null,"number_param":12.5,"string_param":"example"}}
promo_codestring(Promotions_coupon_code)[ 1 .. 128 ] characters^[a-zA-Z0-9]+$

区分大小写的唯一券码。包含字母和数字。

默认值 "WINTER2021"
示例: "WINTER2021"
purchaseobject(Cart_admin_payment)必需
purchase.​itemsArray of objectsnon-empty必需
purchase.​items[].​quantitynumber>= 1必需

商品的数量。

示例: 2
purchase.​items[].​skustringnon-empty必需

唯一商品ID。 SKU只能包含大小写英文字母和数字字符、句点、破折号和下划线。

示例: "t-shirt"
sandboxboolean(Cart-Payment_settings_sandbox)

设置为true以测试付款流程。在这种情况下,请使用https://sandbox-secure.xsolla.com访问测试支付UI。

默认值 false
settingsobject

为用户配置支付流程和支付UI的设置。

userobject(Cart-Payment_admin-user-request-body)必需
user.​ageinteger

用户年龄。

user.​countryobject
user.​emailobject
user.​idobject必需
user.​id.​valuestring[ 1 .. 255 ] characters

用户身份。对于测试,您可以传递任意。如要接受真实付款,需使用您系统中的用户ID值。该ID在用户验证Webhook中传递。

user.​is_legalboolean

用户是否为法律实体。

user.​legalobject

包含法律实体详细信息的对象。如果user.is_legaltrue,则对象及其所有参数为必需。

user.​nameobject
user.​phoneobject
user.​steam_idobject
user.​tracking_idobject
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v3/project/44056/admin/payment/token \
  -H 'Content-Type: application/json' \
  -d '{
    "purchase": {
      "items": [
        {
          "quantity": 2,
          "sku": "com.xsolla.cup01"
        },
        {
          "quantity": 1,
          "sku": "com.xsolla.t-shirt01"
        },
        {
          "quantity": 1,
          "sku": "com.xsolla.cup02"
        },
        {
          "quantity": 1,
          "sku": "com.xsolla.hat01"
        }
      ]
    },
    "settings": {
      "currency": "USD",
      "external_id": "AABBCCDD01",
      "language": "de",
      "payment_method": 1380,
      "return_url": "https://developers.xsolla.com/zh/",
      "ui": {
        "theme": "63295aab2e47fab76f7708e3"
      }
    },
    "user": {
      "country": {
        "allow_modify": false,
        "value": "US"
      },
      "email": {
        "value": "user@xsolla.com"
      },
      "id": {
        "value": "user-id"
      },
      "name": {
        "value": "user-name"
      }
    }
  }'

响应

成功创建支付令牌和订单。

正文application/json
order_idinteger

订单ID。

示例: 1
tokenstring

支付令牌。

响应
application/json
{ "order_id": 12345, "token": "huooAqbXBSJxB8Q4dYBqJp4ybiInqsPb" }
操作
操作
操作
操作
操作
操作
操作

目录

本API允许获取任意类型的可售商品或指定商品。

操作
操作
操作