サブスクリプション情報を取得する

サブスクリプションを利用したアクティビティの情報は、以下の方法で取得できます:

APIコール経由でセットアップする

アプリケーションのクライアント側では、HTTP GETリクエストを利用してユーザーのサブスクリプション情報を取得することを実装します。

エクソラAPIはHTTPアクセス認証を使用します。リクエストはヘッダーAuthorization: Bearer <client_user_jwt>を含む必要があり、<client_user_jwt>はBase64標準に従ってエンコードされた一意のトークンです。それを取得するには:

プロジェクトIDをパスパラメータprojectIdとして指定します。このパラメータは、パブリッシャーアカウントでプロジェクト名の隣に表示されます。

クエリのパラメータとして指定します:

  • limit — ページに表示される要素数の上限(デフォルトでは15個の要素が表示されます)。
  • offset — リストが生成された要素の番号 (カウントは0から始まります)。
  • locale — インターフェイスの言語(デフォルトでは英語)。ISO 639-1規格に準拠した値を受け入れます。

Copy
Full screen
Small screen
リクエスト例:
  'https://subscriptions.xsolla.com​/api/user/v1/projects/{projectId}/subscriptions?locale=ru&limit=5&offset=5 ' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer client_user_jwt'

Copy
Full screen
Small screen
レスポンスの例:
{
  "items": [
    {
      "id": 13371337,
      "plan_id": 66053,
      "plan_external_id": "TestChangePlanBase",
      "plan_name": "package_recurrent_name_66053",
      "plan_description": "package_recurrent_description_66053",
      "product_id": null,
      "product_external_id": null,
      "product_name": null,
      "product_description": null,
      "status": "active",
      "date_create": "2021-03-11T13:50:11+03:00",
      "date_next_charge": "2031-04-11T13:51:02+03:00",
      "date_last_charge": "2021-03-11T13:51:02+03:00",
      "charge": {
        "amount": "0.2500",
        "currency": "USD"
      },
      "period": {
        "value": 5,
        "unit": "day"
      }
    }
  ],
  "has_more": true
}

ウェブフックをセットアップする

サブスクリプションソリューションでは、以下のイベントのウェブフックをサポートしています:

Note
サブスクリプションをキャンセルするには、最後の支払いをキャンセルする必要があります。ユーザーがサブスクリプションを手動で更新し、数期間支払いを行った場合、すべての支払いをキャンセルする必要があります。

  • 返金:
    • 返金(パブリッシャーアカウントで支払いがキャンセルされました)
    • 更新されたサブスクリプション(支払いはキャンセルされましたが、サブスクリプションはまだアクティブです。これは、ユーザーが誤ってサブスクリプションの支払いを2回行い、最後の支払いのみをキャンセルした場合に発生する可能性があります。)
    • キャンセルされたサブスクリプション(パブリッシャーアカウントで支払いがキャンセルされたか、すべての有効期間にわたってすべての支払いがキャンセルされました)

Note
ウェブフックの詳細については、API説明書をご覧ください。

ウェブフックをセットアップするには:

  1. パブリッシャーアカウントで、プロジェクト設定 > ウェブフックに移動します。
  2. ウェブフックブロックでトグルをオンに設定します。

  1. ウェブフックURLを指定します。設定を保存するをクリックします。

  1. パブリッシャーアカウントでウェブフックをテストします
  2. サブスクリプションの支払いをテストします
  3. サブスクリプションの更新をテストします
  4. サブスクリプションのキャンセルをテストします

パブリッシャーアカウントでのウェブフックをテストする

  1. パブリッシャーアカウント > プロジェクト設定 > ウェブフックで、サブスクリプションタブに移動します。

  1. ウェブフックをテストするには、プロジェクトの値(ユーザーID、インボイスID)を指定して、指定されたウェブフックURLへのリクエストで送信します。実際の値がない場合は、任意の値を入力することができます。次のフォームフィールドに入力します:

Note
パブリッシャーアカウントでは、基本的なユーザーの確認および支払いウェブフックのみをテストできます。他のウェブフックタイプをテストするには、次の場所に移動します。

  1. テストをクリックします。
  2. テストが成功すると、サーバーは204 HTTPステータスコードを返します。失敗した場合は、サーバーから400または500 HTTPステータスコードとエラーの説明が返されます。

サブスクリプションの決済をテストする

決済をテストする場合、ユーザー検証決済、および作成されたサブスクリプションの各ウェブフックは、ウェブフックをセットアップするステップで指定したURLに送信されます。支払いプロセスをテストするには:

Note
サンドボックスモードでは請求アカウントをサブスクリプションにリンクさせることができないため、試用期間付きのサブスクリプションのテストは実際の支払いの場合にのみ可能です。

サンドボックスモード

  1. サンドボックスモード用のトークンを取得します。試用期間trial_days)パラメータに0の値を渡します。
  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。

  1. ウェブフックをセットアップするステップで指定されたURLでユーザーの確認支払いおよび更新されたサブスクリプションのウェブフックを受け取ります。

実際のお支払い

試用期間のあるサブスクリプションの支払いをテストするには、実際のお支払いを使用する必要があります:

  1. パブリッシャーアカウントでウェブフックのテストを完了し、サブスクリプションモジュールを有効にします。
  2. ライセンス契約を締結します。これをするには、パブリッシャーアカウント > 会計 > ライセンス契約に移動し、契約書を記入し、確認を待ちます。

Note
ライセンス契約書に署名すると、実際のサブスクリプションの販売が有効になります。

  1. 実際のお支払いのためのトークンを取得します。

Notice
実際のお支払いを開始する前に、トークンのリクエストから"mode":"sandbox"パラメータを削除してください。

  1. 以下のリンクから決済UIを開きます:https://secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN、そこでACCESS_TOKEN は前のステップで得られたトークンです。
  2. 決済方法のクレジットカード/デビットカードグループを選択します。
  3. 有効な銀行カード情報を入力してください。

Note
テストバンクカードはサンドボックスモードにのみ適しています。実際のお支払いをテストするには、VisaとMasterCardのカードを使用することをお勧めします。

  1. ウェブフックをセットアップするステップで提供されたウェブフックURLでユーザーの確認支払いおよび更新されたサブスクリプションウェブフックを受け取ります。
  2. 支払いを返金します。これを行うには、パブリッシャーアカウント > サポート > 取引検索にアクセスしてください。
  3. テスト取引を選択し、その他(•••)メニューボタンをクリックします。ポップアップメニューの返金をクリックします(取引のステータスは完了である必要があります)。これはキャンセルされたサブスクリプション返金ウェブフックを送信します。

サブスクリプションの更新をテストする

Notice
試用期間のないサブスクリプションでのみ利用可能です。

サブスクリプションの更新をテストするには:

  1. サンドボックスモードのトークンを取得します試用期間trial_days)パラメータに0の値を渡します。
  2. 任意の決済方法を使用してサブスクリプションの支払いを行います。
  3. サンドボックスモードで支払いインターフェースを再度開きます。
  4. 任意の決済方法を使用してサブスクリプションを更新するには、再度支払います。
  5. ウェブフックを設定するステップで指定したウェブフックURLでユーザーの確認支払いおよび更新されたサブスクリプションのウェブフックを取得します。

テストサブスクリプションのキャンセル

サブスクリプションのキャンセルをテストするには、以下を使用します:

サブスクリプションで検索する

  1. パブリッシャーアカウントサポート > 加入者に移動します。
  2. キャンセルしたいサブスクリプションを探します。
  3. サブスクリプションのステータスメニューを開き、以下を選択します:
    1. キャンセルと返金するキャンセルされたサブスクリプション返金ウェブフックを受け取ります。
    2. 返金なしでキャンセルするキャンセルされたサブスクリプションウェブフックを受け取ります。

最近の取引で検索する

  1. パブリッシャーアカウントで、サポート > 取引検索に移動します。
  2. キャンセルされた最後の取引を検索します。
  3. その他(•••)アイコンをクリックします。ポップアップメニューの返金をクリックして、キャンセルされたサブスクリプションおよび返金のウェブフックを受け取ります。

Note
サブスクリプションが複数回支払われた場合は、すべての支払いをキャンセルする必要があります。

APIコールを使用する

サブスクリプションの更新APIコールを使用して、サブスクリプションのステータスをキャンセル済みに変更し、キャンセルされたサブスクリプションwebhookを受け取ります。

サンドボックスモードで決済UIを開く

サンドボックス決済UIを開くには、アクティブなsandboxモードのトークンを取得します。必要なトークンを使用してリンクを取得する方法は次の通り:

パブリッシャーアカウント経由

  1. パブリッシャーアカウントでウェブフックをテストします。試用期間がないサブスクリプションをテストする場合は、試用期間フィールドに値を0に指定します。テストが成功したときの確認メッセージを受け取ると、サンドボックスのURLのヘッダーの下に、必要なトークンを含むリンクが表示されます。

  1. サンドボックスURLリンクをたどります。

APIコール経由

  1. "settings":{"mode":"sandbox"}パラメータをトークンを作成するメソッドに渡します。"purchase": {"subscription":{"trial_days": 0}}パラメータを渡して、試用期間のないサブスクリプションをテストします。
  2. 以下のリンクを使用します:https://sandbox-secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN、ここでACCESS_TOKENは前のステップで取得したトークンです。

進捗状況
ご意見ありがとうございました!
最終更新日: 2022年5月20日

誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!