3Dセキュア導入について質問があります。
質問 ①
Squareから頂いた「EMV 3-Dセキュア」メールに記載されている内容の一部です。
------------------------------------------------------------------------------------------------------------------------
tokenize()を実行し、決済トークンを取得します。tokenize()は、total、intent、billingContact、customerInitiated、sellerKeyedinに対応しています。これらのフィールドにより、Squareは3Dセキュアに関するすべての規制ロジックを処理し、必要に応じて3Dセキュアを適用し(規制の対象となる場合)、決済トークンを返す前に購入者のリスク評価を実行することができます。
決済を処理するため、決済トークンを使用してcreatePaymentを実行します。
Squareは各決済について、経済産業省の規制範囲に該当するかを判断し、必要に応じて義務に基づき3Dセキュア認証を適用します。
この新しい決済フローは現時点ではベータ版ですが、すぐに実装しても、正式版(GA)へ移行する際に重大な変更や追加の更新は発生しません。
------------------------------------------------------------------------------------------------------------------------
弊社の決済処理は下記になります。
サブスク時tokenize()を実行していないこと以外はメールに記載された処理とほぼ同じ処理になります。
(カード登録にはWeb Payments SDK、サブスクは PHP SDKを使用しています。)
1. tokenize()を実行 2. 決済トークンを取得 3. 決済トークンを使ってカードを登録 (createCard)
https://github.com/square/square-php-sdk/blob/master/doc/apis/cards.md#create-card 4. サブスク処理を走らす(createSubscription)
https://github.com/square/square-php-sdk/blob/master/doc/apis/subscriptions.md#create-subscription ※ サブスク処理時tokenize()は実行しておりません、初回カード登録時のみ実行しています。
これで3DSに対応済とのことであっていますでしょうか?
質問 ②
sandbox環境で3DSのテストを行う方法を教えて頂けますでしょうか?
質問 ③
サブスク決済中3DSで「不正な取引」だと判定されて追加認証が必要なケースがあると思います。このケースについて別途対応は必要でしょうか?
※ 例えば Squareのwebhookから「追加認証が必要です。」などのイベントがあり、webhookイベントを受け取りユーザーに追加認証メールを送るなど。
@jol-user さん、ご質問ありがとうございます!
お問い合わせいただきました内容について以下のように回答させていただきますので、ご確認くださいませ。
質問 ①
はい、ご認識の通りでございます。3DS認証後にカードが保存できる仕様になっているため、保存済みカードに対して都度3DSを実行する必要はありません。
質問 ②
サンドボックス環境下での3DS検証も可能です。本番環境と異なるチャレンジフォームが表示される仕様になっており、テストカードが必要になります。実装方法に関する情報はこちらからご確認いただけます。
質問 ③
保存済みのカードに対して不正な取引と判定され新しいカードを入力するよう求めた場合、そのカードは再度認証が必要です。追加認証のエラーにつきましては、こちらをご確認くださいませ。
他にもわからないことがございましたら、コメントいただくか、Squareサポートまでお問い合わせください!
ご回答ありがとうございます。
「質問 ②」の回答について質問があります。
添付頂いたページを参考にしてテストしてみましたがカードの新規登録処理でエラーになりました。
→ 登録するカードは回答頂いたこちらに記載されている「SCA test card」内のリストにある
5248 4800 0021 0026を登録しました。
エラーの詳細になります。
==========================================================================
Square\Models\Error {
-category: "PAYMENT_METHOD_ERROR"
-code: "CARD_DECLINED_VERIFICATION_REQUIRED"
-detail: "Card declined. A verification is required to process this payment. See https://developer.squareup.com/docs/sca-overview for more information."
-field: null
}
==========================================================================
もし、「3DS」と「SCA」のテストカード番号が異なるのであれば
3DSテスト用カード情報を教えていただけますでしょうか?
よろしくお願い致します。
Square Community