3D セキュアの結果のインポート
3D セキュアが Stripe 以外で実行されている場合に支払いを処理します。
3DS の結果のインポートは高度な決済フローで、認証の結果をインポートすることによって外部の 3DS 認証を Stripe の支払いに取り込むことができます。以下に該当する場合は、3DS の結果をインポートする必要があります。
- 旅行業界のお客様で、Expedia や Sabre のような旅行情報サイトからカード番号や暗号化された情報を受け取る場合
- サードパーティープロバイダーを使用して 3DS を実行している場合
このような状況では、Stripe Elements を使用して支払い情報を収集して 3DS を実行する代わりに、Payment Intents API にカード詳細と暗号を直接渡すことができます。
3DS の結果のインポートは、以下の国でご利用いただけます。
ベータ Stripe がカード支払いに対応しているその他すべての国。
3DS の結果のインポートは、以下の国ではご利用いただけません。
警告
以下のすべてのコードサンプルでは、three_
オブジェクトで設定されたパラメーターが、3DS プロバイダーによって返される値と完全に一致する必要があります。
カード詳細を使用して支払い処理する
サーバーでカード詳細を処理する場合、以下のようにします。
- 1 回の API コールでカード詳細と 3DS の詳細を呼び出して PaymentIntent を作成し、確定します。
- PaymentIntent を作成する際、confirm を
true
に設定します。 - 再試行可能な支払い拒否の処理中に Stripe が 3DS リクエストを実行できないようにするため、PaymentIntent を確定するときに error_on_requires_action を
true
に設定します。
PaymentMethod を使用して支払いを処理する
Payment Methods API を使用してカード詳細をトークン化する場合、以下のようにします。
- 1 回の API コールで PaymentMethod ID と 3DS の詳細を呼び出して PaymentIntent を作成し、確定します。
- PaymentIntent を作成する際、confirm を
true
に設定します。 - 再試行可能な支払い拒否の処理中に Stripe が 3DS リクエストを実行できないようにするため、PaymentIntent を確定するときに error_on_requires_action を
true
に設定します。
注意
カード詳細をトークン化した直後に PaymentMethod で支払いを処理する場合は、代わりに未加工のカードデータを使用してください。
将来の支払いを設定する
3DS プロトコルは次の 2 つのメッセージカテゴリーをサポートします。
- 支払いの認証: 取引時のカード保有者の認証に使用されます。
- 支払いの認証以外: 本人確認およびアカウントの確認に使用されます。
将来の支払いのために顧客のアカウント登録が必要な場合は、 SetupIntent の作成と確定時に、支払いの認証以外の暗号と、カード情報または PaymentMethod ID を含めます。
3DS が免除された結果をインポートする
Stripe 外で ‘low-risk’ SCA 免除を含む 3DS の結果を取得した場合、exemption_indicator パラメーターを使用して、その 3DS の結果の性質に基づく免除のフラグを立てることで、Stripe に伝えることができます。
Stripe のリアルタイム取引リスク分析によって適切であると判断された場合、Stripe は、低リスクによる免除をカード発行会社に要求して、オーソリリクエストのレスポンスで exemption_indicator_applied を返すことにより、このアクションをお客様に通知します。
Stripe が低リスクによる免除をリクエストしたかどうかを確認するには、latest_
を拡張し、three_d_secure 属性を調べます。
{ "id": "pi_3aTnU0Aif3fLhNTb0le1BSXI", "object": "payment_intent", // ... "latest_charge": { "id": "ch_3aTnU1AifffLhNTb0tUoEZcd", "object": "charge", // ... "payment_method_details": { "card": {
Cartes Bancaires の結果をインポートする
Cartes Bancaires ネットワーク上で処理される取引に 3D セキュアのインポートを利用するには、ネットワークパラメーターを使用して、リクエストで認証済みネットワークを明示的に渡す必要があります。
Cartes Bancaires の暗号をインポートする場合は、外部の 3D セキュアサーバーから追加のデータも取得する必要があります。以下の表は、こうした追加の必須フィールドと推奨フィールドの詳細を示しています。これらの推奨フィールドは、PaymentIntent と SetupIntent の両方を使用して 3DS の結果をインポートする場合に適用されます。
フィールド | 説明 | 選択肢 |
---|---|---|
electronic_commerce_indicator | Electronic Commerce Indicator (ECI) はお使いの 3DS プロバイダーによって返され、オーソリがどの程度行われたかを示します。 | オプション。利用可能な場合に含まれる。 |
カード発行会社の ACS が認証暗号を計算する際に使用する暗号計算アルゴリズム。cavv アルゴリズムとも呼ばれる。 ARes/RReq messageExtension: | 必須。 | |
ARes で Cartes Bancaires から返される免除インジケーター。Base64 でエンコードされた 3 バイトのビットマップ (最下位バイト優先、最上位ビット優先)。文字列 (4 文字)。 ARes message extension: | オプション。利用可能な場合に含まれる。 | |
ARes で Cartes Bancaires から返されるリスクスコア。数値は 0 から 99。 ARes/RReq message extension: | オプション。利用可能な場合に含まれる。 | |
AResで、カード発行会社の ACS から返される | オプション。利用可能な場合に含まれる。 | |
requestor_challenge_indicator | カード発行会社の ACS に送信される AReq でリクエストされたチャレンジインジケーター (threeDSRequestorChallengeInd )。01 から 99 までの 2 桁の数字からなる文字列。 | オプション。利用可能な場合に含まれる。 |
オーソリの成功機会を増やすために、こうした追加のフィールドをできるだけ多く指定してください。
Cartes Bancaires
お客様が 3D セキュアに対してSCA 免除を許可されている場合、cb_
パラメーターか exemption_
のいずれか、または両方を送信する必要があります。これらのパラメーターのいずれかが、アクワイアラーの取引リスク分析に基づいて免除が低リスクであることを示している場合、3D セキュア免除された結果をインポートするで説明されているように、Stripe は取引の再評価を行います。
cb_
にアクセスできる場合、その値を渡して、exemption exemption_
を設定しないでください。Stripe はindicator cb_
に基づいて適切な免除インジケーターを推測します。exemption cb_
パラメーターとexemption exemption_
パラメーターの両方を渡す場合は、両方が免除されたステータスを正しく示していることを確認してください。indicator - 免除インジケーターが
exemption_
で、一方indicator=none cb_
のビットマップは適用される免除が低リスク免除であることを示している場合、Stripe はリクエストを拒否します。exemption
テスト
認証が必要なテストカード (4000 0027 6000 3184
または pm_
) を使用して、サンドボックスでシステムを検証できます。
シミュレーションでは、正しくフォーマットされた 3DS の結果がすべて受け入れられます。以下はその例です。
- バージョン:
2.
1. 0 - E コマースインジケータ:
02
- 暗号:
M6+990I6FLD8Y6rZz9d5QbfrMNY=
- 取引 ID:
5f5d08f2-8c36-4f72-99d1-57b4fb70b7d5
または:
- バージョン:
2.
2. 0 - 電子コマースインジケータ:
05
- 暗号:
4BQwsg4yuKt0S1LI1nDZTcO9vUM=
- 取引 ID:
f879ea1c-aa2c-4441-806d-e30406466d79
3DS による免除の適用
テスト環境では、exemption_
を含むすべてのカードが exemption_
を true で返します。TRA の内部チェックにパスせず false を返す PaymentIntent の作成をテストするには、カード番号 4000 0000 0001 6123
を使用し、exemption_
を設定します。
Cartes Bancaires
以下の共同ブランドカードを使用して、Cartes Bancaires の結果のインポートをテストできます。
以下のように、有効な cb_
値はすべてテストに使うことができます。
AAAA
: 免除は一切許可されないBAAA
: 低リスク免除は許可される
標準的な免除フローのように、cb_
が低リスクに相当する場合、テストカード 4000 0000 0001 6123
は、exemption_indicator_applied に false を返します。
未加工の PAN 使用
Stripe では、未加工カードデータ API へのアクセスを付与する前に、カード保有者のデータが Payment Card Industry Data Security Standard (PCI DSS) に準拠した方法で安全に処理されていることを検証するようにユーザーに義務付けています。
この機能を必要とするビジネスを対象として、Stripe は 以下に挙げる厳格な要件を適用します。
- PCI DSS 準拠の検証
- Stripe の審査プロセスへの提出
- Stripe のデフォルトのセキュリティ設定に加えて適用される制御の維持への同意
イネーブルメントの詳細については、未加工のカードデータ API へのアクセスを有効にするのサポート記事をご覧ください。
注
カスタム料金体系を使用するアカウントにおいて、3DS のリクエストで Stripe をアクワイアラーとして指定した場合、Stripe は、お客様との契約に従って 3DS に適用されるネットワークコストを渡します。