カタログUIを作成する
カタログUIを作成する方法は3つあります:
独自のインターフェースを使用する
独自のインターフェイスでディレクトリを作成する場合、以下のことを使用できます:
- 独自のデータ保存と任意の権限設定オプション。この場合、カタログUIはお客様側で実装してください。
- 独自の認証とプランを取得するサーバーメソッド。プランのリストを取得した後、カタログUIをお客様側で実装します。
- エクソーラログインとクライアント側のAPIコール。
エクソーラログインとクライアント側のAPIコール
カタログを実装するには:- クライアントメソッドを使用して、サブスクリプションプランのリストを取得します:
- プロジェクトにサブスクリプションベースの製品が構成されている場合、クライアントサイドのメソッドを使用して、製品別のサブスクリプションプランを取得します
- プロジェクトにサブスクリプションベースの製品が構成されていない場合、プランのリストを取得するためのクライアントサイドのメソッドを使用します
- 受信したプランのリストをインターフェースの表示を実装します。
商品ごとのサブスクリプションプランを取得するクライアント側のメソッド
アプリケーションのクライアント側で、HTTP GETリクエストを使用して、プランのリストを取得することを実装します:https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/products/{productId}/plans
。
リクエストにはAuthorization: Bearer <client_user_jwt>
ヘッダーが含まれている必要があります。<client_user_jwt>
はユーザーのJSONウェブトークン(JWT)であり、Base64 標準に従ってエンコードされた一意のBase64エンコードトークンです。トークンと取得するには:
- アプリケーションでログインとパスワードによる認証を行う場合は、
Register new user およびAuth by username とパスワードのAPIコールを使用してください。 ソーシャルネットワークを介した認証を利用する場合は、
Auth via social network APIコールをご利用ください。
projectId
— プロジェクトID。このパラメータは、アドミンページでプロジェクト名の側に表示されます。
productID
— サブスクリプションベースのプロダクトIDです。取得するには、カスタマーサクセスマネージャーまでお問い合わせるか、csm@xsolla.comに電子メールを送信してください。
パラメータ | 種類 | 説明文 |
---|---|---|
plan_id | array of integers | プランID。 |
| array of strings | プランのexternal ID。アドミンページのサブスクリプション > サブスクリプションプラン > プランセクション、またはプランを取得するAPIコールで確認できます。 |
| integer | ページ内の要素数の制限。デフォルトでは15件が表示されます。 |
| integer | リスト生成元のエレメントの番号。デフォルトでは、カウントは0から始まります。 |
| string | 2文字の小文字で表したインターフェース言語。ISO 639-1の値を受け入れます。このパラメータが渡されない場合、言語はユーザーのIPアドレスによって決定されます。 使用可能な値:
|
| string | 二文字のISO 3166-1 alpha-2指定は、ユーザーの国を識別するために使用されます。このパラメータは、ロケールと通貨の選択に影響します。このパラメータが渡されない場合、国はユーザーのIPアドレスによって決定されます。 |
- curl
curl -X 'GET' \
'https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/products/{productId}/plans?country=RU ' \
-H 'accept: application/json' \
-H 'Authorization: Bearer client_user_jwt'
- javascript
{
"items": [
{
"plan_id": 54321,
"plan_external_id": "PlanExternalId",
"plan_group_id": "TestGroupId",
"plan_type": "all",
"plan_name": "Localized plan name",
"plan_description": "Localized plan description",
"plan_start_date": "2021-04-11T13:51:02+03:00",
"plan_end_date": "2031-04-11T13:51:02+03:00",
"trial_period": 7,
"period": {
"value": 1,
"unit": "month"
},
"charge": {
"amount": 4.99,
"setup_fee": 0.99,
"currency": "USD"
},
"promotion": {
"promotion_charge_amount": 3.99,
"promotion_remaining_charges": 3
}
}
],
"has_more": false
}
プランのリストを取得するクライアント側のメソッド
アプリケーションのクライアント側で、HTTP GETリクエストを使用して、プランのリストを取得することを実装します:https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/plans
。
リクエストにはAuthorization: Bearer <client_user_jwt>
ヘッダーが含まれている必要があります。<client_user_jwt>
はユーザーのJSONウェブトークン(JWT)であり、Base64 標準に従ってエンコードされた一意のBase64エンコードトークンです。トークンと取得するには:
- アプリケーションでログインとパスワードによる認証を行う場合は、
Register new user およびAuth by username とパスワードのAPIコールを使用してください。 ソーシャルネットワークを介した認証を利用する場合は、
Auth via social network APIコールをご利用ください。
projectId
として指定します。このパラメータは、アドミンページでプロジェクト名の隣に表示されます。クエリパラメータとして指定します:
パラメータ | 種類 | 説明文 |
---|---|---|
plan_id | array of integers | プランID。 |
| array of strings | プランのexternal ID。アドミンページのサブスクリプション > サブスクリプションプラン > プランセクション、またはプランを取得するAPIコールで確認できます。 |
| integer | ページ内の要素数の制限。デフォルトでは15件が表示されます。 |
| integer | リスト生成元のエレメントの番号。デフォルトでは、カウントは0から始まります。 |
| string | 2文字の小文字で表したインターフェース言語。ISO 639-1の値を受け入れます。このパラメータが渡されない場合、言語はユーザーのIPアドレスによって決定されます。 使用可能な値:
|
| string | 二文字のISO 3166-1 alpha-2指定は、ユーザーの国を識別するために使用されます。このパラメータは、ロケールと通貨の選択に影響します。このパラメータが渡されない場合、国はユーザーのIPアドレスによって決定されます。 |
- curl
curl -X 'GET' \
'https://subscriptions.xsolla.com/api/user/v1/projects/{project_id}/plans?country=RU ' \
-H 'accept: application/json' \
-H 'Authorization: Bearer client_user_jwt'
- javascript
{
"items": [
{
"plan_id": 54321,
"plan_external_id": "PlanExternalId",
"plan_group_id": "TestGroupId",
"plan_type": "all",
"plan_name": "Localized plan name",
"plan_description": "Localized plan description",
"plan_start_date": "2021-04-11T13:51:02+03:00",
"plan_end_date": "2031-04-11T13:51:02+03:00",
"trial_period": 7,
"period": {
"value": 1,
"unit": "month"
},
"charge": {
"amount": 4.99,
"setup_fee": 0.99,
"currency": "USD"
},
"promotion": {
"promotion_charge_amount": 3.99,
"promotion_remaining_charges": 3
}
}
],
"has_more": false
}
エクソーラペイステーションを使用する
- サーバー側のトークンを作成するAPIコールを介してトークンの取得を実装します。リクエストで次のパラメータを渡します:
- 以下のいずれかの方法で決済UIを開くことを実装します:
- javascript
{
"user": {
"name": {
"value": "j.smith@email.com"
},
"id": {
"value": "123a345b678c091d"
}
},
"settings": {
"project_id": 177226
}
}
エクソーラペイステーションにサブスクリプションカタログを表示した例:
エクソーラサイトビルダーを使用する
エクソーラサイトビルダーで、サブスクリプションを販売するにはサイトを作成し、設定することができます。そのためには、ウェブショップのテンプレートを使って、サイトを作成します。ウェブショップのロール設定については、ユーザー認証のあるウェブショップに関する説明を参照してください。
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。