3D セキュアの結果のインポート
3D セキュアの結果のインポートは高度な決済フローで、認証の結果をインポートすることによって外部の 3D セキュア認証を Stripe の支払いに取り込むことができます。以下に該当する場合は、3D セキュアの結果をインポートする必要があります。
- 旅行業界のお客様で、Expedia や Sabre のような旅行情報サイトからカード番号や暗号化された情報を受け取る場合
- サードパーティープロバイダーを使用して 3D セキュアを実行している場合
これらの状況では、Stripe Elements を使用して支払い詳細を収集して 3D セキュアを実行する代わりに、Payment Intents API にカード詳細と暗号を直接渡すことができます。
以下で利用可能です。
ベータ Stripe がカード支払いに対応しているその他すべての国。
以下では利用できません
カード詳細を使用して支払い処理する
サーバーでカード詳細を処理する場合、以下のようにします。
- 1 回の API コールでカード詳細と 3D セキュアの詳細を使用して、PaymentIntent を作成し、確定します。
- PaymentIntent を作成する際、confirm を
true
に設定します。 - 再試行可能な支払い拒否の処理中に Stripe が 3DS リクエストを実行できないようにするため、PaymentIntent を確定するときに error_on_requires_action を
true
に設定します。
PaymentMethod を使用して支払いを処理する
Payment Methods API を使用してカード詳細をトークン化する場合、以下のようにします。
- 1 回の API コールで PaymentMethod ID と 3D セキュアの詳細を使用して、PaymentIntent を作成し、確定します。
- PaymentIntent を作成する際、confirm を
true
に設定します。 - 再試行可能な支払い拒否の処理中に Stripe が 3DS リクエストを実行できないようにするため、PaymentIntent を確定するときに error_on_requires_action を
true
に設定します。
注意
カード詳細をトークン化した直後に PaymentMethod で支払いを処理する場合は、代わりに未加工のカードデータを使用してください。
将来の支払いを設定する
3DS プロトコルは次の 2 つのメッセージカテゴリーをサポートします。
- 支払いの認証: 取引時のカード保有者の認証に使用されます。
- 支払いの認証以外: 本人確認およびアカウントの確認に使用されます。
将来の支払いのために顧客のアカウント登録が必要な場合は、 SetupIntent の作成と確定時に、支払いの認証以外の暗号と、カード情報または PaymentMethod ID を含めます。
3DS が免除された結果をインポートする
Stripe 外で ‘low-risk’ SCA 免除を含む 3D セキュアの結果を取得した場合、exemption_indicator パラメーターを使用して、その 3D セキュアの結果の性質に基づく免除のフラグを立てることで、Stripe に伝えることができます。
Stripe のリアルタイム取引リスク分析によって適切であると判断された場合、Stripe は、低リスクによる免除をカード発行会社に要求して、オーソリリクエストのレスポンスで exemption_indicator_applied を返すことにより、このアクションをお客様に通知します。
Stripe が低リスクによる免除をリクエストしたかどうかを確認するには、latest_charge
を拡張し、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 セキュアサーバーから追加のデータも取得する必要があります。以下の表は、こうした追加の必須フィールドと推奨フィールドの詳細を示しています。
フィールド | 説明 | 選択肢 |
---|---|---|
electronic_commerce_indicator | Electronic Commerce Indicator (ECI) はお使いの 3D セキュアプロバイダーによって返され、オーソリがどの程度行われたかを示しています。 | オプション。利用可能な場合に含まれる。 |
カード発行会社の 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
パラメーターか exemption_indicator
のいずれか、または両方を送信する必要があります。これらのパラメーターのいずれかが、アクワイアラーの取引リスク分析に基づいて免除が低リスクであることを示している場合、3D セキュア免除された結果をインポートするで説明されているように、Stripe は取引の再評価を行います。
cb_exemption
にアクセスできる場合、その値を渡して、exemption_indicator
を設定しないでください。Stripe はcb_exemption
に基づいて適切な免除インジケーターを推測します。cb_exemption
パラメーターとexemption_indicator
パラメーターの両方を渡す場合は、両方が免除されたステータスを正しく示していることを確認してください。- 免除インジケーターが
exemption_indicator=none
で、一方cb_exemption
のビットマップは適用される免除が低リスク免除であることを示している場合、Stripe はリクエストを拒否します。
テスト
認証を必要とするテストカード (4000 0027 6000 3184
または pm_card_authenticationRequired
) を使用して、テスト環境でシステムを検証できます。
シミュレーションでは、正しくフォーマットされた 3D セキュアの結果がすべて受け入れられます。以下に例を挙げます。
- バージョン:
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_indicator
を含むすべてのカードが exemption_indicator_applied
の値として true を返します。内部の TRA チェックに合格せずに false を返す PaymentIntent の作成をテストするには、カード番号 4000 0000 0001 6123
を使用し、exemption_indicator=low_risk
を設定してください。
Cartes Bancaires
以下の共同ブランドカードを使用して、Cartes Bancaires の結果のインポートをテストできます。
以下のように、有効な cb_exemption
値はすべてテストに使うことができます。
AAAA
: 免除は一切許可されないBAAA
: 低リスク免除は許可される
標準的な免除フローのように、cb_exemption
が低リスクに相当する場合、テストカード 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 へのアクセスを有効にするのサポート記事をご覧ください。
注
カスタム料金体系を使用するアカウントで、3D セキュアのリクエストで Stripe をアクワイアラーとして指定した場合、Stripe は、お客様との契約に従って 3D セキュアに適用されるネットワークコストを渡します。