Subscription upgrade ブロックは、Cart items の中にネストされるサブブロックです。対象となる単発購入のラインアイテムをカートから直接サブスクリプションに切り替えるよう購入者に促し、意思決定の瞬間に単発購入を継続収益へと変えます。また、すでに購読中の購入者は、そのラインでプランの変更やキャンセルができます。
動作
- 対象ラインにのみ表示されます。 ブロックは商品の販売プランを読み取り、サブスクリプションプランのない商品のラインには何もレンダリングしません。
- リワードのギフトには表示されません。 自動付与された無料ギフトを購読に切り替えるとリワードステータスが失われるため、そうしたラインではプロンプトが抑制されます。
- 単発購入のラインでは、アップグレードのコールトゥアクションを表示します。
- すでに購読中のラインでは、プランセレクターと「単発購入にダウングレード」オプションを表示します。
設定
配置と制限
- 親: Cart items の中にのみネストします。
- 最大数: カートごとに 1 つ。
- デフォルトでは追加されません。ロックもされていないため、削除や非表示が可能です。
カスタムテンプレート
view.state が示します。カスタムテンプレート内で view が null になることはありません。ラインにプランがない場合、ブロックは何もレンダリングせず、テンプレートも呼び出されません。
view.plans の各エントリは { id: number, name: string, discountPercent: number } です。
<select> には onChange を、ボタンには selectPlan を使ってください。onChange は oneTimeValue のセンチネルをすでに処理しています。<select> に独自のハンドラーを接続する場合は、自分で oneTimeValue と比較して selectPlan(null) を呼ぶ必要があります。