セッションの仕組み
VerificationSessions のステータスとライフサイクルについてご紹介します。
非同期の確認フローは、アプリケーションの外部で発生する顧客とのやり取りによって変わるため、管理が複雑になります。VerificationSession は、確認フローのステータスを追跡することで、この管理を簡略化します。
VerificationSession が作成されると、そのステータスは requires_
になり、ユーザーが確認プロセスを開始する準備が整います。VerificationSession は、確認フロー開始の直前に作成することをお勧めします。
ユーザーがセッションを送信すると、VerificationSession は processing
に移行します。ほとんどの本人確認チェックは 1 分未満で処理されます。
VerificationSession の verified
ステータスは、検証フローが完了したことを意味します。すべての検証チェックの処理が完了し、検証に成功しました。
(文書が不正であるなどの理由で) いずれかの本人確認チェックに失敗した場合は 、VerificationSession のステータスは requires_
に戻ります。確認が失敗した理由の説明は、セッションの last_
フィールドにあります。ユーザーに確認を再度試行してもらうには、VerificationSession を取得して、新しい URL または client secret を取得する必要があります。provided_
フィールドに示される詳細がユーザーに表示される場合があります。
processing
または verified
より前の時点であれば、いつでも VerificationSession をキャンセルできます。これにより、その VerificationSession を今後情報の送信に使用することはできなくなり、これを取り消すことはできません。
セッションイベント
セッションのステータスが変化するたびにイベントが作成されます。VerificationSession イベントタイプの全リストはこちらをご覧ください。
イベントタイプ | 説明 |
---|---|
identity. | セッションが作成されました。 |
identity. | ユーザが情報を送信し、検証チェックは処理を開始しました。 |
identity. | すべての本人確認チェックの処理が完了し、確認のすべてが成功しました。 |
identity. | すべての本人確認チェックの処理が完了し、少なくとも 1 つの確認が失敗しました。 |
identity. | セッションはキャンセルされ、今後の送信試行は無効化されました。このイベントは、セッションがキャンセルされた場合、または非表示にされた場合に送信されます。 |
identity. | セッションが非表示にされました。このイベントタイプにアクセスするには、このイベントタイプに明示的に登録する Webhook エンドポイントを作成する必要があります。すべてのイベントタイプに登録する Webhook エンドポイントには、このイベントタイプは含まれません。 |
検証が失敗または成功したときにユーザにメールを送信するなど、特定のイベントに対してアクションを取ることをお勧めします。
Stripe では、Webhook を使用してイベントをリッスンすることをお勧めします。