コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
始める
支払い
財務の自動化
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
概要
Stripe Payments について
    概要
    通貨
    支払い拒否
    入金
    継続支払い
    3D セキュア認証
    支払いの返金とキャンセル
    残高と売上処理にかかる期間
    領収書
    Webhook イベントに対応する
    SCA 対応
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments
Payment Links を使用する
決済ページを構築
高度なシステムを構築
アプリ内実装を構築
決済手段
決済手段を追加
決済手段を管理
Link による購入の迅速化
支払いインターフェイス
Payment Links
Checkout
Web Elements
アプリ内 Elements
決済シナリオ
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
他の Stripe プロダクト
Financial Connections
仮想通貨
Climate
ホーム支払いAbout Stripe payments

Webhook を使用してアクションをトリガーする

Webhook を使用してオフラインの支払いイベントに対応する方法は以下のとおりです。

ページをコピー

Webhook は、Stripe からイベントを受信する HTTP エンドポイントです。

Webhook を使用すると、決済フロー外で発生する以下のような支払いイベントに関する通知を受け取ることができます。

  • 支払いの成功 (payment_intent.succeeded)
  • 支払いへの不審請求の申請 (charge.dispute.created)
  • Stripe アカウントの利用可能な残高 (balance.available)

ダッシュボードを支払いの返金や顧客情報の更新などの 1 回限りのアクションの用途に使用できるのに対して、Webhook は決済システムを拡張したり、ビジネスに影響する重要なイベントを大量に処理するのに役立ちます。

独自の Webhook を構築する

お客様独自のサーバーで Webhook ハンドラを構築し、オフラインのすべての決済フローを管理できます。まず、Stripe からのリクエストを受信できるエンドポイントを公開し、CLI を使用してシステムをローカルでテストします。Stripe からの各リクエストには Event (イベント) オブジェクトと、修正された Stripe 上のオブジェクトへの参照が含まれます。

Webhook エンドポイントを作成する

アプリケーションに新しいエンドポイントを追加します。リクエスト本文で送信されたイベントオブジェクトの type フィールドを確認することにより、特定のイベントに対応できます。次に、Webhook が機能していることを確認するため、標準的な出力を確認できます。

新しいエンドポイントを追加した後で、サーバを起動します。

Ruby
# 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'
require 'stripe' require 'sinatra' require 'json' # Using the Sinatra framework set :port, 4242 post '/webhook' do payload = request.body.read event = nil begin event = Stripe::Event.construct_from( JSON.parse(payload, symbolize_names: true) ) rescue JSON::ParserError => e # Invalid payload status 400 return end # Handle the event case event.type when 'payment_intent.succeeded' payment_intent = event.data.object # contains a Stripe::PaymentIntent puts 'PaymentIntent was successful!' when 'payment_method.attached' payment_method = event.data.object # contains a Stripe::PaymentMethod puts 'PaymentMethod was attached to a Customer!' # ... handle other event types else puts "Unhandled event type: #{event.type}" end status 200 end

Stripe CLI をインストールして設定する

Command Line
homebrew
# Install Homebrew to run this command: https://brew.sh/ brew install stripe/stripe-cli/stripe # Connect the CLI to your dashboard stripe login

その他のインストールオプションについては、Stripe CLI を使ってみるをご覧ください。

Stripe CLI をインストールしたら、コマンドラインで stripe login を実行して Stripe アカウントにリンクするためのペアリングコードを生成します。Enter キーを押してブラウザを立ち上げ、アクセスを許可する Stripe アカウントにログインします。生成された API キーは 90 日間有効です。ダッシュボードの API キーの下で、キーを修正したり削除したりできます。

注

ログイン時、およびそのプロジェクトに対するコマンドを実行する際に、–project-name フラグを含めることで、プロジェクト固有の設定を作成できます。

テスト

Command Line
stripe login Your pairing code is: humour-nifty-finer-magic Press Enter to open up the browser (^C to quit)

既存の API キーを使用する場合は、--api-key フラグを使用します。

Command Line
stripe login --api-key
sk_test_BQokikJOvBiI2HlWgH4olfQ2
Your pairing code is: humour-nifty-finer-magic Press Enter to
open up the browser (^C to quit)

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

CLI を使用して、listen コマンドでローカル Webhook エンドポイントにイベントを転送します。

アプリケーションがポート 4242 で実行されていると仮定し、以下を実行します。

Command Line
stripe listen --forward-to http://localhost:4242/webhook

別の端末タブで、trigger CLI コマンドを使用して模擬 Webhook イベントをトリガーします。

Command Line
stripe trigger payment_intent.succeeded

listen タブには次のイベントが表示されます。

Command Line
[200 POST] OK payment_intent.succeeded

サーバーを実行中の terminal タブに「PaymentIntent was successful! (PaymentIntent は正常に処理されました)」と表示されます。

オプションWebhook の署名を確認する

Webhook エンドポイントをデプロイする

Webhook エンドポイントを本番環境にデプロイする準備ができたら、以下を実行する必要があります。

  1. テストキーではなく、本番環境の API キーを使用してください。

  2. Stripe ダッシュボードまたは API で、Webhook エンドポイントを設定します。

ダッシュボードでエンドポイントを設定するには、Webhook の設定に移動します。

エンドポイントを追加をクリックして、エンドポイントの URL、Stripe API バージョン、および Stripe から送信する特定のイベントを入力します。

アプリケーションの Webhook エンドポイントのシークレットを、エンドポイントのダッシュボードに表示される新しいシークレットに置き換えます。

これで、アプリケーションで本番イベントを受け入れられるようになりました。Webhook エンドポイントの設定については、Webhook Endpoint API のドキュメントで詳細をご確認ください。サンドボックスでのテスト方法については、開発ガイドを参照してください。

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