カテゴリー:
Stripe
閲覧数:408 配信日:2019-02-13 08:50
Token
何をトークン化するの?
・カード情報をトークン化する
カード情報をトークン化する理由
・Stripeが、機密性の高い「カードまたは銀行口座の詳細や個人識別情報(PII)」を、(販売者経由ではなく)購入者から直接安全に取集するために使用する
どこでトークン化するか?
・A.Stripe側のサーバにてトークン化
・B.販売者側のサーバにてトークン化
処理の流れ
1.購入者は、クライアント(ブラウザなどのフォーム)にて決済(カード)情報を入力
2.「クライアント」にて購入者が入力した決済(カード)情報は、「Stripeサーバ」が直接受け取る
3.「Stripeサーバ」は、「クライアント」へトークンを返す
4.「クライアント」は、「Stripeサーバ」より返ってきたトークンを、「販売者サーバ」へ送信
5.Charge / Customer のリクエストを「販売者サーバ」から「Stripeサーバ」へ送信(決済する / 決済情報を保存する)
6.「販売者サーバ」が、「Stripeサーバ」からレスポンスを受け取る
- | 処理内容 | クライアント | - | Stripeサーバ | - | 販売者サーバ |
---|---|---|---|---|---|---|
1 | 購入者は、クライアント(ブラウザなどのフォーム)にて決済(カード)情報を入力 | - | - | - | - | - |
2 | 購入者が入力した決済(カード)情報 | クライアント | → | Stripeサーバ | - | - |
3 | トークン | クライアント | ← | Stripeサーバ | - | - |
4 | トークン | クライアント | → | - | - | 販売者サーバ |
5 | Charge / Customer のリクエスト(決済する / 決済情報を保存する) | - | - | Stripeサーバ | ← | 販売者サーバ |
6 | レスポンス | - | - | Stripeサーバ | → | 販売者サーバ |
A.Stripe側のサーバにてトークン化
機密性の高い「カードまたは銀行口座の詳細や個人識別情報(PII)」を表すトークン
・Stripeサーバーへ返され、使用される
・カード情報を自社サーバへ送ることなく(を通すことなく)、安全に取得し(トークン化し)、クレジットカード決済する
※自社サーバにて非通過、非保持な処理が可能
クライアント側から、サーバーへ返したtokenを実行する方法は3種類
・X.Checkout
・Y.Stripe.js と Stripe Elements
・Z.Stripeのモバイルライブラリを使用
B.販売者側のサーバにてトークン化
・顧客情報はStripeに送信されない
・Creating Charges
・Checkout Reference
・Stripe.js & Elements を利用して決済フローを理解する
・Stripe 決済の最新事情 〜 Django と Stripe と私 〜
・Stripe
・「クレジットカード情報の非保持化は、脆弱性があれば意味がない」――徳丸浩氏が指摘