サブスクリプション情報を取得する
サブスクリプションを利用したアクティビティの情報は、以下の方法で取得できます:
- APIコールを利用して情報をリクエストする(サーバーレス統合に適用する)
- ウェブフックを利用してサブスクリプションのステータスが自動的に変更されたときに情報を取得する(サーバー統合に適用する)
APIコール経由でセットアップする
アプリケーションのクライアント側では、HTTP GETリクエストを利用してユーザーのサブスクリプション情報を取得することを実装します。
エクソーラAPIはHTTPアクセス認証を使用します。リクエストはヘッダーAuthorization: Bearer <client_user_jwt>
を含む必要があり、<client_user_jwt>
はBase64標準に従ってエンコードされた一意のトークンです。それを取得するには:
- ログインとパスワードによる認証を行う場合は、新規ユーザー登録とユーザー名とパスワードによる認証APIコールを使用してください。
- ソーシャルネットワークを介して認証する場合は、ソーシャルネットワークによる認証APIコールを使用します。
プロジェクトIDをパスパラメータprojectId
として指定します。このパラメータは、アドミンページでプロジェクト名の隣に表示されます。
クエリのパラメータとして指定します:
limit
— ページに表示される要素数の上限(デフォルトでは15個の要素が表示されます)。offset
— リストが生成された要素の番号(カウントは0から始まります)。locale
— インターフェイスの言語(デフォルトでは英語)。ISO 639-1規格に準拠した値を受け入れます。
Copy
- curl
curl -X 'GET' \
'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
- javascript
{
"items": [
{
"id": 11111111,
"plan_id": 11111,
"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": 1,
"unit": "day"
}
}
],
"has_more": true
}
ウェブフックをセットアップする
サブスクリプションソリューションでは、以下のイベントのウェブフックをサポートしています:
- サブスクリプションを支払う:
- サブスクリプションを更新する:
- サブスクリプションをキャンセルする:キャンセルされたサブスクリプション(アドミンページでサブスクリプションがキャンセルされたか、またはすべての有効期間の支払いがキャンセルされた)
お知らせ
サブスクリプションをキャンセルするには、最後の支払いをキャンセルする必要があります。ユーザーがサブスクリプションを手動で更新し、数期間支払いを行った場合、すべての支払いをキャンセルする必要があります。
- 返金:
- 返金(アドミンページで支払いがキャンセルされました)
- 更新されたサブスクリプション(支払いはキャンセルされましたが、サブスクリプションはまだアクティブです。これは、ユーザーが誤ってサブスクリプションの支払いを2回行い、最後の支払いのみをキャンセルした場合に発生する可能性があります。)
- キャンセルされたサブスクリプション(アドミンページで支払いがキャンセルされたか、すべての有効期間にわたってすべての支払いがキャンセルされました)
お知らせ
ウェブフックの詳細については、API説明書をご覧ください。
- アドミンページで、プロジェクト設定 > ウェブフックに移動します。
- ウェブフックブロックでトグルをオンに設定します。
- ウェブフックURLを指定します。設定を保存するをクリックします。
アドミンページでのウェブフックをテストする
- アドミンページ > プロジェクト設定 > ウェブフックで、サブスクリプションタブに移動します。
- ウェブフックをテストするには、プロジェクトの値(ユーザーID、インボイスID)を指定して、指定されたウェブフックURLへのリクエストで送信します。実際の値がない場合は、任意の値を入力することができます。次のフォームフィールドに入力します:
- ユーザーID
- エクソーラインボイスID
- 数量
- 通貨
- プランID
- サブスクリプション製品(任意)
- インボイスID — 内部注文番号(任意)
- 試用期間( サンドボックスモードでサブスクリプション購入をテストするまたはサブスクリプション更新をテストするには、
0
値を設定します。)
- テストをクリックします。
- テストの成功メッセージを受信したことを確認します。テストが成功した場合、サーバーは204 HTTPステータスコードを返します。失敗した場合は、サーバーから400または500 HTTPステータスコードとエラーの説明が返されます。
サブスクリプション購入をテストする
決済をテストする場合、ユーザー検証、決済、および作成されたサブスクリプションの各ウェブフックは、ウェブフックをセットアップするステップで指定したURLに送信されます。支払いプロセスをテストするには:- サンドボックスモードを使用します(サブスクリプション試用期間が0日の場合)
- 実際の支払いを行い、アドミンページから返金を開始します(サブスクリプション試用期間が0日を超える場合)
お知らせ
サンドボックスモードでは請求アカウントをサブスクリプションにリンクさせることができないため、試用期間付きのサブスクリプションのテストは実際の支払いの場合にのみ可能です。
サンドボックスモード
- サンドボックスモード用のトークンを取得します。試用期間(
trial_days
)パラメータに0
の値を渡します。 - 決済方法のクレジットカード/デビットカードグループを選択します。
- テスト用の銀行カード情報を入力して、残りのフィールドに任意の値を入力してください。誤った情報(カード番号、有効期限、CVV)を指定して、エラーを発生させることもできます。
お知らせ
サンドボックスモードでは、テスト用の銀行カードのみ使用できます。サンドボックスの銀行カード決済は、以下の通貨で行うことができます: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。
- ウェブフックをセットアップするステップで指定されたURLでユーザーの確認、支払いおよび更新されたサブスクリプションのウェブフックを受け取ります。
お知らせ
実際のお支払い
試用期間のあるサブスクリプションの支払いをテストするためには、実際の支払いを使用する必要があります:- アドミンページでのウェブフックのテストを完成してサブスクリプションモジュールをアクティブ化にします。
- ライセンス契約に署名します。
お知らせ
ライセンス契約書に署名すると、実際のサブスクリプションの販売が有効になります。
- 実際の決済ソリューションのためのトークンを取得します。
注意
実際の決済ソリューションを開始する前に、トークンのリクエストから
“mode”:“sandbox”
パラメータを削除してください。- 以下のリンクから決済UIを開きます:
https://secure.xsolla.com/paystation4/?token=ACCESS_TOKEN
、そこでACCESS_TOKEN
は前のステップで得られたトークンです。 - 決済方法のクレジットカード/デビットカードグループを選択します。
- 有効な銀行カード情報を入力してください。
お知らせ
テストバンクカードはサンドボックスモードにのみ適しています。実際の決済ソリューションをテストするには、VisaとMasterCardのカードを使用することをお勧めします。
- ウェブフックをセットアップするステップで提供されたウェブフックURLでユーザーの確認、支払いおよび更新されたサブスクリプションウェブフックを受け取ります。
- 支払いを返金します。これを行うには、アドミンページ > サポート > 取引検索にアクセスしてください。
- テスト取引を選択し、その他(•••)メニューボタンをクリックします。ポップアップメニューの返金をクリックします(取引のステータスは完了である必要があります)。これはキャンセルされたサブスクリプションと返金ウェブフックを送信します。
サブスクリプションの更新をテストする
注意
試用期間のないサブスクリプションでのみ利用可能です。
- サンドボックスモードのトークンを取得します。試用期間(
trial_days
)パラメータに0
の値を渡します。 - 任意の決済方法を使用してサブスクリプションの支払いを行います。
- サンドボックスモードで支払いインターフェースを再度開きます。
- 任意の決済方法を使用してサブスクリプションを更新するには、再度支払います。
- ウェブフックを設定するステップで指定したウェブフックURLでユーザーの確認、支払いおよび更新されたサブスクリプションのウェブフックを取得します。
テストサブスクリプションのキャンセル
サブスクリプションのキャンセルをテストするには、以下を使用します:サブスクリプションで検索する
- アドミンページでサポート > 加入者に移動します。
- キャンセルしたいサブスクリプションを探します。
- サブスクリプションのステータスメニューを開き、以下を選択します:
- キャンセルと返金するはキャンセルされたサブスクリプションと返金ウェブフックを受け取ります。
- 返金なしでキャンセルするはキャンセルされたサブスクリプションウェブフックを受け取ります。
最近の取引で検索する
- アドミンページで、サポート > 取引検索に移動します。
- キャンセルされた最後の取引を検索します。
- その他(•••)アイコンをクリックします。ポップアップメニューの返金をクリックして、キャンセルされたサブスクリプションおよび返金のウェブフックを受け取ります。
お知らせ
サブスクリプションが複数回支払われた場合は、すべての支払いをキャンセルする必要があります。
APIコールを使用する
サブスクリプションの更新APIコールを使用して、サブスクリプションのステータスをキャンセル済みに変更し、キャンセルされたサブスクリプションwebhookを受け取ります。サンドボックスモードで決済UIを開く
サンドボックス決済UIを開くには、アクティブなsandbox
モードのトークンを取得します。必要なトークンを使用してリンクを取得する方法は次の通り:アドミンページ経由
- アドミンページでウェブフックをテストします。試用期間がないサブスクリプションをテストする場合は、試用期間フィールドに値を
0
に指定します。テストが成功したときの確認メッセージを受け取ると、サンドボックスのURLのヘッダーの下に、必要なトークンを含むリンクが表示されます。
- サンドボックスURLリンクをたどります。
APIコール経由
"settings":{"mode":"sandbox"}
パラメータをトークンを作成するメソッドに渡します。"purchase": {"subscription":{"trial_days": 0}}
パラメータを渡して、試用期間のないサブスクリプションをテストします。- 以下のリンクを使用します:
https://sandbox-secure.xsolla.com/paystation4/?token=ACCESS_TOKEN
、ここでACCESS_TOKEN
は前のステップで取得したトークンです。
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。