コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Connect の使用を開始
導入の基本
    連結アカウントに対する API コールの実行
    導入に関する推奨事項
    更新のリッスン
    テスト
    Accounts v2 API の概要
導入の例
アカウント管理
アカウント登録
アカウントのダッシュボードを設定する
連結アカウントのタイプの操作
決済処理
決済を受け付ける
アカウントへの送金
プラットフォーム管理
Connect プラットフォームを管理
Connect プラットフォームの納税申告書
ホームプラットフォームおよびマーケットプレイスIntegration fundamentals

Connect Webhook

Connect で Webhook を使用して Stripe アクティビティの通知を受ける方法をご紹介します。

アカウントでイベントが発生すると、Stripe は Webhook を使用してアプリケーションに通知します。すべての Connect の組み込みでは、Webhook エンドポイントを設定して、Connect イベントをリッスンする必要があります。

Connect Webhook

Connect プラットフォームは、次の 2 種類の Webhook を使用します。

  • 「Account」Webhook は、自身のアカウントでのアクティビティー用です (たとえば、API キーを使用して、別の Stripe アカウントとしての認証なしで行われるほとんどのリクエスト)。これには、連結アカウントで直接行われたものを除き、すべてのタイプの支払いが含まれます。
  • 「Connect」Webhook は、連結アカウントでのアクティビティー用です。Stripe は、連結アカウントに関するすべてのイベント (アカウントの更新とダイレクト支払いを含む) を Connect Webhook に送信します。

Connect Webhook を作成する際は、Connect Webhook イベントを受信するように設定する必要があります。ダッシュボードで作成する場合は、リッスン対象で連結アカウントでのイベントを選択します。API を使用して作成する場合は、connect パラメーターを true に設定します。

Stripe ダッシュボードでの Webhook 設定

Connect Webhook の場合、開発環境の Webhook URL はテスト用 Webhook のみを受信しますが、本番環境の Webhook URL は本番環境とテスト環境の両方の Webhook を受信します。これは、本番環境アプリケーションでは本番環境の取引とテスト取引の両方を実行できるためです。イベントの Webhook を受信したら livemode の値を確認して、ユーザーによる対応が必要かどうかを判断することをお勧めします。

連結アカウントの各イベントには、連結アカウントを識別する最上位の account プロパティが含まれます。連結アカウントはイベントをトリガーしたオブジェクトを所有しているため、連結アカウントとして、そのオブジェクトに対して API リクエストを行う必要があります。

{ "id":
"{{EVENT_ID}}"
, "livemode": true, "object": "event", "type": "customer.created", "account":
"{{CONNECTED_ACCOUNT_ID}}"
, "pending_webhooks": 2, "created": 1349654313, "data": {...} }

次の表は、連結アカウントに関連する最も一般的で重要なイベントのいくつかについて説明したものです。

イベントdata.object 型説明
account.application.deauthorizedapplication連結アカウントがプラットフォームへの連結を解除すると発生します。これを使用して、サーバーでクリーンアップをトリガーできます。Stripe ダッシュボードにアクセスできる連結アカウント (Standard アカウントを含む) で利用できます。
account.external_account.updatedcard や bank_account などの外部口座連結アカウントに関連付けられた銀行口座またはデビットカードが更新された場合に発生し、入金に影響することがあります。プラットフォームが管理する連結アカウントに適用されます。これには、Custom アカウントと Express アカウント、およびプラットフォーム管理が有効な Standard アカウントが含まれます。
account.updatedaccount連結アカウントの要件の変化やステータスの変化を監視できます。すべての連結アカウントで利用可能です。
balance.availablebalanceStripe 残高が更新されたときに発生します。たとえば、銀行口座から追加した資金を連結アカウントへの送金に利用できる場合などです。
payment_intent.succeededpayment_intent支払いインテントで支払いが成功した場合に発生します。デスティネーション支払いとダイレクト支払いを含むすべての支払いで利用可能です。
payout.failedpayout入金が失敗した場合に発生します。入金が失敗すると、関連する外部口座は無効になり、外部口座が更新されるまで自動でも手動でも入金を行うことはできません。
person.updatedpersonAccount に関連付けられている Person が更新されたときに発生します。Persons API を利用して確認要件に対処する場合は、個人の要件の変化やステータスの変化を監視します。プラットフォームが管理する連結アカウントに適用されます。これには、Custom アカウントと Express アカウント、およびプラットフォーム管理が有効な Standard アカウントが含まれます。
server.rb
Ruby
# Using Sinatra. require 'sinatra' require 'stripe' set :port, 4242 # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
# If you're testing your webhook locally with the Stripe CLI, you # can find the endpoint's secret by running `stripe listen` # Otherwise, find your endpoint's secret in your webhook settings in # the Developer Dashboard endpoint_secret = 'whsec_...' post '/webhook' do payload = request.body.read sig_header = request.env['HTTP_STRIPE_SIGNATURE'] event = nil # Verify webhook signature and extract the event. # See https://stripe.com/docs/webhooks#verify-events for more information. begin event = Stripe::Webhook.construct_event( payload, sig_header, endpoint_secret ) rescue JSON::ParserError => e # Invalid payload. status 400 return rescue Stripe::SignatureVerificationError => e # Invalid Signature. status 400 return end if event['type'] == 'account.application.deauthorized' application = event['data']['object'] connected_account_id = event['account'] handle_deauthorization(connected_account_id, application) end status 200 end def handle_deauthorization(connected_account_id, application) # Clean up account state. puts 'Connected account ID: ' + connected_account_id puts application.to_s end

Webhook をローカルでテストする

Stripe CLI を使用して、Webhook をローカルでテストできます。

  1. まだインストールしていない場合は、マシンに Stripe CLI をインストールします。

  2. Stripe アカウントにログインし、コマンドラインで stripe login を実行して CLI を設定します。

  3. 1 つの端末ウィンドウで stripe listen --forward-to localhost:{PORT}/webhook を実行し、別の端末ウィンドウで stripe trigger {{EVENT_NAME}} を実行することにより、ローカルホストがシミュレーションされたイベントを連結アカウントで受信できるようにします。

注

Connect Webhook では、stripe listen で –forward-connect-to を使用し、stripe trigger で –stripe-account を使用します。

参照情報

  • Webhook に関するドキュメント
  • Event オブジェクトのリファレンス
このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc