コンテンツへスキップ

Subscriptions API (2.0)

概要

  • Version: 2.0
  • Servers: https://api.xsolla.com/merchant/v2/

このAPIリファレンスでは、サブスクリプション、クーポン、およびプロモーションを管理するためのエンドポイントについて説明します。 サブスクリプションの詳細については、製品ガイドおよび用語集を参照してください。

OpenAPI記述をダウンロード
言語
サーバー
Mock server
https://xsolla.redocly.app/_mock/ja/api/subscriptions/
操作

トークンを作成する

リクエスト

任意のユーザー パラメータを使用してトークンを作成できます。トークンを取得するときにこれらのパラメータを送信し、支払いが成功した後にそれらを受け取ります。トークンには、このドキュメントで説明されているか、またはユーザーが事前に定義したパラメータのみを含めることができます。

パラメータが間違った形式で送信されたり、間違ったタイプである場合、トークンは発行されません。JSON 本文にエラーの説明を含む 422 HTTP コードが返されます。extended_message には、正確にどのパラメータが間違って送信されたかに関する情報が返されます。

通知

APIコールにproject_idパスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。

セキュリティ
basicAuth
パス
merchant_idinteger必須

マーチャントID。

ボディapplication/json必須
custom_parametersobject

custom_parametersオブジェクトのトークンに追加のパラメーターを渡して、不正防止フィルターを設定することができます。ドロップダウンリストには推奨パラメータが表示されます。決済ステーション説明書を参照してください。

custom_parameters.​active_datestring

ISO 8601形式の最終閲覧日。

custom_parameters.​additional_verificationboolean

プレイヤーがアカウント承認手続きを使用するかどうかを示します。

custom_parameters.​character_customizedboolean

プレイヤーがキャラクターをカスタマイズしたかどうかを示します。

custom_parameters.​chat_activityboolean

プレイヤーがチャット機能を使用するかどうかを示します。

custom_parameters.​completed_tasksinteger

完了したタスクや目標の数。

custom_parameters.​forum_activityboolean

プレイヤーがフォーラム機能を使用するかどうかを示す。

custom_parameters.​items_usedboolean

プレイヤーが購入したゲームアイテムを使用するかどうかを示します。

custom_parameters.​karma_pointsinteger

プレイヤーのカルマ値。

custom_parameters.​last_change_password_datestring

ISO 8601に沿ったパスワード最終更新日。

custom_parameters.​non_premium_currencyinteger(float)

非プレミアム通貨の金額。

custom_parameters.​notifications_enabledboolean

プレイヤーが通知を有効化したかどうかを示します。

custom_parameters.​profile_completedboolean

プレイヤーがプロフィールに追加情報を入力したかどうかを示します。

custom_parameters.​profile_image_addedboolean

プレイヤーがプロフィール画像をアップロードしたかどうかを示します。

custom_parameters.​pvp_activityboolean

プレイヤーが対人戦に参加するかどうかを示します。

custom_parameters.​registration_datestring

ISO 8601形式のアカウント作成日。

custom_parameters.​session_timestring

ISO 8601に沿った平均セッション時間。

custom_parameters.​social_networks_addedboolean

プレイヤーがソーシャルメディアプロファイルを接続しているかを示します。

custom_parameters.​total_bansinteger

チャットやフォーラムでプレイヤーが禁止された回数。

custom_parameters.​total_charactersinteger

ゲーム内のキャラクターの数。

custom_parameters.​total_clansinteger

プレイヤーがメンバーになっているクランの数。

custom_parameters.​total_friendsinteger

友達の数。

custom_parameters.​total_game_eventsinteger

プレイヤーが参加したゲーム内イベントの数。

custom_parameters.​total_giftsinteger

プレイヤーが送受信したゲーム内の贈り物の数。

custom_parameters.​total_hoursinteger

合計ゲーム時間数。

custom_parameters.​total_inventory_valueinteger(float)

インベントリ総額(ゲーム内通貨)。

custom_parameters.​total_suminteger(float)

総支払額。

custom_parameters.​tutorial_completedboolean

プレイヤーがゲームのチュートリアルを完了したかどうかを示します。

custom_parameters.​unlocked_achievementsinteger

達成した実績の数。

custom_parameters.​user_levelinteger

プレイヤーのレベル、評判、またはランク。

custom_parameters.​win_rateinteger

勝率。

purchaseobject

購入の詳細を含むオブジェクト。

例: {"checkout":{"amount":10,"currency":"USD"},"subscription":{"gift":{"email":"recipient_email@email.com","recipient":"test_recipient_v1"}}}
purchase.​checkoutobject

チェックアウトの詳細(オブジェクト)。

例: {"amount":10,"currency":"USD"}
purchase.​checkout.​amountinteger(float)

購入金額。

例: 10
purchase.​checkout.​currencystring

購入通貨。ISO 4217に準拠した3文字の通貨コード。

例: "USD"
purchase.​subscriptionobject

サブスクリプションデータ(オブジェクト)。

例: {"gift":{"email":"recipient_email@email.com","recipient":"test_recipient_v1"}}
purchase.​subscription.​available_plansArray of strings

決済インターフェイスに表示するサブスクリプションプラン(配列)。

purchase.​subscription.​currencystring

すべての計算で使用するサブスクリプションプランの通貨。

purchase.​subscription.​giftobject

贈られたサブスクリプションの詳細。

例: {"email":"recipient_email@email.com","recipient":"test_recipient_v1"}
purchase.​subscription.​gift.​anonymousboolean

贈り主の名前を非表示にするかどうか。trueの場合、電子メール通知で送り主の名前は非表示にされます。デフォルトはfalseです。

purchase.​subscription.​gift.​emailstring必須

受取人のメールアドレス。

例: "recipient_email@email.com"
purchase.​subscription.​gift.​messagestring

受取人へのメッセージ。

purchase.​subscription.​gift.​recipientstring必須

受取人のID。

例: "test_recipient_v1"
purchase.​subscription.​gift.​redirect_urlstring

ここに、贈られたサブスクリプションに関する追加情報が掲載されたページ、またはアカウント作成ページへのリンクを設定してください。ギフトの受取人は、サブスクリプションギフトの通知メールからこのページに移動することができます。

purchase.​subscription.​operationstring

ユーザーのサブスクリプションプランに適用される操作の種類。サブスクリプションプランを変更する場合は、値change_planを渡します。purchase.subscription.plan_idパラメーターに新しいプランIDを指定してください。

purchase.​subscription.​plan_idstring

サブスクリプションプランの外部ID。これは、アドミンページのサブスクリプション > サブスクリプションプランセクションで確認できます。

purchase.​subscription.​product_idstring

製品ID。

purchase.​subscription.​trial_daysinteger

試用期間(日)。

settingsobject

カスタムプロジェクト設定(オブジェクト)。

例: {"currency":"USD","language":"en","project_id":16184,"ui":{"components":{"virtual_currency":{"custom_amount":true}},"desktop":{"virtual_item_list":{"button_with_price":true,"layout":"list"}},"size":"medium"}}
settings.​currencystring

標準の決済通貨。ISO 42173文字通貨コード。

例: "USD"
settings.​external_idstring

ゲーム内のトランザクションID。各ユーザーの支払いに対して一意でなければならなりません。

settings.​languagestring

インターフェース言語。2文字の小文字言語コード

例: "en"
settings.​modestring

決済処理をテストするには、sandboxに設定します。この場合、https://sandbox-secure.xsolla.comを使用してテスト決済インターフェースにアクセスしてください。

settings.​payment_methodinteger

決済方法のID。

settings.​payment_widgetstring

支払いウィジェットです。paybycashまたはgiftcardが選択できます。このパラメータが設定されている場合、ユーザーはPay by CashまたはGift Cardsウィジェットにそれぞれリダイレクトされます。

列挙型"paybycash""giftcard"
settings.​project_idinteger必須

Game’s Xsolla ID. Can be found in Publisher Account.

例: 16184
settings.​redirect_policyobject

リダイレクトポリシーの設定(オブジェクト)。

settings.​redirect_policy.​autoredirect_from_status_pageboolean

ステータスページから自動的にリダイレクトするかどうか。

settings.​redirect_policy.​delayinteger

ユーザーがリターンURLに自動的にリダイレクトされるまでの遅延時間(秒)。

settings.​redirect_policy.​manual_redirection_actionstring

決済ステーション動作はユーザーが「閉じる」ボタンや「ゲームに戻る」ボタンをクリックすること​によって引き起こされます。redirect(デフォルト)とpostmessageにすることができます。redirectに設定すると、ユーザーはトークンで渡された、またはアドミンページで指定されたURLにリダイレクトされます。postmessageに設定すると、ユーザーは他のページにリダイレクトされません。「閉じる」アイコンをクリックすると、closeイベントが開始され、「ゲームに戻る」をクリックすると、returnイベントが開始されます。

列挙型"redirect""postmessage"
settings.​redirect_policy.​redirect_button_captionstring

手動リダイレクト用のボタンのテキスト。

settings.​redirect_policy.​redirect_conditionsstring

ユーザーがリターンURLにリダイレクトされる決済状態。nonesuccessfulsuccessful_or_canсeled、またはanyのいずれかとなります。

列挙型"none""successful""successful_or_canceled""any"
settings.​redirect_policy.​status_for_manual_redirectionstring

リターンURLへのリダイレクトボタンが表示される決済状態。nonesuccessfulsuccessful_or_canсeled、またはanyのいずれかとなります。

列挙型"none""successful""successful_or_canceled""any"
settings.​return_urlstring

ページを使用して決済後にユーザーをリダイレクトします。パラメーターuser_idforeigninvoiceinvoice_idstatusは、自動的にリンクに追加されます。

settings.​uiobject

インタフェース設定(オブジェクト)。

例: {"components":{"virtual_currency":{"custom_amount":true}},"desktop":{"virtual_item_list":{"button_with_price":true,"layout":"list"}},"size":"medium"}
settings.​ui.​componentsobject

メニュー設定(オブジェクト)。

例: {"virtual_currency":{"custom_amount":true}}
settings.​ui.​components.​subscriptionsobject

サブスクリプションプランのサブメニュー(オブジェクト)。

settings.​ui.​components.​subscriptions.​hiddenboolean

サブメニューを表示するかどうかを示します。

settings.​ui.​components.​subscriptions.​orderinteger

メニュー内のサブメニューの位置。

settings.​ui.​components.​virtual_currencyobject

仮想通貨サブメニュー。

例: {"custom_amount":true}
settings.​ui.​components.​virtual_currency.​custom_amountboolean

ユーザーが任意の数の仮想通貨を決済インターフェースに入力できるかどうかを示します。

例: true
settings.​ui.​components.​virtual_currency.​hiddenboolean

サブメニューを表示するかどうかを示します。

settings.​ui.​components.​virtual_currency.​orderinteger

メニュー内のサブメニューの位置。

settings.​ui.​components.​virtual_itemsobject

仮想アイテムサブメニュー。

settings.​ui.​components.​virtual_items.​hiddenboolean

サブメニューを表示するかどうかを示します。

settings.​ui.​components.​virtual_items.​orderinteger

メニュー内のサブメニューの位置。

settings.​ui.​components.​virtual_items.​selected_groupstring

仮想アイテムタブを開いた後に表示するグループ。

settings.​ui.​components.​virtual_items.​selected_itemstring

仮想アイテムタブを開いた後に表示されるアイテム(アイテムSKU)。

settings.​ui.​desktopobject

デスクトップバージョン(オブジェクト)のインターフェース設定。

例: {"virtual_item_list":{"button_with_price":true,"layout":"list"}}
settings.​ui.​desktop.​headerobject

ヘッダー設定(オブジェクト)。

settings.​ui.​desktop.​header.​close_buttonboolean

デスクトップ版決済ステーションに閉じるボタンを表示する設定。このボタンは決済ステーションを閉じて、settings.return_urlパラメーターで指定されたURLにユーザーをリダイレクトします。デフォルトはfalseです。

settings.​ui.​desktop.​header.​is_visibleboolean

決済インターフェースにヘッダーを表示するかどうかを示します。

settings.​ui.​desktop.​header.​typestring

ヘッダーを表示する方法。compact(プロジェクト名とユーザーIDを隠す)またはnormal(既定)に指定できます。

列挙型"compact""normal"
settings.​ui.​desktop.​header.​visible_logoboolean

trueの場合、ヘッダーにはあなたのロゴが表示されます(最初にあなたのカスタマーサクセスマネージャーに画像を提供してください)。

settings.​ui.​desktop.​header.​visible_nameboolean

ヘッダーにプロジェクト名を表示するかどうかを示します。

settings.​ui.​desktop.​header.​visible_purchaseboolean

ヘッダーに購入説明(purchase.description.value)を表示するか示します。デフォルトはtrueです。

settings.​ui.​desktop.​subscription_listobject

サブスクリプションプラン(オブジェクト)の一覧の設定。

settings.​ui.​desktop.​subscription_list.​descriptionstring

決済インターフェースの利用可能なサブスクリプションプランの一覧上に表示されるテキスト。

settings.​ui.​desktop.​subscription_list.​display_local_priceboolean

trueの場合、ユーザーの現地通貨が購読プランに設定されている通貨と異なる場合、ユーザーは両方の価格を見ることができます。1つは現地通貨で、もう1つは基本通貨で表示されます。

settings.​ui.​desktop.​subscription_list.​layoutstring

テンプレートの一覧。list(既定)またはgridに指定できます。

列挙型"list""grid"
settings.​ui.​desktop.​virtual_currency_listobject

仮想通貨(オブジェクト)の一覧の設定。

settings.​ui.​desktop.​virtual_currency_list.​button_with_priceboolean

trueの場合は、価格がボタンに表示されます。falseの場合は、価格はボタンの左側に表示されます。既定ではfalseです。

settings.​ui.​desktop.​virtual_currency_list.​descriptionstring

決済インターフェースの一覧の上に表示するテキスト。

settings.​ui.​desktop.​virtual_item_listobject

仮想アイテム(オブジェクト)の一覧の設定。

例: {"button_with_price":true,"layout":"list"}
settings.​ui.​desktop.​virtual_item_list.​button_with_priceboolean

trueの場合は、価格がボタンに表示されます。falseの場合は、価格はボタンの左側に表示されます。既定ではfalseです。

例: true
settings.​ui.​desktop.​virtual_item_list.​layoutstring

テンプレートの一覧。list(既定)またはgridに指定できます。

列挙型"list""grid"
例: "list"
settings.​ui.​desktop.​virtual_item_list.​viewstring

縦方向または横方向のメニューに仮想アイテムのグループを表示しましょう。horizontal_navigationあるいはvertical_navigation(既定)にできます。

列挙型"horizontal_navigation""vertical_navigation"
settings.​ui.​headerobject
settings.​ui.​header.​visible_virtual_currency_balanceboolean

この要素を決済インターフェースで非示にできるかどうかを示します。既定ではtrueです。

settings.​ui.​is_prevent_external_link_openboolean

リンクを外部リソースにリダイレクトするかどうかを無効にします。デフォルトはtrueです。外部リンクをクリックすると、external-link-openイベントがpostMessageメカニズムを介して送信されます。urlパラメータには、リダイレクト先のリンクのアドレスが渡されます。

settings.​ui.​license_urlstring

EULAへのリンク。

settings.​ui.​mobileobject
settings.​ui.​mobile.​footerobject
settings.​ui.​mobile.​footer.​is_visibleboolean

モバイル版の決済インターフェースでフッターを非表示にするかどうかを示します。

settings.​ui.​mobile.​headerobject
settings.​ui.​mobile.​header.​close_buttonboolean

モバイル版決済ステーションに閉じるボタンを表示する設定。このボタンは決済ステーションを閉じて、settings.return_urlパラメーターで指定されたURLにユーザーをリダイレクトします。デフォルトはfalseです。

settings.​ui.​mobile.​modestring

ユーザーは、保存された決済方法を使用してのみ決済を行うことができます。saved_accountsに指定できます。

"saved_accounts"
settings.​ui.​modestring

ユーザーアカウントの決済インターフェース。user_accountのみに指定できます:ヘッダーにはユーザーアカウントのナビゲーションメニューのみが含まれています。ユーザーは商品を選択したり、決済を行うことはできません。このモードは、デスクトップ上でのみ使用できます。

settings.​ui.​sizestring

決済インターフェースのサイズ。に指定できます:

  • small:決済インターフェースの最小サイズです。ウィンドウサイズが厳密に制限されている場合は、この値を使用します(寸法:620 x 630)
  • medium:推奨サイズ。この値を使用して、ライトボックスに決済インターフェイスを表示します(寸法:740 x 760)
  • large:決済インターフェイスを新しいウィンドウまたはタブに表示するのに最適なサイズ(寸法:820 x 840)
列挙型"small""medium""large"
例: "medium"
settings.​ui.​themestring

決済インターフェースのテーマ。default(既定)またはdefault_darkに指定できます。

列挙型"default""default_dark"
settings.​ui.​user_accountobject

ユーザーアカウントの詳細(オブジェクト)。

settings.​ui.​user_account.​historyobject

履歴 サブメニュー。

settings.​ui.​user_account.​history.​enableboolean

サブメニューを表示するかどうかを示します。既定ではfalseです。

settings.​ui.​user_account.​history.​orderinteger

メニュー内のサブメニューの位置。

settings.​ui.​user_account.​infoobject

私のアカウント ページ。

settings.​ui.​user_account.​info.​enableboolean

サブメニューを表示するかどうかを示します。既定ではfalseです。

settings.​ui.​user_account.​info.​orderinteger

メニュー内のサブメニューの位置。

settings.​ui.​user_account.​payment_accountsobject

お客様の決済アカウント サブメニュー。

settings.​ui.​user_account.​payment_accounts.​enableboolean

サブメニューを表示するかどうかを示します。既定ではfalseです。

settings.​ui.​user_account.​payment_accounts.​orderinteger

メニュー内のサブメニューの位置。

settings.​ui.​user_account.​subscriptionsobject

サブスクリプションの管理 サブメニュー。

settings.​ui.​user_account.​subscriptions.​enableboolean

サブメニューを表示するかどうかを示します。既定ではfalseです。

settings.​ui.​user_account.​subscriptions.​orderinteger

メニュー内のサブメニューの位置。

settings.​ui.​versionstring

デバイスの種類。desktop(既定)またはmobileに指定できます。

列挙型"desktop""mobile"
userobject

ユーザーの詳細(オブジェクト)。

例: {"age":19,"country":{"allow_modify":true,"value":"US"},"email":{"value":"john.smith@mail.com"},"id":{"value":"user_2"},"name":{"value":"John Smith"}}
user.​ageinteger

ユーザーの年齢。

例: 19
user.​attributesobject

キー値ペアの有効なJSONセットとして表される、アイテムリストをフィルタリングするためのユーザー属性。

user.​countryobject
例: {"allow_modify":true,"value":"US"}
user.​country.​allow_modifyboolean

ユーザーが決済UIで国を変更できるかどうか。トークンにcountry.valueが渡された場合、デフォルトではfalseとなります。

例: true
user.​country.​valuestring

ユーザーの国。2文字の国コード(大文字)は、ISO 3166-1 alpha-2 standardに従って使用されます。

例: "US"
user.​emailobject

user.emailオブジェクトは、不正対策モデルの構築に不可欠な要素であり、受け入れ率の向上に貢献します。それは、エクソーラと決済システムの両方の要件です。パラメータが渡されない場合は、決済ページにメール入力の必須項目が表示されます。ユーザーは、パラメータに渡された、または決済ページで入力された電子メールに購入領収書を受け取ります。

例: {"value":"john.smith@mail.com"}
user.​email.​valuestring必須

ユーザーのメールアドレス。RFC 822で規定された書式を厳密に守らなければなりません。

例: "john.smith@mail.com"
user.​idobject必須
例: {"value":"user_2"}
user.​id.​valuestring必須

ユーザーID。

例: "user_2"
user.​is_legalboolean

ユーザーが法人かを示します。

user.​legalobject

法人情報を含むオブジェクトです。

user.​legal.​addressstring

最後まで記載した法的住所です。

user.​legal.​countrystring

設立国。ISO 3166-1 alpha-2に従って大文字2文字の国コードを使用します。

user.​legal.​namestring

法人のフルネームです。

user.​legal.​vat_idstring

納税者個別のID。

user.​nameobject
例: {"value":"John Smith"}
user.​name.​valuestring

ユーザーのスクリーン名。

例: "John Smith"
user.​phoneobject
user.​phone.​valuestring

ユーザーの電話番号。

user.​public_idobject
user.​public_id.​valuestring

ユーザーを一意に識別し、ユーザーに知られているパラメーター(電子メール、スクリーン名など)。ユーザーがゲームストア外で購入することを可能にします(例えば、電子キオスクを介して)。

user.​steam_idobject
user.​steam_id.​valuestring

Steam ID。

user.​tracking_idobject
user.​tracking_id.​valuestring

固有の追跡ID(マーケティングキャンペーンで使用)。

user.​utmobject

トラフィック属性(オブジェクト)。

user.​utm.​utm_campaignstring

カタカナ表記、または英語に翻訳されたキャンペーンのタイトル。

user.​utm.​utm_contentstring

キャンペーンのコンテンツ。

user.​utm.​utm_mediumstring

トラフィックチャネル(コンテンツ広告、メディア広告、Eメールリストなど)。

user.​utm.​utm_sourcestring

トラフィックソース。

user.​utm.​utm_termstring

キャンペーンキーワード。設定すると、統計は特定の検索クエリではなく広告ターゲティングに使用されるキーワードに基づきます。Googleアナリティクスでは、指定されたutm_termは一般検索語句レポートの一部です。

curl -i -X POST \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ja/api/subscriptions/merchants/{merchant_id}/token' \
  -H 'Content-Type: application/json' \
  -d '{
    "purchase": {
      "checkout": {
        "amount": 10,
        "currency": "USD"
      },
      "subscription": {
        "gift": {
          "email": "recipient_email@email.com",
          "recipient": "test_recipient_v1"
        }
      }
    },
    "settings": {
      "currency": "USD",
      "language": "en",
      "project_id": 16184,
      "ui": {
        "components": {
          "virtual_currency": {
            "custom_amount": true
          }
        },
        "desktop": {
          "virtual_item_list": {
            "button_with_price": true,
            "layout": "list"
          }
        },
        "size": "medium"
      }
    },
    "user": {
      "age": 19,
      "country": {
        "allow_modify": true,
        "value": "US"
      },
      "email": {
        "value": "john.smith@mail.com"
      },
      "id": {
        "value": "user_2"
      },
      "name": {
        "value": "John Smith"
      }
    }
  }'

レスポンス

Created (作成済み)。

ボディapplication/json
tokenstring
レスポンス
application/json
{ "token": "eop57k1boA7nnYPtewZ6KEXJyJADEwRT" }
操作
操作

Subscription management

操作
操作

プロモーション

操作
操作

Subscription management

操作