Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ログミーTech_Live__3.pdf
Search
butterv
March 21, 2019
0
52
ログミーTech_Live__3.pdf
butterv
March 21, 2019
Tweet
Share
More Decks by butterv
See All by butterv
Kyash_Meetup__4.pdf
butterv
1
240
Kyash_Meetup__3.pdf
butterv
0
210
管理画面チラ見せ♡ナイト#6 Kyash
butterv
0
5.2k
Featured
See All Featured
Building Applications with DynamoDB
mza
91
6.1k
Practical Orchestrator
shlominoach
186
10k
Typedesign – Prime Four
hannesfritz
40
2.4k
Speed Design
sergeychernyshev
25
670
Music & Morning Musume
bryan
46
6.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
How GitHub (no longer) Works
holman
311
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
The Invisible Side of Design
smashingmag
298
50k
Transcript
井上 智士 Kyashの決済システムの裏側
自己紹介 名前:井上 智士 2017年12月まで ソーシャルゲームの開発・運用に従事 2018年1月から現在 株式会社Kyashで、決済・個人間送金の 開発・保守・運用に従事
今回話すこと 1. Visa決済システムについて 2. Quicpay+決済システムについて 3. フルスクラッチだから実現できていること 4. 内部不正の監視
今回話さないこと ・Kyashの決済以外の機能 ・インフラ構成 ・具体的な実装
1. Visa決済システムについて
Visa決済の仮売上 店舗 アクワイアラ 主に下記の処理を行う ・加盟店の判定 ・カードの有効性確認 ・累計決済金額確認 ・残高確認 ・自動チャージ ・アプリ内履歴の反映
・決済通知 ※簡略化されたフローです
Visa決済の売上 主に下記の処理を行う ・仮売上との紐付け ・返金、追徴 ・アプリ内履歴の反映 アクワイアラ ※簡略化されたフローです
2. Quicpay+決済システムについて
Quicpay+決済の仮売上 店舗 主に下記の処理を行う ・カードの有効性確認 ・累計決済金額確認 ・残高確認 ・自動チャージ ・アプリ内履歴の反映 ・決済通知 ※簡略化されたフローです
Quicpay+決済の売上 主に下記の処理を行う ・仮売上との紐付け ・返金、追徴 ・アプリ内履歴の反映 ※簡略化されたフローです アクワイアラ
3. フルスクラッチだから実現できていること
フルスクラッチ ・加盟店の判定 加盟店毎のBLやWLの判定 加盟店種別毎のBLやWLの判定 ・カードの有効性確認 現在有効なKyashVisaカードのカード情報の照合 ・累計決済金額確認 日次や月次、累計での決済上限確認 ・残高確認 チャージ残高の確認(プリペイドなので)
フルスクラッチ ・自動チャージ 残高不足の場合にリアルタイムでチャージ 不足分だけチャージする ・アプリ内履歴の反映 決済成功時にリアルタイムで反映 決済金額に対して、残高からいくら、自動チャージでいくら支払った のかが分かる ・決済通知 決済時にリアルタイムで通知
失敗時もその理由を通知する ・改善や修正をすぐにリリースできる 改善などのやりたいことが自分たちで実現できる
4. 内部不正の監視
内部不正の監視 前提として、 同僚を疑っているわけではありません!
内部不正の監視 PostgreSQLのauditという機能で残高テーブルの insert, update, delete, truncate の実行ログを残し ている。(当然truncateは実行しません) 実行ログには、 ・対象のテーブル名
・クエリ発行ユーザー ・発行日時 ・発行元IPアドレス ・発行されたクエリ が記録される
内部不正の監視 audit以外にも、 いつ、何によって残高が変動したのか、を記録して いる もし仮に残高を直接更新した場合は、変動履歴や 会計側の数値の不一致などが発生するので、なぜ そうなったのかをauditから確認できる ※PCIDSSの要件によりDB管理者を絞っているの で、これだけでもある程度は防止できる
まとめ
まとめ ・KyashはVisa決済もQuicpay+決済もフルスクラッ チ実装 ・ユーザーの利便性を高めるための独自の機能を 自分たちの力で提供できる ・ユーザーの不正対策以外にも、内部不正の監視 もやってるよ
最後に
https://www.wantedly.com/projects/85647
ご清聴ありがとう ございました。