コンテンツへスキップ

Catalog API (2.0.0)

概要

  • バージョン: 2.0.0
  • サーバーhttps://store.xsolla.com/api
  • メールでお問い合わせ
  • 連絡先URL: https://xsolla.com/
  • 要求されるTLSバージョン: 1.2

カタログAPIを使用すると、ゲーム内アイテムのカタログをエクソーラ側で設定し、そのカタログをストア内でユーザーに表示することができます。

本APIでは、以下のカタログエンティティを管理できます:

  • 仮想アイテム — 武器、スキン、ブースターなどのゲーム内アイテム。
  • 仮想通貨 — 仮想商品の購入に使用される仮想通貨。
  • 仮想通貨パッケージ — 事前定義された仮想通貨のバンドル。
  • バンドル — 仮想アイテム、通貨、またはゲームキーを1つのSKUとしてまとめたパッケージ。
  • ゲームキー — Steamやその他のDRMプロバイダーを通じて配布される、ゲームおよびDLCのキー。
  • グループ — カタログ内のアイテムを整理または並べ替えするための論理的なグループ分け。

APIコール

本APIは、以下のグループに分かれています:

  • Admin — カタログアイテムやグループの作成、更新、削除、および設定を行うためのコール。マーチャントまたはプロジェクトの認証情報による基本アクセス認証で認証されます。ストアフロントでの使用は想定されていません。
  • Catalog — アイテムの取得や、エンドユーザー向けのカスタムストアフロントを構築するためのコール。高負荷なシナリオに対応できるよう設計されています。ユーザー個別の制限事項や実施中のプロモーションなど、パーソナライズされたデータを返すための、ユーザーJWTによる任意認証をサポートしています。
OpenAPI記述をダウンロード
言語
サーバー
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/ja/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を指定することもできます。
この方法の正しい動作には、これら2つのオプションのいずれかが必要です。
選択した通貨は、ペイステーションでの決済方法に使用されます。
セキュリティ
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値を使用する必要があります。このIDはユーザー認証ウェブフックで渡されます。

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/ja/",
      "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は販売可能なアイテムや特定のアイテムを取得することができます。

操作
操作
操作