ストア
はじめに
ストア機能拡張のの使用を開始する前に、ワークフローを含む重要事項と以下の情報を知っておく必要があります。
一般的な注意点
全ての機能は[ストア>設定]で選択された通貨を使用します。設定した通貨と異なる通貨を使用して操作を実行することはできません。
ワークフロー
ユーザーの進行中のコンテンツとサブスクリプション
・"list_current_content"を使ってユーザーの進行中のコンテンツ(進行中の動画/チャンネルのアクセスパス)を取得する事ができます。
・"list_subscriptions"を使ってユーザーの進行中のサブスクリプション一覧を取得する事ができます。
ユーザークレジット
・"get_credit"を使って現在のユーザーのクレジットを取得できます。
・"add_subtract_credit"を使ってユーザにクレジットを追加/削除することができます。
商品情報
動画、チャンネル等のコンテンツに関連した商品を表示したい場合は、"get_product"を使って関連情報を検索します。この機能を使用して、一般的な(=コンテンツではない)ストア商品(クレジット、グローバルアクセスパス、メンバーシップ、サービス、寄付など)のリストを取得することもできます。
ショッピングカートの操作と注文の発注/支払
関連する追加のプロセスと機能の概要
・"get_cart"を使って、ショッピングカート内のコンテンツをいつでも入手できます。この関数は合計金額も返します。
・"modify_cart"を使って、ショッピングカートに商品を追加/削除することができます(商品IDを指定)。この機能を使用してカートを空にすることもできます。
ユーザー側で注文と支払の準備ができたら以下の機能を使用します。
・"place_order":ショッピングカートの商品を注文するには、この機能を使用します。注文が確定するとショッピングカートは空になります。カートの代わりに進行中の注文詳細を得るには"get_cart"を使います。
・"cancel_order":何らかの理由で進行中の注文をキャンセルするににこの関数を使用します。注文が行われると、これは修正できません。ユーザーが注文を変更する必要がある場合は、注文をキャンセルして最初からやり直す必要があります。
・"get_cart":注文が出され、支払いが行われていない(進行中の)場合、この関数は(空のカートではなく)注文の詳細を返します。合計金額も返されることを忘れないでください。
・"add_payment":注文をした後、通常はユーザーに金額を請求します。その後、この機能を使用して対応する支払取引を追加する必要があります。未払い額が"0"になるまでは注文に複数の支払いを追加できます。
・"process_order":支払いが終了して未払い額が"0"になると(これを確認するために"get_cart"関数を使用することができます)、この関数で注文を処理することができます。
発注から支払いまでのワークフローは以下のようになります。
- 商品をカートに追加(modify_cart)
- 注文を確定(place_order)
- 注文の合計金額をユーザーに請求
- 注文に支払いを追加(add_payment)
- 注文処理(process_order)
- ユーザのCVRをリロード(users > get_cvr)
オプション:サブスクリプションの定期的な(自動)支払いと無料トライアルのサブスクリプション
アプリケーションから定期支払いを実装する予定の場合は、以下のようにします。
・定期的な支払いにPayPalを使用しない場合は外部支払処理のプログラムを実装し、この支払方法を[ストア>設定]で設定する必要があります。
・PayPalを使用する場合は、この支払い方法が[ストア>設定]で正しく設定されていることを確認してください。
注:定期支払を設定しない場合、INTER-STREAMはサブスクリプションの更新日が近づくとユーザーに支払いを通知します。
関連する追加のプロセスと機能の概要
・注文する時は"type name"が"SUBSCRIPTION", "SUBSCRIPTIONTRIAL", "SUBSCRIPTIONRENEWAL"と等しい全ての製品のIDを取得してください。
・ユーザーに請求をする際、各サブスクリプションの定期支払い契約プロファイルを作成しなければなりません。これを行うには金額、通貨コード、期間、頻度などの定期支払い情報を知っている必要があります。商品IDを指定して"get_subscription_pre_rp_info"を使用してこの情報を取得します。
・各サブスクリプション商品の定期支払いプロファイルを作成した後(及び注文が処理され、サブスクリプションが作成された後)、もう一度"get_subscription_pre_rp_info"を使用して各商品のサブスクリプションIDを取得します。
・最後に"set_subscription_rp"を使用して、各サブスクリプションの定期購入IDと定期支払い情報を指定して定期支払いを設定します。
サブスクリプション(無料トライアルなし)と定期支払いの場合の発注から支払いまでのワークフローは以下のようになります。
- 商品をカートに追加(modify_cart)
- 注文を確定(place_order)し、サブスクリプション商品のIDを取得(get_cart)
- 各サブスクリプション商品の定期支払い情報を取得(get_subscription_pre_rp_info)
- 注文の合計金額をユーザーに請求し、各サブスクリプション製品の定期支払いプロファイルを作成(次のステップで使用する為に関連情報を保存)
- 注文に支払いを追加(add_payment)
- 注文処理(process_order)
- 各サブスクリプションIDを得る為にサブスクリプション商品の定期支払い情報を再度取得(get_subscription_pre_rp_info)
- サブスクリプションについて、4からの定期支払いプロファイル情報と共にサブスクリプションIDを使用して定期支払いプロファイルを設定(set_subscription_rp)
- ユーザのCVRをリロード(users > get_cvr)
サブスクリプション(無料トライアル有り)と定期支払いの場合の発注から支払いまでのワークフローは以下のようになります。
- サブスクリプション試用版をカートに追加(modify_cart) ※この種の商品はカートに1回だけ追加できます。
- 注文を確定(place_order)し、サブスクリプション商品のIDを取得(get_cart)
- サブスクリプション商品の定期支払い情報を取得(get_subscription_pre_rp_info)
- サブスクリプション製品の定期支払いプロファイルを作成(次のステップで使用する為に関連情報を保存)
※試用版のため、この時点でユーザーに請求する必要はありません。 - 注文処理(process_order)
- サブスクリプションIDを得る為にサブスクリプション商品の定期支払い情報を再度取得(get_subscription_pre_rp_info)
- サブスクリプションについて、4からの定期支払いプロファイル情報と共にサブスクリプションIDを使用して定期支払いプロファイルを設定(set_subscription_rp)
- ユーザのCVRをリロード(users > get_cvr)