本人確認チェック
Stripe Identity がサポートするさまざまな本人確認チェックについてご紹介します。
Stripe Identity では現在、書類、顔写真、ID 番号、住所、電話番号の 5 種類の検証チェックがサポートされています。
確認チェックごとに、ユーザーから提供してもらう情報が異なり、対応範囲にも違いがあります。また、確認フローも異なります。いずれかのチェックの導入後に、実装をわずかに変更するだけで、別のチェックを追加できます。
書類チェックでは、不正な本人確認書類の使用を未然に防ぐことができますが、不正行為者は盗んだ本物の書類を使用する可能性もあります。これを防ぐために、Stripe Identity では、ユーザーに対して顔写真チェックを行うことができます。
顔写真チェックでは、写真付き身分証明書とユーザの顔写真から、顔の形などの生物学的特徴を検出します。その後、Stripe では高度な機械学習アルゴリズムを使用して、その顔写真が同一人物のものであることを確認します。
EU など一部の地域では、個人情報保護法により、生体認証技術の使用が正当である理由を示すか、生体認証以外の認証手段を提供することが義務付けられています。代替となる認証手段を用意するか、法律顧問に相談されることをお勧めします。
利用可能対象
顔写真チェックで使用できるのは、以下の国の政府発行の写真付き身分証明書です。
顔写真チェックを追加する
アプリケーションに顔写真チェックを追加するには、まず 本人確認書類を収集と検証 のガイドに従ってください。
VerificationSessions に顔写真チェックを追加する
VerificationSession を作成する際、options.document.require_matching_selfie パラメーターを使用して顔写真チェックを有効にします。
これにより認証フローが設定され、ユーザーは写真付き身分証明書と顔写真を求められます。
顔写真チェックの結果にアクセスする
送信および処理後、VerificationSessionステータスは、チェックの結果に応じて変化します。
verified
: 書類と顔写真の両方のチェックが完了しました。セッションの verified_outputs には、書類から抽出された情報が含まれます。requires_
— 書類または顔写真のチェックのうち、少なくとも一方が失敗しました。input
キャプチャーされた顔写真と書類の画像にアクセスするには、関連する VerificationReport を取得する必要があります。これを実行するには、以下のセッションで last_verification_report フィールドを拡張します。
VerificationReport には、書類と顔写真のチェック結果を含む document および selfie のフィールドがあります。以下は、書類と顔写真のチェックに成功した VerificationReport の例です。
{ "id": "vr_Vdd1fJUZqa0PhYr1Jy73h7kR", "object": "identity.verification_report", "type": "document", "verification_session": "vs_rZrLUjXTMEUSqwKirVg0O5c0", "created": 1611776872, "livemode": true, "options": { "document": { "require_matching_selfie": true } }, "document": { "status": "verified", "error": null, "first_name": "Jenny", "last_name": "Rosen", "address": { "line1": "1234 Main St.", "city": "San Francisco", "state": "CA", "postal_code": "94111", "country": "US" }, "document_type": "id_card", "expiration_date": { "day": 17, "month": 7, "year": 2024 }, "files": ["file_5FNiHbgpGyzAsqfJNIxucUeH", "file_IXEBvcLFqS6EWH2w1i7Mov1j"], "issued_date": { "day": 4, "month": 27, "year": 2021 }, "issuing_country": "US" }, "selfie": { "status": "verified", "error": null, "document": "file_4Xu9NgHnqGlszaliS0CS1450", "selfie": "file_TyHwFr7wWkNWEssKJ9x2aTAs", } }
収集された書類と顔の画像にアクセスするには、検証結果へのアクセス を参照してください。
顔写真チェックの失敗について
VerificationReport の document および selfie のフィールドには、収集されたデータに加え、チェックの成否を知るのに役立つ status
と error
のフィールドが含まれます。
status
フィールドは、各チェックが成功したかどうかを示します。可能な値は以下の通りです。
verified
- 検証チェックが成功し、収集されたデータが検証されました。unverified
: 本人確認チェックは失敗しました。詳細については、error
ハッシュを参照してください。
本人確認チェックが失敗すると、error
フィールドに、確認失敗の理由を説明する code
と reason
の値が含まれます。error.
フィールドは、検証失敗をプログラム的に処理するために使用できます。reason
フィールドには失敗の理由を説明するメッセ―ジが含まれており、ユーザーに表示できます。
書類チェックの失敗
失敗の詳細はレポートの document.error フィールドに表示されます。
エラーコード | 説明 |
---|---|
document_ | 提供された身分証明書の有効期限が切れています。 |
document_ | Stripe は、提供された本人確認書類を確認できませんでした。対応している書類タイプのリストをご覧ください。 |
document_ | 提供された本人確認書類は、セッションで許可されている書類のタイプではありません。 |
顔写真チェックの失敗
失敗の詳細はレポートの selfie.error フィールドに表示されます。
エラーコード | 説明 |
---|---|
selfie_ | 提供された身分証明書に顔の写真が含まれていませんでした。 |
selfie_ | 撮影された顔の画像が書類の顔と一致しませんでした。 |
selfie_ | Stripeは、提供された顔写真を確認できませんでした。 |
selfie_ | 撮影された顔の画像が加工処理されていました。 |