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
決済システムを設計するときに忘れてはならないたった1つの大切なこと
Search
hecateball
December 23, 2020
Technology
1
15k
決済システムを設計するときに忘れてはならないたった1つの大切なこと
2020年12月23日に開催された『 設計 モデリング LT会【初心者の方・やっていきも大歓迎】』の登壇資料です。
https://rakus.connpass.com/event/196648/
hecateball
December 23, 2020
Tweet
Share
More Decks by hecateball
See All by hecateball
Vue 3の導入を急ピッチでやってみた
hecateball
3
670
CQRSを学ぶついでにCloud FunctionsとFirestoreを連動させる時の小技も学ぶ
hecateball
3
4.4k
Firebase Summit 2019 ~Webのはなし~
hecateball
0
140
Other Decks in Technology
See All in Technology
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
840
GCASアップデート(202601-202603)
techniczna
0
170
20260311 技術SWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
350
AIエージェント、 社内展開の前に知っておきたいこと
oracle4engineer
PRO
2
140
銀行の内製開発にて2つのプロダクトを1つのチームでスクラムしてみてる話
koba1210
1
130
「Blue Team Labs Online」入門 - みんなで挑むログ解析バトル
v_avenger
0
180
ガバメントクラウドにおけるAWSの長期継続割引について
takeda_h
2
250
AI駆動AI普及活動 ~ 社内AI活用の「何から始めれば?」をAIで突破する
oracle4engineer
PRO
1
100
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
220
20260311 ビジネスSWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
330
Dr. Werner Vogelsの14年のキーノートから紐解くエンジニアリング組織への処方箋@JAWS DAYS 2026
p0n
1
140
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
220
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
320
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
88
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
230
Balancing Empowerment & Direction
lara
5
940
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
410
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
470
Transcript
決済システムを設計するときに 忘れてはならない たった1つの大切なこと
みなみ • Web屋 • Twitter: @hecateball • ブログ: https://shiodaifuku.io •
著書 ◦ Firestoreの本 ◦ Nuxt.js + Firebaseの本 @hecateball
決済システムとは • 決済代行などの外部の決済サービスを利用する • 自社のサービスを有償で提供する ◦ ECサイト全般 ◦ SaaS ◦
ゲーム • なんとかPay
決済システムとの戦いの歴史 • 某大手金融事業 ◦ クレジットカード ◦ 電子マネー ◦ ポイント •
某大手プラットフォーム事業の決済系 ◦ 前払式支払手段 • BtoC: SaaSの課金 ◦ サブスクリプション • BtoB: SaaSの課金 ◦ サブスクリプション
たったひとつのことが 守られていなかったために その全てで後悔した
ユーザ(のモデル) と お財布(のモデル) を 分ける
ユーザ • ユーザアカウント
お財布 • お財布・口座に相当する概念 ◦ 前払式支払手段の残高 ▪ 電子マネー ▪ ポイント ▪
石 ◦ 決済手段に関する情報 ▪ クレジットカードトークン ▪ 外部サービスのアカウント情報 ◦ サブスクリプション契約
分ける • お財布(のモデル) を用意する • ユーザとお財布のリレーションをN:1にする ◦ ユーザ側がN(要件によってはN:Nもあり)
苦しむ例
比較的少ない苦しみで済む例
その日が来るまでは1:1でもいい • ユーザ:お財布 = 1:1は現実に即していない ◦ 他人のお財布でも借りてくればお買い物に使える ◦ 正当にお財布を共有するユースケースは多数存在する ▪
同一人物による複数アカウント ▪ 家族アカウント ▪ 会社の経理
たぶん時間が足りてないので https://shiodaifuku.io/articles/FkPnu4HUemFFx8hnZCDZ
まとめ: よいモデリングとは • 可能な限り現実世界を忠実に再現する
おわり