カードIDの取扱いについて

PHP SDKでショッピングカートを作っています。

お客様が購入する度にカード番号を入力する手間を省くために、

お客様がカード決済するとそのカード情報を保存して(on fileにcreateするというようですね)、

次回からはon fileにcreateしたカードのIDで決済できるようにしたいのです。

 

現在、createCardが成功して返ってきたカードIDをクッキーに保存して、

クッキーがあればretrieveCardでカードを取得して

カード番号の最後の4桁だけを表示した決済フォームを表示してそのボタンを押したら

CreatePaymentRequestにカードIDを送って決済するという方法で行っています。

 

これでうまく動いてちゃんと決済できたのですが、

気になることがありまして、

このカードIDは他人に知られても大丈夫なものなのでしょうか?

クッキーは悪意のあるサイトにアクセスしたりすると流出する可能性があり、

その場合カードIDを悪用されるのではないかと不安になりました。

カードIDがショップのドメイン以外では使えないようになっていれば安全だとは思うのですが。

 

そもそも、on fileにcreateしたカードで決済する場合、

カードIDはどこに保存しておくのがSquare的には正しい方法なのでしょうか。

今回のような用途の場合、お客様のPCにクッキーかWeb Storageで保存する以外にないと思いますが、

クッキーやWeb Storageに保存してもよいものなのでしょうか。

 

どうぞよろしくお願いします。

 

 

 

 

154件の閲覧回数
メッセージ1/2
不適切なコンテンツを報告
1 返信
Admin

@doucatty さん、ご質問ありがとうございます。

 

Cards APIを使用することでカード情報をトークン化することができます。(詳しくはNetwork tokenizationをご参照ください)。このペイメントトークンはSquare内でのみ意味を持つため、たとえそのトークンが流出したとしても、ペイメントカード詐欺などのリスクは軽減されます。
とは言いましても、ペイメントトークン(カードID)は有効期限がないため、Cookieやウェブストレージではなく安全なデータベースに保存することをお勧めいたします。

 

更に詳しいご質問がある場合は、英語で開発者サポートへお問い合わせ下さい。

他のAPI利用者から回答が得られやすい、開発者用コミュニティもご活用ください:Square Developer Forum

 

間宮 −Mamiya
Square コミュニティ管理者
解決策や有用な回答には、ログイン して ベストアンサーとしてマークをクリックしましょう!
129件の閲覧回数
メッセージ2/2
不適切なコンテンツを報告