# Amazon EventBridge にイベントを送信する AWS インフラで Stripe イベントを使用します。 > #### ワークベンチを有効にする > > Amazon EventBridge にイベントを送信するには、ダッシュボードの[開発者向け設定](https://dashboard.stripe.com/settings/developers)でワークベンチを有効にします。 [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) は、AWS が提供するサーバーレスの、イベント駆動型サービスです。イベントを取り込み、変換し、送信することでアプリケーションを統合できます。イベントの送信先を使用する EventBridge を導入することで、Stripe からのイベントデータを AWS アカウントで直接受け取ることができるようになります。ご自身でトラフィックの処理し、導入のコードロジックを管理する必要はありません。イベントを受信すると、EventBridge はイベントを [20 以上のサポートターゲット](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)に振り分けて処理するか、ビジネスの自動化を開始できます。 ## Amazon EventBridge にイベントを送信する 以下のステップを実行して、EventBridge でイベントを受信します。手順には、ワークベンチでの新しいイベントの作成と、[AWS 管理コンソール](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/learn-whats-new.html)での EventBridge の設定が含まれています。 > 各ステップを完了するまでは、Amazon EventBridge でイベントデータを受信しません。 ## 新しいイベントの送信先を追加する [ワークベンチ] > #### サンドボックスでイベントを送信する > > 本番アカウントまたは[サンドボックス](https://docs.stripe.com/sandboxes.md)を使用して、Amazon EventBridge にイベントを送信します。 ダッシュボードのワークベンチを使用するか、[API](https://docs.stripe.com/api/v2/event-destinations.md) を使用してプログラムでイベントの送信先を作成します。 #### ダッシュボード ダッシュボードでイベントの送信先を作成するには、以下のようにします。 1. Workbench で [Webhooks](https://dashboard.stripe.com/webhooks) タブを開きます。 1. **新しい送信先を作成** をクリックします。 1. イベントの受信元を選択します。Stripe は、**お客様のアカウント** と[連結アカウント](https://docs.stripe.com/connect.md)の 2 種類の設定をサポートしています。**アカウント** を選択して、自分のアカウントからイベントをリッスンします。[Connect アプリケーション](https://docs.stripe.com/connect.md)を作成し、連結アカウントからのイベントをリッスンする場合は、**連結アカウント** を選択します。 > #### 組織のイベント送信先からのイベントをリッスンする > > [組織アカウント](https://docs.stripe.com/get-started/account/orgs.md)でイベントの送信先を作成する場合は、**アカウント** を選択して、組織内のアカウントからのイベントをリッスンします。組織のメンバーとして [Connect プラットフォーム](https://docs.stripe.com/connect.md)があり、すべてのプラットフォームの連結アカウントからのイベントをリッスンする場合は、**連結アカウント** を選択します。 1. この送信先で受信する[イベントタイプ](https://docs.stripe.com/api/events/types.md)を選択します。次に、**続行** をクリックします。 1. 送信先タイプとして **Amazon EventBridge** を選択し、**続行** をクリックします。 1. 次の情報を入力します。 - [AWS アカウント ID](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html): イベントを受信する EventBridge インスタンスをホストする AWS アカウント。 - [AWS リージョン](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/): イベントを受信する EventBridge インスタンスをホストする AWS リージョン。 - (任意) **送信先の名前**: Stripe でのこのイベントの送信先リソースの一意の名前。名前を指定しない場合は、ランダムな名前が生成されます。後で変更できます。 - (任意) **説明**: イベントの送信先のインスタンスを区別する説明。これは後で変更できます。 1. **送信先を作成** をクリックします。 ![Webhook タブで新しい Webhook を登録する](https://b.stripecdn.com/docs-statics-srv/assets/create-webhook.f728025897e9e4ca2ba623abe34995a0.png) **Webhook** タブで新しい Webhook を登録する #### API [API](https://docs.stripe.com/api/v2/event-destinations.md) を使用して、Amazon EventBridge の新しいイベントの送信先を作成します。下記の例では、Stripe は、[従量課金](https://docs.stripe.com/billing/subscriptions/usage-based.md)の検証エラーがトリガー された場合に通知します。 [Connect アプリケーション](https://docs.stripe.com/connect.md)を作成し、連結アカウントをリッスンする場合は、[events_from](https://docs.stripe.com/api/v2/core/event-destinations/create.md#v2_create_event_destinations-events_from) パラメーターを使用し、その値を `@accounts` に設定します。[Organization](https://docs.stripe.com/get-started/account/orgs.md) イベントの送信先では、組織内のアカウントからのイベントには `@organization_members` を使用し、組織全体の連結アカウントのイベントには `@organization_members/@accounts` を使用します。 ```curl curl -X POST https://api.stripe.com/v2/core/event_destinations \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-03-25.preview" \ --json '{ "name": "My Event Destination", "description": "This is my event destination, I like it a lot", "type": "amazon_eventbridge", "event_payload": "thin", "enabled_events": [ "v1.billing.meter.error_report_triggered" ], "amazon_eventbridge": { "aws_account_id": "012345678910", "aws_region": "us-east-1" } }' ``` ## パートナーイベントソースを関連付ける [AWS コンソール] イベントの送信先を設定すると、Stripe は設定時にお客様が指定した AWS アカウントとリージョンに[パートナーイベントソース](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_EventSource.html)を作成します。イベントの受信を開始するには、イベントの送信先を作成してから 7 日以内にこのイベントソースを[イベントバス](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html)に関連付ける必要があります。この期間内に関連付けなかった場合、Amazon は保留中のイベントソースを自動的に削除します。イベントソースが削除されると、Stripe のイベントの送信先は自動的に無効になり、イベントを受信するには新しい送信先を作成する必要があります。 1. [AWSコンソール](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/learn-whats-new.html) の**EventBridge**の下で、左側のパネルの**導入**セクションに表示されている [パートナーイベントソースページ](https://console.aws.amazon.com/events/home#/partners) に移動します。 ![**パートナーイベントソース**に移動する](https://b.stripecdn.com/docs-statics-srv/assets/aws-select-partner-event-source.14ff917248eeb4f333195e6b3a431447.png) 1. コンソール上部にある**リージョン**ドロップダウンリストを使用して、[ワークベンチでイベントの送信先](https://docs.stripe.com/event-destinations/eventbridge.md#add-eventbridge-destination)を設定したときに選んだリージョンを選択します。 ![AWS リージョンを選択する](https://b.stripecdn.com/docs-statics-srv/assets/aws-region.6a68960287ba6356f8e856501295a039.png) 1. ドロップダウンから、新しく作成されたパートナーイベントソースを選択します。ワークベンチのイベントソース ARN を検索するには、イベントの送信先を選択します。パートナーソースは `event-source/aws.partner/stripe.com/{UNIQUE_ID}` という ARN と部分的に一致しています。次に、**イベントバスと関連付ける**をクリックします。 ![パートナーイベントソースをイベントバスと関連付ける](https://b.stripecdn.com/docs-statics-srv/assets/aws-associate-partner-event-source.c89d540961356ff06e3fb095956ba80f.png) 1. 必要に応じて、このイベントバスに付与するアクセス許可を選択し、**関連付ける**をクリックします。 ![アクセス許可を選択して、関連付けを確定する](https://b.stripecdn.com/docs-statics-srv/assets/aws-associate-event-bus.28dcbc4781d814799076258c8f1b9a04.png) ## EventBridge ルールを作成する [AWS コンソール] EventBridge では、お客様が定義する[ルール](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)に基づきイベントがグループ化され、振り分けられます。イベントの送信先を作成し、そのパートナーイベントソースをイベントバスに関連付けた後で、イベントバスで受信したイベントの処理方法を EventBridge に確実に伝えるために、ルールを定義する必要があります。以下のステップを複数回繰り返して、複数のルールを定義できます。 1. AWS マネジメントコンソールに移動して、[ルール](https://console.aws.amazon.com/events/home#/events)をクリックします。 ![**ルール**に移動する](https://b.stripecdn.com/docs-statics-srv/assets/aws-select-rules.f385d0e668caafc9614584e2ae635138.png) 1. **ルールを作成**をクリックして、ルールの名前と説明を指定します。 ![ルールの名前と説明を指定する](https://b.stripecdn.com/docs-statics-srv/assets/aws-define-rule.ce885bcbea4d7492f082eba2f38fd840.png) 1. ドロップダウンからイベントバスを選択します。イベントバスを見つけるには、ワークベンチに移動して**Webhook**タブで送信先を選択してから、**イベントソース ARN** フィールドを表示します。これはイベントソース ARN と同じ名前になります。**次へ**をクリックします。 1. Stripe イベントはパートナーイベントなので、**イベントソース**の下で **AWS イベントまたは EventBridge パートナーイベント**を選択します。 ![イベントソースを選択する](https://b.stripecdn.com/docs-statics-srv/assets/aws-event-source.29ee4d4e795b0f7d89db7163ab7b9ac5.png) 1. (任意) サンプルの Stripe イベントを含めます。 1. **作成のメソッド**で、**パターンフォームを使用する**を選択して、事前定義されたパターンを使用します。あるいは、カスタムのイベントパターンを作成することもできます。 ![事前定義されたルールパターンを使用する](https://b.stripecdn.com/docs-statics-srv/assets/aws-create-rule-pattern.3246a6c5a409b1b0571f56acc6e7b91b.png) 1. **イベントパターン**の下で、**イベントソース**として **EventBridge パートナー**を選択します。 1. **イベントパターン**の下で、**パートナー**として **Stripe** を選択します。 1. ルールを作成する適切なイベントタイプを選択するか、**すべてのイベント**を選択して、このルールをすべてのイベントタイプに適用し、**次へ**をクリックします。 1. このルールでイベントを送信する[ターゲット](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)を選択して、**次へ**をクリックします。 > #### 推奨事項 > > Stripe は、各イベントバスで [CloudWatch ログターゲットを作成](https://repost.aws/knowledge-center/cloudwatch-log-group-eventbridge)して、イベントの送信先の監視を有効にすることをお勧めしています。その他の[一般的なアーキテクチャーパターン](https://docs.stripe.com/event-destinations/eventbridge.md#common-architecture)を EventBridge および Stripe イベントとともに使用することを検討してください。 ![ルールのターゲットを選択する](https://b.stripecdn.com/docs-statics-srv/assets/aws-select-target.d9da569a26cf0d6fcc81f753b16d0e60.png) 1. オプションのタグを追加して、**次へ**をクリックします。 1. ルールを確認し、必要に応じて変更を加えたら、**ルールを作成**をクリックします。 これで、Stripe イベントは、EventBridge とルールで定義された対応するターゲットに正常に送信されます。 ## テストイベントをトリガーする テストイベントを送信するには、Stripe ダッシュボードでオブジェクトを手動で作成し、イベントの送信先が登録されているイベントタイプをトリガーします。[Stripe for VS Code](https://docs.stripe.com/stripe-vscode.md) を使用してイベントをトリガーする方法をご確認ください。 #### スナップショットイベントをトリガーする [Stripe Shell](https://docs.stripe.com/workbench/shell.md) または [Stripe CLI](https://docs.stripe.com/stripe-cli.md) で次のコマンドを使用できます。この例では、`payment_intent.succeeded` イベントがトリガーされます。 ```bash stripe trigger payment_intent.succeeded Running fixture for: payment_intent Trigger succeeded! Check dashboard for event details. ``` #### thin イベントをトリガーする [Stripe CLI](https://docs.stripe.com/stripe-cli.md) で次のコマンドを使用できます。この例では、`v1.billing.meter.error_report_triggered` イベントがトリガーされます。 ```bash stripe trigger v1.billing.meter.error_report_triggered Setting up fixture for: list_billing_meters Running fixture for: list_billing_meters Setting up fixture for: billing_meter Running fixture for: billing_meter Setting up fixture for: list_billing_meters_after_creation Running fixture for: list_billing_meters_after_creation Setting up fixture for: billing_meter_event_session Running fixture for: billing_meter_event_session Setting up fixture for: create_billing_meter_event_stream Running fixture for: create_billing_meter_event_stream Trigger succeeded! Check dashboard for event details. ``` ## シンイベントハイドレーション [シンイベント](https://docs.stripe.com/event-destinations.md#thin-events)は、関連リソースに関する最小限の情報を含むイベント通知です。シンイベントを Amazon EventBridge に送信すると、各通知のイベントまたはリソースペイロード全体を取得するパイプラインを構築できます (「ハイドレーション」とも呼ばれます)。AWS コンソールで、カスタム連携コードを記述することなく、EventBridge ルールとターゲット (Lambda への接続など) を設定することで、このパイプラインを設定できます。[Webhook エンドポイント](https://docs.stripe.com/webhooks.md)にシンイベントを送信する場合は、API を使用してイベントまたはリソースデータ全体を自身で取得する必要があります。 EventBridge のハイドレーションパイプラインを構築すると、新しいデータを得ることができます。パイプラインは、各イベントを処理するときにリソースの現在の状態を取得します。 ## イベント送信の動作 このセクションは、Stripe が Amazon EventBridge にイベントを送信する際に想定されるさまざまな動作を理解するのに役立ちます。 ### 自動での再試行 本番環境では、Stripe は指数バックオフを使用して最長 3 日間、送信先へのイベントの配信を試行します。イベント送信先の**イベントの配信**タブで、該当がある場合、次回の再試行のタイミングを確認します。Stripe はサンドボックスで作成されたイベントの配信を数時間のうちに 3 回再試行します。Stripe が再試行するときに、送信先が無効化または削除されていた場合、そのイベントの以降の再試行は行われません。ただし、Stripe が再試行できるようになる前にイベントの送信先を無効にして、再び有効にした場合は、以降の再試行が引き続き行われます。 ### 手動での再試行 Amazon EventBridge にイベントを手動で再送信することはできません。 ### イベントの順序付け Stripe は、イベントが生成された順序で配信されることを保証しません。たとえば、サブスクリプションを作成することで、次のイベントが生成されるとします。 - `customer.subscription.created` - `invoice.created` - `invoice.paid` - `charge.created` (支払いが付随する場合) イベントの送信先が、特定の順序でのイベントの受信に左右されないようにしてください。配送を適切に管理できるように準備します。API を使用して不足しているオブジェクトを取得することもできます。たとえば、最初に受信したイベントが `invoice.paid` であった場合は、それに含まれる情報を使用して請求書、支払い、サブスクリプションの各オブジェクトを取得できます。 ### API のバージョン管理 イベント発生時のアカウント設定の API バージョンによって API バージョンが決まり、さらに送信先に送られる [Event (イベント)](https://docs.stripe.com/api/events.md) の構造が決まります。たとえば、アカウントで 2015-02-16 など、以前の API バージョンが設定されている場合、[バージョン管理](https://docs.stripe.com/api.md#versioning)を使用して特定のリクエストの API バージョンを変更しても、生成され送信先に送られる [Event (イベント)](https://docs.stripe.com/api/events.md) オブジェクトは、2015-02-16 の API バージョンに基づくものになります。[Event (イベント)](https://docs.stripe.com/api/events.md) オブジェクトは、作成後に変更することはできません。たとえば、支払いを更新しても、元の支払いイベントは変更されません。そのため、アカウントの API バージョンを後から更新しても、既存の [Event (イベント)](https://docs.stripe.com/api/events.md) オブジェクトがさかのぼって変更されることはありません。新しい API バージョンを使用して `/v1/events` を呼び出すことで以前の [Event (イベント)](https://docs.stripe.com/api/events.md) を取得しても、受信したイベントの構造には影響しません。テストイベントの送信先は、デフォルトの API バージョンか、最新の API バージョンのいずれかに設定できます。送信先に送られる [Event (イベント)](https://docs.stripe.com/api/events.md) は、イベントの送信先で指定されているバージョンに従って構造化されます。 ## イベント送信先のステータス Amazon EventBridge の送信先には、イベント受信への対応状況を示すいくつかのステータスがあります。 - **アクティブ**: お客様がAWSでパートナー イベント ソースを関連付けている場合、Stripe は Amazon EventBridge にイベントを送信します。 - **無効**: Stripe は Amazon EventBridge にイベントを送信できていません。送信先を手動で無効化したか、あるいは AWS の設定ミスにより Stripe が自動で無効化するとこのステータスになります。 ## イベントの構造 EventBridge は Stripe の `event` JSON オブジェクトを最上位の `detail` フィールド内にラップする独自の[イベント構造](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events-structure.html)を使用します。 次の例は、EventBridge からの `customer.created` イベントペイロードを示したものです。 ```json { "version":"0", "id":"17e8dff5-d6cd-3770-ace9-aeac02b6ac3f", "detail-type":"customer.created", "source":"aws.partner/stripe.com/ed_61PgtRTG5aTCIz98516PLsRGLISQK0Otk6FWKjBrcDia", "account":"506417113029", "time":"2024-03-07T18:27:56Z", "region":"us-west-2", "resources":[ "arn:aws:events:us-west-2::event-source/aws.partner/stripe.com/ed_61PgtRTG5aTCIz98516PLsRGLISQK0Otk6FWKjBrcDia" ], "detail":{ "id":"evt_1OrlfcFvFEcV7KhhYdemHC4q", "object":"event", "api_version":"2023-10-16", "created":1709836076, "data":{ "object":{ "id":"cus_Ph9zopzZYifGvU", "object":"customer", "address":null, "balance":0, "created":1709836076, "currency":null, "default_source":null, "delinquent":false, "description":null, "discount":null, "email":null, "invoice_prefix":"2331D388", "invoice_settings":{ "custom_fields":null, "default_payment_method":null, "footer":null, "rendering_options":null }, "livemode":true, "metadata":{ }, "name":"coolest customer", "next_invoice_sequence":1, "phone":null, "preferred_locales":[ ], "shipping":null, "tax_exempt":"none", "test_clock":null } }, "livemode":true, "pending_webhooks":0, "request":{ "id":"req_id3MuDYoBgmN4d", "idempotency_key":"6fbb7f75-0658-4989-989e-706fab3abe76" }, "type":"customer.created" } } ``` ## Stripe が応答を待つイベントタイプをサポートする Stripe はほとんどのイベントタイプを非同期で送信します。ただし、特定のイベントタイプに対しては、Stripe は応答を待ちます。イベントの送信先からの応答の有無は、これらの特定のイベントタイプに関する Stripe のアクションに直接影響を及ぼします。 Amazon EventBridge の送信先では、応答が必要なイベントタイプに対して制限付きのサポートが提供されます。 - Amazon EventBridge の送信先の `issuing_authorization.request` イベントタイプに登録することはできません。代わりに、[Webhook エンドポイント](https://docs.stripe.com/webhooks.md)を設定してこのイベントタイプに登録します。`issuing_authorization.request` を使用することで、購入リクエストをリアルタイムで承認できます。これには、送信先がイベントに応答してリクエストを承認または拒否する必要があります。EventBridge は、Stripe への応答をコンシューマーに送信する前に処理します。したがって、この送信先タイプは、このイベントタイプを使用して支払いを承認することはできません。 - Amazon EventBridge を使用する場合は、`checkout_sessions.completed` に登録できます。ただし、ウェブサイトに直接 [Checkout](https://docs.stripe.com/payments/checkout.md) を埋め込んだり、Stripe がホストする支払いページに顧客をリダイレクトする場合、これは[リダイレクト動作を処理](https://docs.stripe.com/checkout/fulfillment.md#redirect-hosted-checkout)しません。Amazon EventBridge に `checkout_sessions.completed` イベントを送信しても、リダイレクトの動作には影響しません。Checkout のリダイレクト動作に影響を与えるには、このイベントタイプを [Webhook エンドポイント](https://docs.stripe.com/webhooks.md)で処理します。 ## EventBridge と Stripe イベントで一般的なアーキテクチャーパターン Stripe とともに Amazon EventBridge を使用する際は、次のアーキテクチャーパターンを検討してください。 - **[Lambda](https://aws.amazon.com/lambda/) でサーバーレス機能を起動してビジネスの自動化を定義する**: EventBridge から Lambda に Stripe イベントを送信して、支払い成功後の配送ラベルの作成など、サーバーレスのコンピューティング機能を起動します。 - **[CloudWatch](https://aws.amazon.com/cloudwatch/) によるイベント監視の有効化**: イベントを EventBridge から CloudWatch Logs に送信し、イベントを対話形式で検索および分析できるログデータとして格納します。CloudWatch を使用して使用形態とエラーを監視します。エラー (EventBridge ルールに違反した場合など) へのアラートを設定することを検討してください。 - **[Step Functions](https://aws.amazon.com/step-functions/) によるローコードおよびノーコードのワークフローの起動**: イベントを StepFunction ワークフローに送信し、そこから顧客にトライアルの終了日が近づいていることを通知するなどのビジネスシナリオを開始します。 - **[Simple Notification Service (SNS)](https://aws.amazon.com/sns/) または [Simple Queue Service (SQS)](https://aws.amazon.com/sqs/) による内部システムへのイベントのファンアウト**: イベントを SNS または SQS に送信して、Stripe イベントデータを社内チームが所有および処理できるようにファンアウトします。 ## See also - [thin イベントタイプの一覧](https://docs.stripe.com/api/v2/core/events/event-types.md) - [スナップショットイベントタイプの一覧](https://docs.stripe.com/api/events/.md) - [イベントの送信先の概要](https://docs.stripe.com/event-destinations.md) - [イベントを Webhook エンドポイントに送信](https://docs.stripe.com/webhooks.md)