サブスクリプション

サブスクリプションソリューションにより、ユーザーは特定の条件下でサービスのパッケージにアクセスできます。主な機能:

  • サブスクリプションベースの製品を定義します。
  • プランを定義します。各通貨のプランを作成および構成し、試用期間を設定し、猶予期間を構成し、サブスクライブしたユーザーを表示し、特定のユーザーのサブスクリプションステータスを変更できます。
  • ユーザーがダッシュボードからサブスクリプションを管理できるようにします。ユーザーは詳細なサブスクリプション情報の確認、支払い履歴の表示、プランの変更、サブスクリプションの一時停止/更新/キャンセルを行うことができます。
  • パブリッシャーアカウントからユーザーサブスクリプションを管理します:各通貨のプランを作成と構成、試用期間を設定、猶予期間を構成、サブスクライブしたユーザーを表示、特定ユーザーのサブスクリプションステータスを変更する。
  • 保存した支払いアカウントを使用して自動更新を有効にします。
  • ユーザーが手動でサブスクリプションを更新できるようにします。

用語集

サブスクリプションプラン

サブスクリプションプラン — ユーザーがサービスにアクセスするための請求条件(請求金額、通貨、頻度)。

サブスクリプションベースの製品

サブスクリプションベースの製品 — ユーザーがサブスクリプションを購入するときにユーザーに提供されるサービスまたはサービスのセット。

サブスクリプション

サブスクリプション — 製品と選択したプランの組み合わせ。ユーザーは、サブスクリプションプランを選択してサービスへのアクセス権を受け取ると、サブスクリプションを取得します。ユーザーが同時に取得できるサブスクリプションの数は、プロジェクト内の製品の数によって異なります。

例1

製品:ゲームへのアクセス

  • サブスクリプションプランSilver:1ヶ月あたり10ドル
  • サブスクリプションプランGold:1年あたり100ドル

ユーザーは次のサブスクリプションのいずれかを選択できます:

  • サブスクリプション1:月額10ドルプランのゲームへアクセスする
  • サブスクリプション2:年間100ドルプランでのゲームへアクセスする

例2

製品1:ゲーム1へアクセスする

製品2:ゲーム2へのアクセス

  • サブスクリプションプラン:1か月あたり10ドル

ユーザーは2つのサブスクリプションを同時に取得できます:

  • サブスクリプション1:月額10ドルプランでgame1にアクセスする
  • サブスクリプション2:月額10ドルプランでgame2にアクセスする

Note: サブスクリプションベースの製品がセットアップされていない場合、ユーザーは一度に1つのサブスクリプションしか取得できません。複数のサブスクリプションを同時に取得するには、あなたが製品をセットアップする必要があります。

仕組み

ステップ 1

ステップ 2

ステップ 3

ユーザーフロー

サブスクリプションのステータス

サブスクリプションのステータスは、次のいずれかです。

  • 有効。プライマリステータス。サブスクリプションは、最初の決済が成功した後に作成され、有効化されます。有効なサブスクリプションでのみ追加料金が発生します。

Notice: APIを使用して手動でサブスクリプションを作成することはできません。これは、購入時に自動でのみ行うことができます。

  • キャンセル済み。次のいずれかの理由により、サブスクリプションはキャンセルされ、即時に有効になります:
    • APIメソッドまたはエクソラパブリッシャーアカウントからステータスが変更されました。
    • ユーザーによりキャンセルされました。
    • 期限切れ、パラメータに有効期限が設定されている場合。
    • 請求の最大試行回数を超えました。これはデフォルトでは3回です。変更するには、アカウントマネージャーにお問い合わせください。
    • ゲームでユーザーが見つかりません。
    • ユーザーアカウントが削除されました。

Note: サブスクリプションがキャンセルされると、最終決済を返金できます。このオプションは、パートナーとユーザーの両方が使用できます。

  • 更新なし。サブスクリプションの更新がキャンセルされました。サブスクリプションは、ステータスがキャンセル済みに変わる前に現在の請求サイクルが終了するまで続きます。以下のいずれかの理由により、更新をキャンセルすることができます:
    • APIメソッドまたはパブリッシャーアカウントからステータスが変更されました。
    • メールリンクを介してユーザーによってキャンセルされました。
    • ユーザーアカウントが削除されました。

統合フロー

サブスクリプションを統合するには:

  1. エクソラパブリッシャーアカウントを登録します。
  2. プロジェクトを作成します。
  3. プランをセットアップします。
  4. ウェブフックをセットアップします。
  5. トークンを取得します。
  6. UIオープンフローを構成します。
  7. 製品をセットアップします。

Note: こちらのガイドは、すぐに機能を使い始める場合に必要な、最低限の設定について説明しています。ご不明な点がございましたら、アカウントマネージャーまでご連絡ください。

プロジェクトの作成

  1. プロジェクトに移動し、プロジェクトを作成するをクリックします。
  2. セットアップモードで:
    1. ウェブフックURLを指定します。
    2. プロジェクトウェブフックに署名するための秘密キーを生成します。

プランを設定する

  1. サブスクリプション設定に移動します:プロジェクト>ストア>サブスクリプション
  2. 以下のパラメーターを特定します:
    • 名前
    • 請求サイクル

Note: プランには1つの通貨しか設定できません。プロジェクト通貨ごとに個別のプランセットを登録する必要があります。

ウェブフックの設定

サブスクリプションには次のウェブフックを実装する必要があります:

メッセージ本文なし、HTTPコード204ありの応答でウェブフックの受信を承認します。APIリファレンスから、ウェブフックについて(例など)詳しくご参照いただけます。

ウェブフックのハンドラをテストするときは、プロジェクト設定>ウェブフックセクションを開いてください。

トークンの取得

サブスクリプションと統合するには、トークンを取得する必要があります。トークンは、ゲーム/ユーザーデータと支払い設定を含む文字列です。

エクソラAPIは基本アクセス認証を採用しています。マーチャント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. サンドボックスモードでサブスクリプションUIを開きます
  2. 購入するアイテムを選択してください。
  3. 支払い方法のクレジット/デビットカードグループを選択します。
  4. 銀行カード情報を入力します。残りのフィールドに値を入力します。エラーを生成するために、誤った詳細(カード番号、有効期限、またはCVV)を指定することもできます。

テストに使用される銀行カード

Note: サンドボックスのクレジットカード支払いは、次の通貨で可能です:GBP、AED、ALL、AMD、ARS、AUD、AZN、BGN、BRL、BYN、CAD、CHF、CLP、CNY、COP、CZK、DKK、DZD、EGP、GEL、HKD、HRK、HMN、MYR、NGN、PEN、PHP、PKR、PLN、RON、RSD、SAR、SEK、KK、KS、KZT、MAD、MDL、MKD、MNT、MXN、MYR、NGN、SGD、THB、TRY、TWD、UAH、UYU、UZS、VEF、VND、ZAR。
Notice: 実際の支払いを受け取るに場合は、まず"mode":"sandbox"を削除してください。

実際の支払いを行って支払プロセスをテストするには、銀行カードを使用することもお勧めします:

  1. サブスクリプションUIを開きます
  2. 購入するアイテムを選択してください。
  3. 支払い方法のクレジット/デビットカードグループを選択します。
  4. 有効な銀行カード情報を入力します。
  5. 支払いが完了したら、パブリッシャーアカウントの取引検索セクションに移動します。
  6. テスト取引を選択して、払い戻し(取引状態は完了でなければなりません)をクリックします。

Note: 支払い処理のテストは、VisaとMasterCardカードの使用をお勧めします。

サブスクリプションUIを開く

サブスクリプションUIを新しいウィンドウで開くには、次のリンクを使用します:https://secure.xsolla.com/paystation2/?access_token=ACCESS_TOKEN、そこでACCESS_TOKEN前のステップで取得したトークンです。テストの目的で、次のURLを使用します:https://sandbox-secure.xsolla.com/paystation2/?access_token=ACCESS_TOKEN

製品のセットアップ

APIメソッドは、サブスクリプションベースの製品の管理に使用されます。

プロモーションオプション

クーポン

クーポン機能を使うと、パートナーはクーポンコードのついたクーポンキャンペーンを作成できます。このコードは、パートナーがアップロードする、もしくは、パブリッシャー・アカウントから生成することが可能です。ユーザーはクーポンを使って、仮想通貨や仮想アイテム、サブスクリプションプランの体験期間を受け取れます。必要に応じて、交換回数と有効期限を変更してください。

レシピをご覧ください

ボーナス

ボーナス機能を使用すると、サブスクリプションの購入時にボーナスアイテムを受け取ることができます。

レシピをご覧ください

レシピ

こちらのレシピは、次のようなサブスクリプションの上級機能を試すときに役立ちます: