次の方法で共有


SaaS サブスクリプションのライフ サイクルの管理

コマーシャル マーケットプレースは、エンド ユーザーによる購入後の SaaS サブスクリプションのライフ サイクル全体を管理します。 ランディング ページ、Fulfillment API、Operations API、Webhook を使用して、実際の SaaS サブスクリプションのアクティブ化、使用、更新、および取り消しを推進します。 エンド ユーザーの請求書は、Microsoft が保持する SaaS サブスクリプションの状態に基づいています。

SaaS サブスクリプションの状態

次の図は、SaaS サブスクリプションの状態と該当するアクションを示しています。

マーケットプレースでのサービスとしてのソフトウェア サブスクリプションのライフ サイクルを示す図。

購入済みでまだアクティブ化されていません (PendingFulfillmentStart)

エンド ユーザーまたはクラウド ソリューション プロバイダー (CSP) がコマーシャル マーケットプレースで SaaS オファーを購入すると、発行元に購入が通知されます。 その後、パブリッシャーは、エンド ユーザーのパブリッシャー側で新しい SaaS アカウントを作成して構成できます。

アカウントの作成を行う場合:

  1. 顧客は、Microsoft AppSource または Azure portal での購入が成功した後に SaaS オファーで使用できる アカウントの構成 ボタンを選択します。 または、顧客は、購入後すぐに受け取る電子メールの [今すぐ構成] ボタンを使用することもできます。
  2. その後、Microsoft は、新しいブラウザー タブでトークン パラメーター (コマーシャル マーケットプレースからの購入識別トークン) を使用してランディング ページ URL を開くことで、購入についてパートナーに通知します。

このような呼び出しの例は https://contoso.com/signup?token=<blob>ですが、パートナー センターのこの SaaS オファーのランディング ページ URL は https://contoso.com/signupとして構成されています。 このトークンは、SaaS 購入と顧客を一意に識別する ID を発行元に提供します。

先端

ランディング ページの URL にシャープ記号 (#) を含めないでください。 それ以外の場合、顧客はランディング ページにアクセスできません。 状態が PendingFulfillmentStart場合、パブリッシャーは資産を解決するために 30 日を持っています。 それ以外の場合、資産は無効になります。 課金サイクルが開始されず、それぞれの購入に課金されないため、状態は Unsubscribedに変わります。 顧客は購入に対して課金されません。

大事な

ランディング ページの URL は、毎日稼働していて、Microsoft から常に新しい呼び出しを受け取る準備ができている必要があります。 ランディング ページが利用できなくなった場合、顧客は SaaS サービスにサインアップして使用を開始できません。

次に、パブリッシャーは、SaaS Resolve APIを呼び出し、x-ms-marketplace-token header パラメーターの値としてトークンを入力することによって、トークン を Microsoft に渡す必要があります。 Resolve API 呼び出しの結果、トークンは、購入の一意の ID、購入したオファー ID、購入したプラン ID など、SaaS 購入の詳細と交換されます。

ランディング ページで、顧客は Microsoft Entra シングル サインオン (SSO) を使用して新規または既存の SaaS アカウントにサインインする必要があります。

手記

顧客が Microsoft 側から構成プロセスを開始するまで、発行元は SaaS 購入の通知を受け取りません。

発行元は、このフローに対して Microsoft が必要とするユーザー エクスペリエンスを提供するために SSO を実装する必要があります。 SSO を構成するときは、マルチテナント Microsoft Entra アプリケーションを使用し、職場と学校のアカウントまたは個人の Microsoft アカウントの両方を許可してください。 この要件は、Microsoft 資格情報で既にサインインしている場合に SaaS サービスにリダイレクトされるユーザーに対して、ランディング ページにのみ適用されます。 SSO は、SaaS サービスへのすべてのサインインに必要なわけではありません。

手記

SSO で管理者がアプリにアクセス許可を付与する必要がある場合は、パートナー センターのオファーの説明で、管理者レベルのアクセスが必要であることを開示する必要があります。 この開示は、コマーシャル マーケットプレース認定ポリシーに準拠することです。

サインイン後、顧客はパブリッシャー側で SaaS 構成を完了する必要があります。 次に、パブリッシャーは Activate Subscription API を呼び出して、SaaS アカウントのプロビジョニングが完了したことを示すシグナルを Azure Marketplace に送信する必要があります。 このアクションにより、顧客の請求サイクルが開始されます。 Activate Subscription API 呼び出しが成功しなかった場合、顧客は購入に対して課金されません。

プロビジョニング シナリオで呼び出す A P I を示す図。

購入者と課金アカウント所有者の両方に、アカウントの構成を要求する電子メールが届きます。

手記

状態が PendingFulfillmentStart場合、パブリッシャーは資産を解決するために 30 日を持っています。 それ以外の場合、課金サイクルが開始されず、それぞれの購入が課金されないため、資産は無効になります。 状態が [登録解除済みに変わります。 顧客は購入に対して課金されません。

アクティブ (サブスクライブ済み)

アクティブ (サブスクライブ済み) は、プロビジョニングされた SaaS サブスクリプションの安定した状態です。 Microsoft 側で Activate Subscription API 呼び出しが行われると、SaaS サブスクリプションはサブスクライブとしてマークされます。 これで、顧客は発行元側で SaaS サービスを使用できるようになり、課金されます。

SaaS サブスクリプションが既にアクティブになっている場合、顧客は Azure portal または Microsoft 365 管理センターから SaaS エクスペリエンス の管理を選択できます。 また、このアクションにより、アクティブ化フローで行われるように、トークン パラメーターを使用して ランディング ページ URL が呼び出されます。 パブリッシャーは、新しい購入と既存の SaaS アカウントの管理を区別し、それに応じてこのランディング ページ URL 呼び出しを処理する必要があります。

アクティブ化通知メールは、購入者と課金アカウント所有者の両方に送信されます。

更新中 (サブスクライブ)

このアクションは、既存のアクティブな SaaS サブスクリプションの更新が Microsoft と発行元の両方によって処理されていることを意味します。 更新は次の方法で開始されます。

  • コマーシャル マーケットプレースからの顧客。
  • コマーシャル マーケットプレースからの CSP。
  • 発行元の SaaS サイトからの顧客 (ただし、CSP による購入には使用できません)。

SaaS サブスクリプションでは、次の 2 種類の更新プログラムを使用できます。

  • 顧客がサブスクリプションの別のプランを選択したときにプランを更新します。
  • 顧客がサブスクリプションの購入済みライセンスの数を変更したときに数量を更新します。

アクティブなサブスクリプションのみを更新できます。 サブスクリプションが更新されている間、その状態は Microsoft 側でアクティブなままです。

コマーシャル マーケットプレースから開始された更新プログラム

このフローでは、お客様は Azure portal または Microsoft 365 管理センターからサブスクリプション プランまたはライセンス数を変更します。

  1. 更新プログラムが入力されると、Microsoft は、パートナー センターの [技術構成] ページの [接続 webhook] フィールドに構成された発行元の webhook URL を呼び出し、アクション とその他の関連パラメーター 適切な値を指定します。
  2. 発行元側は、SaaS サービスに必要な変更を加え、操作 APIの更新状態 呼び出して完了したら Microsoft に通知する必要があります。
  3. 失敗 状態でパッチが送信された場合、更新プロセスは Microsoft 側で完了しません。 SaaS サブスクリプションでは、既存のプランとライセンス数が保持されます。

手記

パブリッシャーは PATCH を呼び出して、Webhook 通知を受信した後、 10 秒以内に失敗/成功応答 で操作 API の状態を 更新する必要があります。 10 秒以内に操作状態の PATCH を受け取らない場合、変更計画は成功として自動的に修正プログラムが適用

コマーシャル マーケットプレースから開始される更新シナリオの一連の API 呼び出しを次の図に示します。

マーケットプレースが開始した更新プログラムを呼び出す A P I を示す図。

パブリッシャーから開始された更新プログラム

このフローでは、顧客は SaaS サービス自体から購入したサブスクリプション プランまたはライセンスの数量を変更します。

  1. 発行元側で要求された変更を行う前に、発行元コードで Change Plan API または Change Quantity API またはその両方を呼び出す必要があります。
  2. Microsoft は変更をサブスクリプションに適用し、Connection webhook を介してパブリッシャーに通知して、同じ変更を適用します。
  3. その場合にのみ、発行元が SaaS サブスクリプションに必要な変更を加え、操作 APIの更新ステータス 呼び出して変更が完了したときに Microsoft に通知する必要があります。

パブリッシャー側から開始される更新シナリオの API 呼び出しのシーケンスを次の図に示します。

パブリッシャー側で開始された更新プログラムを呼び出す A P I を示す図。

プランの変更を示す通知メールが購入者と課金アカウント所有者の両方に送信されます。

数量の変更を示す通知メールが、購入者と請求先アカウント所有者の両方に送信されます。

Suspended (Suspended)

この状態は、SaaS サービスに対する顧客の支払いが受信されなかったことを示します。 Microsoft は、SaaS サブスクリプションの状態でこの変更をパブリッシャーに通知します。 通知は、アクション パラメーターが suspendedに設定された webhook 呼び出しによって行われます。

発行元は、発行元側の SaaS サービスに変更を加える場合と変更しない場合があります。 発行元は、中断された顧客がこの情報を利用できるようにし、SaaS サービスへの顧客のアクセスを制限またはブロックすることをお勧めします。 支払いを受け取らない可能性があります。

手記

Microsoft は、サブスクリプションを自動的に取り消す前に、30 日間の猶予期間をお客様に付与します。 30 日間の猶予期間が終了すると、webhook は Unsubscribe アクションを受け取ります。

サブスクリプションが Suspended 状態の場合:

  • データや設定を失うことなく完全な機能を復元できるように、パートナーまたは ISV は SaaS アカウントを回復可能な状態に保つ必要があります。
  • パートナーまたは ISV は、猶予期間に支払いを受け取った場合、または猶予期間の終了時にサブスクリプションをプロビジョニング解除する要求を要求する必要があります。 Webhook メカニズムは両方の要求を送信します。

パブリッシャーがアクションを実行する前に、サブスクリプションの状態が Microsoft 側で 中断 に変更されます。 中断できるのはアクティブなサブスクリプションのみです。

中断 の状態の変更を示す通知メールが、購入者と課金アカウント所有者の両方に送信されます。

30 日間の一時停止期間の後、一時停止後のキャンセルに関する電子メールが購入者と課金アカウント所有者の両方に送信されます。

復帰 (中断)

このアクションは、顧客の支払い方法が再び有効であることを示します。 SaaS サブスクリプションに対して支払いが行われ、サブスクリプションが復元されます。 この場合:

  1. Microsoft は、アクション パラメーターを の復元 値に設定して webhook を呼び出します。
  2. パブリッシャーは、サブスクリプションがパブリッシャー側で再び完全に動作することを確認します。
  3. 再開プロセスが成功し、顧客は SaaS サブスクリプションに対して再び課金されます。

一時停止されたサブスクリプションのみを復元できます。 中断された SaaS サブスクリプションは、復帰中も 中断 状態のままです。 この操作が完了すると、サブスクリプションの状態がアクティブなになります。

中断状態から再開状態への移行後に、購入者と課金所有者の両方に電子メールが送信されます。

更新済み (サブスクライブ済み)

Microsoft は、1 か月または 1 年のサブスクリプション期間の終了時に SaaS サブスクリプションを自動的に更新します。 自動再更新設定の既定値は、すべての SaaS サブスクリプション true です。 アクティブな SaaS サブスクリプションは、定期的に更新され続けます。 Microsoft では、更新イベントに関する情報のみの Webhook 通知を提供しています。 顧客は、Microsoft 365 管理ポータルを使用して SaaS サブスクリプションの自動更新をオフにすることができます。 この場合、SaaS サブスクリプションは、現在の請求期間の終了時に自動的に取り消されます。 顧客はいつでも SaaS サブスクリプションを取り消すことができます。

アクティブなサブスクリプションのみが自動的に更新されます。 サブスクリプションは、更新プロセス中、および自動更新が成功した場合でもアクティブなままです。 更新後、サブスクリプション期間の開始日と終了日が新しい期間の日付に更新されます。

支払いに関する問題が原因で自動再通知が失敗した場合、サブスクリプションは 中断 になり、発行元に通知されます。

更新に関するリマインダー メールは、年次または複数年の更新日の 30 日前に、購入者と課金アカウントの所有者の両方に送信されます。

取り消し済み (登録解除)

サブスクリプションを取り消すために明示的な顧客または CSP アクションが実行された後、サブスクリプションはこの状態に達します。 パブリッシャー サイト、Azure portal、または Microsoft 365 管理センターからサブスクリプションを取り消します。 また、サブスクリプションは、未払い期限の結果として暗黙的に取り消され、30 日間 中断 状態になります。

パブリッシャーが取り消し Webhook 呼び出しを受け取った後、少なくとも 7 日間、要求に応じて顧客データを回復するために保持する必要があります。 その場合にのみ、顧客データを削除できます。

SaaS サブスクリプションは、そのライフサイクルのどの時点でも取り消すことができます。 サブスクリプションが取り消された後は、再アクティブ化できません。

キャンセルメールは、購入者と課金アカウントの所有者の両方に送信されます。

ビデオ チュートリアルの

  • .NET でのシンプルな SaaS パブリッシャー ポータルの構築の
  • SaaS オファー REST Fulfillment API を使用する