ユーザーの本人確認書類を確認する
セッションを作成して、本人確認書類を収集します。
このガイドでは、Stripe Identity を使用して、身分証明書を安全に収集し、確認する方法について説明します。
はじめに
- 本番環境利用の申請を行う。
- Stripe Identity 申請書にご記入ください。
- (オプション) ブランディング設定ページでブランド設定をカスタマイズする。
ユーザーを Stripe に移動して、本人確認書類をアップロードできるようにします。手順は以下のとおりです。
- Stripe Identity にリダイレクトする確認ボタンを Web ページに追加します。
- 身分証明書が送信されたら、確認ページを表示します。
- 本人確認の結果を処理します。
Web サイトにボタンを追加するクライアント側
確認を開始するためのボタンを Web サイトに作成します。
Stripe Identity にリダイレクトするクライアント側サーバー側
Stripe Identity にリダイレクトするボタンをセットアップします。このボタンをクリックすると、フロントエンドは、Stripe がオンラインで提供するページにリダイレクトされ、ここでユーザはパスポート、運転免許証、国際 ID をキャプチャしてアップロードできます。
Stripe Identity にリダイレクトすることにより、開発時間とメンテナンス時間を節約できるだけでなく、セキュリティを強化することもできます。さらに、自社のサイトで顧客の個人情報を処理する量が減り、さまざまなプラットフォームと言語のユーザをサポートすることができ、ブランディングに合わせてスタイルをカスタマイズすることも可能です。
VerificationSession を作成する
VerificationSession は、本人確認をプログラムで示したものです。確認のタイプに関する詳細 (実行するチェックの内容など) が含まれています。確認済みの出力フィールドを拡張して、確認済みのデータの詳細を表示できます。
VerificationSession
を作成したら、フロントエンドにセッション URL を送信して、Stripe Identity にリダイレクトします。
VerificationSession を作成するには、サーバー側のエンドポイントが必要です。サーバー側で VerificationSession
を作成することにより、悪意のあるユーザーによる確認オプションの上書き、およびお客様のアカウントでの支払いの処理の偽装を防止できます。セッションのメタデータにユーザー参照を含めるか、データベースにセッション ID を保存することで、このエンドポイントに認証を追加します。
注意
セッション URL を使用できるのは 1 回限りで、48 時間後に有効期限が切れます。セッション URL は、保存したり、記録したり、URL に埋め込んだり、対象のユーザー以外に公開したりしないようにしてください。フロントエンドにセッション URL のみを送信することにより、本人確認の設定や結果の漏洩を回避できます。
Web サーバー (localhost:4242
など) を起動し、curl で VerificationSession を作成する POST リクエストを送信して、エンドポイントをテストします。
curl -X POST -is "http://localhost:4242/create-verification-session" -d ""
端末に次のようなレスポンスが表示されます。
HTTP/1.1 200 OK Content-Type: application/json { id: "vs_QdfQQ6xfGNJR7ogV6", url: "https://verify.stripe.com/start/QdfQQ6xfxNJR7ogV6Z6Wp..." }
確認ボタンにイベントハンドラを追加する
VerificationSession を作成するためのボタンとエンドポイントが準備できています。次にボタンを変更して、クリックするとセッション URL にリダイレクトようにします。
リダイレクトをテストする
確認ボタンが Stripe Identity にリダイレクトするかどうかテストします。
- 確認ボタンをクリックします。
- ブラウザが Stripe Identity にリダイレクトすることを確認します。
構築したシステムが機能しない場合:
- ブラウザの開発者ツールでネットワークタブを開きます。
- 確認ボタンをクリックし、サーバ側エンドポイントに対して XHR リクエストが作成されるかどうか確認します (
POST /create-verification-session
)。 - リクエストが 200 ステータスを返すことを確認します。
- ボタンクリックリスナー内で
console.
を使用して、正しいデータが返されることを確認します。log(session)
確認イベントを処理する
Document checks are typically completed as soon as the user redirects back to your site and you can retrieve the result from the API immediately. In some rare cases, the document verification isn’t ready yet and must continue asynchronously. In these cases, you’re notified through webhooks when the verification result is ready. After the processing completes, the VerificationSession status changes from processing
to verified
.
セッションのステータスに変化があると、Stripe は以下のイベントを送信します。
イベント名 | 説明 | 次のステップ |
---|---|---|
identity.verification_session.verified | すべての本人確認チェックの処理が完了し、確認のすべてが成功しました。 | アプリケーションで関連するアクションをトリガーします。 |
identity.verification_session.requires_input | すべての本人確認チェックの処理が完了し、少なくとも 1 つの確認が失敗しました。 | アプリケーションで関連するアクションをトリガーするとともに、ユーザーに本人確認の再試行を許可できます。 |
Webhook ハンドラを使用してこれらのイベントを受信し、確定メールの送信、自社データベース内の確認結果の更新、アカウント登録ステップの完了などのアクションを自動化します。ダッシュボードに確認イベントを表示することもできます。
イベントを受信して、ビジネスアクションを実行する
コード使用
Webhook ハンドラを構築してイベントをリッスンし、非同期型のカスタムの確認フローを作成します。Stripe CLI を使用して、ローカルで Webhook の組み込みのテストとデバッグを行います。
コードなし
ダッシュボードを使用してすべての本人確認を表示し、収集されたデータを調査して、確認の失敗について把握します。