Azure Event Gridを使用して Stripe イベントをサブスクライブする

この記事では、企業向けの金融インフラストラクチャ プラットフォーム である Stripe によって発行されたイベントをサブスクライブする手順について説明します。

前提条件

Azure Event Grid にイベントを送信するように Stripe アカウントを構成する前に、システムが満たす必要がある前提条件を次に示します。

  • Azure Event Grid を使用する Azure サブスクリプション。
  • Stripe ダッシュボードにアクセスし、イベントの送信先を構成するためのアクセス許可を持つ Stripe アカウント。

高レベルの手順

  1. Event Grid リソース プロバイダーを Azure サブスクリプションに登録します。
  2. Stripe がリソース グループにパートナー トピックを作成することを承認します。
  3. Stripe イベントをパートナー トピックにフローできるようにします。
  4. パートナー トピックをアクティブ化して、イベントのフローを開始します。
  5. イベントを登録します。

Event Grid リソース プロバイダーを登録する

以前に Event Grid を使用していない限り、Event Grid リソース プロバイダーを登録する必要があります。 以前に Event Grid を使用したことがある場合は、次のセクションに進んでください。

Azure portal で、次の手順を実行します。

  1. 左側のメニューで [サブスクリプション] を選択します。

  2. サブスクリプションの一覧から Event Grid に使用するサブスクリプションを選択します。

  3. [サブスクリプション] ページで、左側のメニューの [設定] の下の [リソース プロバイダー] を選択します。

  4. Microsoft.EventGrid を検索し、[状態][未登録] であることを確認します。

  5. プロバイダーの一覧で [Microsoft.EventGrid] を選択します。

  6. コマンド バーの [登録] を選択します。

    Azure サブスクリプションへの Microsoft.EventGrid プロバイダーの登録のスクリーンショット。

  7. 最新の情報に更新して、Microsoft.EventGrid の状態が [登録済み] に変更されたことを確認します。

    Azure サブスクリプションへの Microsoft.EventGrid プロバイダーの正常な登録のスクリーンショット。

パートナーがパートナー トピックを作成することを承認する

指定したリソース グループにパートナー トピックを作成するには、Stripe に同意する必要があります。 この承認には有効期限があります。 これは、1 日から 365 日の範囲で指定した期間有効です。

Important

セキュリティに対する姿勢を強化するために、パートナーが、Event Grid にフローするようにイベントを構成し、パートナー トピックをプロビジョニングするのに十分な時間を確保できる最小限の有効期限を指定します。 認可の有効期限が切れた後は、パートナーが Azure サブスクリプションにリソース (パートナー トピック) を作成できなくなります。

Event Grid では、2022 年 6 月 30 日頃にパートナー トピックを作成するための承認チェックの適用が開始されました。

  1. Azure portal にサインインする

  2. 上部の検索バーに「パートナー構成」と入力し、結果の [サービス] の下にある [Event Grid パートナー構成] を選択します。

  3. Event Grid パートナー構成 ページで、ページ上のEvent Grid パートナー構成の作成 ボタンを選択するか、コマンド バーの + 作成 を選択します。

    パートナー構成の一覧と、パートナー登録を作成するためのリンクを含む Event Grid パートナー構成ページのスクリーンショット。

  4. [パートナー構成の作成] ページで、次の手順を行います。

    1. [プロジェクトの詳細] セクションで、パートナー トピックを作成することをパートナーに許可する Azure の [サブスクリプション][リソース グループ] を選択します。

    2. [パートナー承認] セクションでは、この構成で定義されるパートナー承認の既定の有効期限を指定します。

    3. 指定したリソース グループにパートナー トピックを作成するための承認を Stripe に提供するには、[ + パートナー承認 ] リンクを選択します。

      [パートナーの承認] リンクが選択されている [パートナー構成の作成] ページのスクリーンショット。

  5. [Add partner authorization to create resources]\(リソースを作成するためのパートナー承認を追加する)\ ページに、確認済みパートナーの一覧が表示されます。 確認済みパートナーとは、Microsoft によって検証済みの ID を持つパートナーです。 Stripe を承認してパートナー トピックを作成するには、次の手順に従います。

    1. 検証済みパートナーの一覧から [Stripe ] を選択します。

    2. [承認の有効期限] を指定します。

    3. [] を選択し、[] を追加します。

      確認済みのパートナーにリソース グループ内にリソースを作成するための承認を付与できるページのスクリーンショット。

      Important

      認可の有効期限が切れた後は、パートナーが Azure サブスクリプションにリソース (パートナー トピック) を作成できなくなります。

  6. [ パートナー構成の作成] ページに戻り、下部にあるパートナー承認リストに Stripe が追加されていることを確認します。

  7. ページの下部にある [ 確認と作成 ] を選択します。

  8. [ レビュー ] ページで、すべての設定を確認し、[ 作成 ] を選択してパートナー構成を作成します。

Stripe イベントをパートナー トピックにフローできるようにする

Stripe ダッシュボードでイベントの送信先として Azure Event Grid を構成するには、次の手順に従います。

  1. Stripe ダッシュボードにサインインします。
  2. 開発者>Destinations に移動します。
  3. [+ 宛先の追加] を選択し、宛先の種類として [Azure Event Grid] を選択します。
  4. Azure Event Grid によって提供される パートナー トピック チャネル URL を入力します。
  5. payment_intent.succeededinvoice.paidなど、Azure Event Grid に送信するcustomer.subscription.updatedを選択します。
  6. 変換先の構成を保存します。

構成してアクティブにすると、Stripe によって、指定された Azure リソース グループにパートナー トピックが作成されます。

パートナー トピックをアクティブ化する

  1. Azure portal の検索バーで、Event Grid パートナー トピックを検索して選択します。

  2. [Event Grid パートナー トピック] ページで、一覧からパートナー トピックを選択します。

    [Event Grid パートナー トピック] ページでのパートナー トピックの選択のスクリーンショット。

  3. アクティブ化されたメッセージを確認し、ページまたはコマンド バーで [アクティブ化 ] を選択して、ページに記載されている有効期限が切れる前にパートナー トピックをアクティブ化します。

    コマンド バーまたはページの [アクティブ化] ボタンの選択のスクリーンショット。

  4. [アクティブ化の状態] が [アクティブ化済み] に設定されていることを確認し、コマンド バーで [+ イベント サブスクリプション] を選択してパートナー トピックのイベント サブスクリプションを作成します。

    アクティブ化されたパートナー トピックのアクティブ化状態のスクリーンショット。

イベントを登録する

まず、Stripe からのイベントを処理するイベント ハンドラーを作成します。 たとえば、イベント ハブ、Service Bus キューまたはトピック、または Azure 関数を作成します。 次に、作成したイベント ハンドラーを使用してパートナー トピックのイベント サブスクリプションを作成します。

イベント ハンドラーを作成する

パートナー トピックをテストするには、イベント ハンドラーが必要です。 お使いの Azure サブスクリプションに移動し、イベント ハンドラーとしてサポートされているサービス (Azure 関数など) を開始します。 例については、Webhook を介してイベント ハンドラーとして使用できる Event Grid ビューアーのサンプルを参照してください。

パートナー トピックをサブスクライブする

パートナー トピックをサブスクライブすると、Stripe イベントを配信する場所が Event Grid に通知されます。

  1. Azure portal の検索ボックスに「Event Grid パートナー トピック」と入力し、Event Grid パートナー トピックを選択します。

  2. [Event Grid パートナー トピック] ページで、一覧からパートナー トピックを選択します。

    [Event Grid パートナー トピック] ページのパートナー トピックの選択のスクリーンショット。

  3. パートナー トピックの [Event Grid パートナー トピック] ページで、コマンド バーの [+ イベント サブスクリプション] を選択します。

    [Event Grid パートナー トピック] ページの [イベント サブスクリプションの追加] ボタンの選択のスクリーンショット。

  4. [イベント サブスクリプションの作成] ページで、次の手順を実行します。

    1. イベント サブスクリプションの名前を入力します。

    2. フィルターからイベントの種類で、サブスクリプションが受け取るStripeイベントの種類(payment_intent.succeededcharge.failedcustomer.subscription.updated など)を選択します。

    3. [エンドポイントの種類] で、Azure サービス (Azure 関数、ストレージ キュー、Event Hubs、Service Bus キュー、Service Bus トピック、ハイブリッド接続など)、または webhook を選択します。

    4. [エンドポイントを構成する] リンクを選択します。 この例では、宛先エンドポイントとして Azure Event Hubs を使用してみましょう。

      イベント サブスクリプションのエンドポイントの構成のスクリーンショット。

    5. [イベント ハブの選択] ページで、エンドポイントの構成を選択し、[選択の確認] を選択します。

      Event Hubs エンドポイントの構成のスクリーンショット。

    6. 次に、[イベント サブスクリプションの作成] ページで、[作成] を選択します。

      構成例を含む [イベント サブスクリプションの作成] ページのスクリーンショット。

次のステップ