EMV 3Dセキュア義務化対応に向けて準備中なのですが、APIの改修について不明な箇所がございます。
下記は現在の弊社で運用しているコードの一部ですが、verificationDetailsオブジェクトを使用しておりません。
==================================
async function tokenize(paymentMethod) {
const tokenResult = await paymentMethod.tokenize();
if (tokenResult.status === 'OK') {
return tokenResult.token;
} else {
==================================
このコードを以下の様に改修すれば3Dセキュア対応になると理解しておりますが正しいでしょうか。
==================================
async function tokenize(paymentMethod) {
const verificationDetails = {
amount: '1100',
billingContact: {
givenName: '太郎',
familyName: '救英亜',
email: '*****@*****.jp',
phone: '9999999999',
countryCode: 'JP',
},
currencyCode: 'JPY',
intent: 'CHARGE',
customerInitiated: true,
sellerKeyedIn: false,
};
const tokenResult = await paymentMethod.tokenize(verificationDetails);
if (tokenResult.status === 'OK') {
return tokenResult.token;
} else {
==================================
この対応で問題ない、という前提ですが、弊社ではお客様のメールアドレスしか取得しないサービスがあり、この場合は verificationDetails にemailとcountryCodeしか設定ができません。
この状態で3Dセキュア義務化後も決済は通るのでしょうか。
それとも、氏名や電話番号の「サービス利用に不要」な個人情報を決済を通すために取得する必要があるのでしょうか。
ガイドドキュメントのページには以下の様に記載されていて、具体的にどれだけの情報を集めれば良いか不明でした。
####################################
Important
Provide as much buyer information as possible for billingContact so that you get more accurate decline rate performance from 3DS authentication.
(billingContact3DS 認証からより正確な拒否率パフォーマンスを得るために、できるだけ多くの購入者情報を提供してください)
####################################
@T-Tsutomu さん、ご質問いただきありがとうございます。
恐れ入りますが、お問い合わせいただきました内容は、APIに関して更に詳しいご質問とお見受けいたします。この場合、
他のAPI利用者から回答が得られやすい、開発者用コミュニティをご活用ください Square Developer Forum (英語)
解決できない場合は、お手数ですが、英語で◆開発者向けリソース・サポートのページ内の(開発者)サポートへお問い合わせ下さい。
ご確認のほど、よろしくお願いいたします。
伊藤様
お世話になっております。
ご回答ありがとうございます。
APIに関してはSquare Developer Forumに投げてみます。(以前別件でSquare Developer Forumに質問した際は返答が付きませんでしたが。)
3Dセキュアの仕組みについてなのですが、購入者情報がメールアドレスしかない場合にチェックが通るかについても日本のSquareコミュニティー担当の方はわからない、ということになるのでしょうか。
最後に。具体的にこちらの「日本のSquare コミュニティ」は何が回答できて、何が回答できないのかご提示頂けますでしょうか。
(「SQUAREのAPI」の他の投稿をみても、本国の開発コミュニティーに質問してください。という回答が散見されます。日本のスタッフは何も回答できないのであれば、「SQUAREのAPI」への投稿は時間の無駄になるので削除したほうが良いのではないでしょうか。)
@T-Tsutomu さん、ご返信が遅くなり申し訳ございません。
担当部署に確認いたしましたところ、ご教示いただきました改修内容にて3Dセキュアに対応するとのことでした。
また、ご購入者様情報につきましては、正確な拒否率パフォーマンスを得るために、メールアドレスに加えて可能であればできるだけ多くの購入者情報の詳細を含めることを強くお勧めしております。
また、API関連への投稿についてご意見をいただき誠にありがとうございます。またご不便をおかけし申し訳ございません。
いただきましたご意見は今後のサービス向上のための参考とさせていただきます。
伊藤様
この度はお忙しい中、ご回答いただきありがとうございます。
米国のフォーラムに投稿しようとしていたのですが、アカウントが保留されていて困っていたところでした。
改修箇所に問題なしとのことで安心致しました。3月末に向けてプログラム修正を急ぎます。
また、拒否率改善のためにメールアドレス+α(できるだけ多く)についても、どれだけの情報を取得できるか引き続き弊社内で検討を進めさせていただきます。
もう1点気になる箇所があり、昨年末に他の方が質問されていた”WebPaymentSDKのCard.tokenize()”に「住所や電話番号をセットする仕掛けがありません」という内容について、回答がついておりませんでした。
paymentMethod.tokenize(verificationDetails) と同じ様にCard.tokenize(verificationDetails)として、verificationDetailsオブジェクトを渡せるようになっているのでしょうか。
追加の質問になってしまい申し訳ございませんが、私以外にも困っている方が多いと思いますのでぜひご回答いただければと思います。
私が調べきれておりませんでした。
大変失礼致しました。
下記ページに「Card.tokenize(verificationDetails)として、verificationDetailsオブジェクトを渡せる」と記載がありました。
”Take a Card Payment”
https://developer.squareup.com/docs/web-payments/take-card-payment
本件はこちらでクローズさせて頂ければと思います。
よろしくお願い致します。
追記です。
3Dセキュアについて他社サイトを色々調べていたのですが、検証に必須な項目は
・カード名義 (ローマ字 フルネーム)
・メールアドレス or 電話番号
のようです。
3月末の実装に際して、弊社では上記項目をverificationDetailsオブジェクトとして渡す仕様で改修を進めます。
Square Community