本人確認の結果を処理する
確認結果をリッスンし、構築済みの自社システムで自動的に対応をトリガできるようにします。
本人確認書類を収集するモーダルを表示するコードを記述しました。次に、ユーザーが書類を送信したときに、確認結果をリッスンし、その対応をアプリケーションでトリガーできます。
このガイドでは、以下の方法について説明します。
- 本人確認の処理が終了したら、イベント通知を受け取る。
- 確認チェックの成功と失敗を処理する。
- 本番環境でイベントハンドラを有効にする。
本人確認チェックは非同期で行われるため、確認結果がすぐに出力されるわけではありません。処理が完了すると、VerificationSession ステータスが更新され、確認された情報の使用が可能になります。Stripe はセッションでステータスが変化するたびに、イベントを生成します。このガイドでは、Webhook を実装して、確認結果が使用可能になったときにアプリに通知します。
Stripe を設定するサーバー側
アプリケーションから Stripe API にアクセスするには、Stripe の公式ライブラリをインストールします。
Webhook を作成して、VerificationSession イベントを処理するサーバー側
Webhook は、サーバー上のエンドポイントで、Stripe からのリクエストを受信し、アカウントで発生するイベントについて通知します。このステップでは、VerificationSession の ステータス変更 でイベントを受信するエンドポイントを構築します。
Stripe が未認証のリクエストを送信できるようにするため、Webhook エンドポイントはパブリックアクセスが可能なものである必要があります。Stripe ライブラリとリクエストヘッダーを使用し、イベントを送信したのが Stripe であることを確認する必要があります。
これで、Stripe からの通知をリッスンする基本的な構造とセキュリティが準備できています。次は、Webhook エンドポイントを更新して確認セッションイベントを処理します。
すべての セッションイベント には、実行された検証チェックの詳細を含むVerificationSession オブジェクトが含まれます。セッションイベントに含まれない検証済みの情報を取得する方法については、本人確認結果へのアクセス を参照してください。
セッションのステータスに変化があると、Stripe は以下のイベントを送信します。
イベント名 | 説明 | 次のステップ |
---|---|---|
identity.verification_session.verified | すべての本人確認チェックの処理が完了し、確認のすべてが成功しました。 | アプリケーションで対応するアクションをトリガします。 |
identity.verification_session.requires_input | すべての本人確認チェックの処理が完了し、少なくとも 1 つの確認が失敗しました。 | アプリケーションで関連するアクションをトリガーするとともに、ユーザーに本人確認の再試行を許可できます。 |
Webhook コードでは identity.
イベントおよび identity.
イベントを処理する必要があります。他のセッションイベント に登録して、アプリで追加のリアクションをトリガーすることもできます。
VerificationSession 確認済みステータス変化を処理する
本人確認チェックが完了し、すべての確認が成功すると、identity.
イベントが送信されます。
イベントハンドラにコードを追加して、すべての確認チェック成功を処理します。
このイベントを処理する際には、次のことも考慮してください。
VerificationSession requires_input のステータス変化を処理する
1 つ以上のチェックが失敗した場合、identity.
イベントが送信されます。確認セッションの last_error ハッシュを調べて、特定の失敗の原因を確認して対処できます。
- last_error.code フィールドを使用して、確認の失敗をプログラムで処理可能です。
- last_error.reason フィールドには、失敗の理由を示すメッセージが含まれます。このフィールドをユーザーに提示できます。
イベントエラーコード
イベントハンドラにコードを追加して、確認チェック失敗を処理します。
ユースケースによっては、本人確認に失敗した場合に、確認の再試行をユーザーに許可することが必要になります。その場合、送信試行回数を制限することをお勧めします。
このイベントを処理する際には、次のことも考慮してください。
- 収集された情報を手動で確認する
- 本人確認が失敗したことをユーザーに知らせるメールを送信する
- ユーザーに代替の本人確認方法を提供する
本番環境に移行する
イベントハンドラのエンドポイントを本番環境にデプロイしたら、エンドポイントを設定して、Stripeが本番環境のイベントの送信先を認識できるようにします。実装を本番環境に円滑に移行するには、開発チェックリスト を確認することもお勧めします。
Webhook endpoints are configured in Workbench or programmatically using the API.
ダッシュボードでエンドポイントを追加する
- In Workbench’s Webhooks tab, click Add destination to add a new webhook endpoint.
- Stripe API のバージョンを入力します。
- Select which events to listen to. See the full list of Verification Session events.
- 続行をクリックし、使用可能な送信先タイプのリストからWebhook エンドポイントを選択します。
- 続行をクリックし、エンドポイントの URL、オプションの名前、オプションの説明を入力します。
- 送信先を作成するをクリックします。
API を使用してエンドポイントを追加する
プログラムで Webhook エンドポイントを作成 することもできます。Workbench のフォームと同様に、イベントの送信先として任意の URL を入力したり、登録するイベントタイプを入力したりできます。
curl https://api.stripe.com/v1/webhook_endpoints \ -u
: \ -d "url"="https://{{DOMAIN}}/my/webhook/endpoint" \ -d "enabled_events[]"="identity.verification_session.verified" \ -d "enabled_events[]"="identity.verification_session.requires_input"sk_test_BQokikJOvBiI2HlWgH4olfQ2