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
Stripe Billingを導入してサブスクリプションを実装した話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ibuki KAWAMITSU
May 26, 2020
Programming
2.8k
1
Share
Stripe Billingを導入してサブスクリプションを実装した話
2020年5月26日の #JP_Stripes さんの九州・沖縄の合同オンラインイベントで登壇した際に話した資料です。
Ibuki KAWAMITSU
May 26, 2020
More Decks by Ibuki KAWAMITSU
See All by Ibuki KAWAMITSU
GraphQL, Apollo Clientと状態管理
puremoru
1
640
この1年でNext.jsで学んだこと あれこれ
puremoru
0
150
エンジニア目線の「良い失敗」について
puremoru
0
120
BFF勉強会~BFF開発のベストプラクティスを探る研究の途中報告vol.1~
puremoru
2
130
Other Decks in Programming
See All in Programming
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
440
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
New "Type" system on PicoRuby
pocke
1
450
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
5.2k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
370
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
580
GitHub Copilot CLIのいいところ
htkym
2
1.3k
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.5k
net-httpのHTTP/2対応について
naruse
0
430
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
150
Chasing Engaging Ingredients in Design
codingconduct
0
210
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Typedesign – Prime Four
hannesfritz
42
3.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
260
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
820
Color Theory Basics | Prateek | Gurzu
gurzu
0
340
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Transcript
4USJQF#JMMJOHΛಋೖͯ͠ αϒεΫϦϓγϣϯ࣮ͨ͠
ࣗݾհ ຬาو ͔ΘΈͭ ͍Ϳ͖ גࣜձࣾ&#*-"#༗ݶձࣾΚͼϭϯδχΞ $0%&#"4&ϓϩάϥϛϯάεΫʔϧߨࢣ !QVSFNPSV ɾੜ·Εҭͪԭೄ ɾେֶ࣍ʹ3VCZΛ͖͔͚ͬʹϓϩάϥϛϯάΛ࢝ΊΔ ɾେֶ࣍ʹ౦ژͷελʔτΞοϓͰαʔϏεͷ্ཱ͔ͪ͛ΒϦϞʔτͰͷ
ɹΠϯλʔϯͱͯؔ͠ΘΔ ɾम͔࢜࣍Β&#*-"#ʹ8FCΤϯδχΞͱͯ͠ίϛοτ ɾ࠷ۙʮिҰOPUFνϟϨϯδʯͱ͍͏ͷΛͬͯ·͢ɻস ླྀٿେֶେֶӃใֶઐ߈म࢜࣍
+1@4USJQFTʹײँ
ڈͷ݄ࠒʹ։࠵͞Εͨ+1@4USJQFTԭೄ
લճΠϕϯτࢀՃલɿ4USJQFͦͦશવΘ͔ΒΜ ˣ લճΠϕϯτࢀՃޙɿͳΜ͔Ͱ͖ͦ͏ͳؾ͕͢Δ ˣ Χ݄ؒͷ։ൃظؒͰͳΜͱ͔αϒεΫ ࣮Ͱ͖ͨ ˣ ݱࡏɿΞτϓοτͷػձ͍͚ͨͩͯײँ
"HFOEB ɾࣗݾհ ɾΚͼ&#*-"#ͷհ ɾ4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ ɾαʔϏεશମͷߏʹ͍ͭͯ ɾ࣮ࡍͷ࣮खॱʹ͍ͭͯ
Κͼ &#*-"#ͬͯԿ͍ͬͯΔͷ
Κͼ&#*-"#ͷհ Ҏ্ଓ͘ɺҏͷฮͷҿ৯ళ
Κͼ&#*-"#ͷհ lγεςϜ։ൃzΛ͍ͬͯΔҿ৯ళ
Κͼ&#*-"#ͷհ גࣜձࣾ&#*-"#
Κͼ&#*-"#ͷհ ࣗͨͪͰγεςϜΛߏங͠ɺσʔλཧΛࣗಈԽ
Κͼ&#*-"#ͷհ
ଞͷҿ৯ళΛٹ͑ΔΈʹͳΔΜ͡Όͳ͍͔
Ϋϩεηϧσʔλ 01&/σʔλ૬ؔੳ Ξϯέʔτࣗಈऩू ళલϚʔέοτੳ
Κͼ&#*-"#ͷհ ࡢɺ.JDSPTPGUͷαςΟΞɾφσϥʹੈքΛද͢Δ%9ࣄྫͱͯ͠հ͞Εͨ
Κͼ&#*-"#ͷհ ʹαςΟΞɾφσϥʹӨڹΛ༩͑ͨਓͱͯ͠ฐࣾࣾһ͕հ͞Εͨ
"HFOEB ɾࣗݾհ ɾΚͼ&#*-"#ͷհ ɾ4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ ɾαʔϏεશମͷߏʹ͍ͭͯ ɾ࣮ࡍͷ࣮खॱʹ͍ͭͯ
4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ
4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ
4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ ɾ͋ΒΏΔഔମͱσʔλ࿈ܞΛߦ͏͜ͱͰ ɹళฮͷϦΞϧλΠϜͷσʔλΛՄࢹԽ ɹ͢Δ͜ͱ͕Ͱ͖Δ ɾ͓٬༷ͷχʔζʹ߹ΘͤͯΧελϚΠζΛߦ͏ ɹ͜ͱ͕Ͱ͖Δ ɾ༷ʑͳσʔλͱͷ࿈ܞΛߦ͏ͨΊ ࿈ܞʹඞཁͳ ɹσʔλΛ͓٬༷͔Β͘ඞཁ͕͋ͬͨΓͱɺܖ ɹ͕ܾ·͔ͬͯΒ࣮ࡍʹಋೖ։࢝͢Δ·Ͱͷظ͕ؒ
ɹ͋Δɻ
4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ ʮདྷ٬༧ଌ"*ʯΛऔΓ্͛ΒΕΔ͜ͱ͕ଟ͍
4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ 8FC݁Ͱ͖Δʮདྷ٬༧ଌ"*8FCʯΛ։ൃ
4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ 8FC݁·Ͱͷओͳ՝ ɾ༧ଌΛߦ͏ͨΊʹɺ͓٬༷ࣗͰച্ͳͲͷ ɹσʔλΛೖྗͯ͠͏ඞཁ͕͋ΔͷͰɺແཧͳ͘ ɹೖྗͯ͠Β͏ͨΊͷ6*69ઃܭ ɾຖ݄ͷࢧ͍ΛࣗಈͰߦͬͯΒ͍ɺ͔֤ͭϢʔβʔ ɹͷࢧঢ়گΛࣗಈͰཧͰ͖ΔΈ͕ඞཁ
4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ ɾ༧ଌΛߦ͏ͨΊʹɺ͓٬༷ࣗͰച্ͳͲͷ ɹσʔλΛೖྗͯ͠͏ඞཁ͕͋ΔͷͰɺແཧͳ͘ ɹೖྗͯ͠Β͏ͨΊͷ6*69ઃܭ ɾຖ݄ͷࢧ͍ΛࣗಈͰߦͬͯΒ͍ɺ͔֤ͭϢʔβʔ ɹͷࢧঢ়گΛࣗಈͰཧͰ͖ΔΈ͕ඞཁ 4USJQF#JMMJOHΛಋೖͯ͠ɺϢʔβʔͷࣗಈࢧͱࢧ ঢ়گΛཧͰ͖ΔͷͰͳ͍͔ͱߟ͑ͨ 8FC݁·Ͱͷओͳ՝
4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ IUUQTTUSJQFDPNKQCJMMJOH ෳͷϓϥϯΫʔϙϯτϥΠΞϧظؒͷઃఆͰ͖ɺ"1*ͷ༷ॻͱͯΘ͔Γқ͔ͬͨͷͰɺ ࣮ʹਐΉ͜ͱʹͳͬͨ
"HFOEB ɾࣗݾհ ɾΚͼ&#*-"#ͷհ ɾ4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ ɾαʔϏεશମͷߏʹ͍ͭͯ ɾ࣮ࡍͷ࣮खॱʹ͍ͭͯ
αʔϏεશମͷߏʹ͍ͭͯ ϑϩϯτΤϯυ αʔόʔαΠυ ܾࡁॲཧ Ϣʔβʔσʔλ ܾࡁσʔλ 8FC"1* ֎෦σʔλऔಘ ػցֶशͷ༧ଌ
"HFOEB ɾࣗݾհ ɾΚͼ&#*-"#ͷհ ɾ4USJQF#JMMJOHಋೖʹࢸͬͨഎܠ ɾαʔϏεશମͷߏʹ͍ͭͯ ɾ࣮ࡍͷ࣮खॱʹ͍ͭͯ
4USJQFͷμογϡϘʔυͰΛ࡞͢Δ
࡞ͨ͠ʹϓϥϯΛՃ͢Δ
4USJQFଆʹސ٬ͷొͱαϒεΫొΛߦΘͤΔ ͪ͜Βͷ8FCը໘Ͱܾࡁʹඞཁͳใ ొΛߦ͏ 4USJQF$IFDLPVUͷը໘
/VYU -BSBWFM 4USJQF#JMMJOHؒͷαϒεΫొϑϩʔ ܖ͢ΔϓϥϯͳͲͷೖྗใΛ -BSBWFMଆʹ͛Δ ೖྗใΛͱʹ $IFDLPVUͷTFTTJPO࡞ͷ ϦΫΤετΛૹΔ ࡞ͨ͠DIFDLPVUͷTFTTJPOΛ Ϩεϙϯεͱͯ͠ฦ͢
-BSBWFM͔Β࡞͞Εͨ TFTTJPOΛड͚औΔ ϨεϙϯεͷTFTTJPOΛͱʹ $IFDLPVUը໘ϦμΠϨΫτ TUSJQF্ͷސ٬ʹΧʔυใΛඥ͚ αϒεΫొΛ"1*ܦ༝Ͱߦ͏ ܾࡁ͕ྃͨ͠ΒΞϓϦέʔγϣϯ ϦμΠϨΫτ
/VYUKTଆͷιʔείʔυ
-BSBWFMଆͰͷ$IFDLPVUͷTFTTJPOΛ࡞͢Δ෦ -BSBWFMଆͷιʔείʔυ ·ͣɺೖྗ͞ΕͨϢʔβʔใΛܾͬͯࡁը໘ͷTFTTJPOΛ࡞͠ɺ/VYUଆฦ͢
-BSBWFMଆͰͷαϒεΫొ·ͰΛߦ͏෦ $IFDLPVUͰܾࡁใ͕ೖྗ͞ΕͨΒɺސ٬ͱΧʔυใͷඥ͚ͱ αϒεΫϦϓγϣϯͷొΛߦ͏
࣮͢Δ্ͰΜͩ෦ ɾαϒεΫొޙఆظతͳࢧ͍ΛࣗಈͰٻ ɹͯ͘͠ΕΔ͕ɺਖ਼ৗʹϢʔβʔ͕ࢧ͍Ͱ͖ͯ ɹ͍Δ͔Ͳ͏͔Λ֬ೝ͢Δඞཁ͕͋Δ ɾຖճ4USJQF"1*͔ΒαϒεΫϦϓγϣϯͷσʔλΛ ɹऔಘͯ͠ࢧ͍͕ਖ਼ৗʹͰ͖͍ͯΔ͔Λ֬ೝͯ͠ ɹΞϓϦέʔγϣϯͷར༻ΛڐՄͰ͖ΔΑ͏ʹ ɹ͠Α͏ͱɺॳߟ͍͑ͯͨ ɾ͔͠͠αϒεΫϦϓγϣϯʹؔΘΔσʔλߋ৽ස ɹ͕ͦ͜·Ͱߴ͘ͳ͍ͷͰɺϢʔβʔ͕ΞϓϦέʔγϣϯ
ɹʹΞΫηε͢Δͨͼʹ4USJQF͔ΒσʔλΛऔಘ ɹͤͨ͘͞ͳ͍ʜ
࣮͢Δ্ͰΜͩ෦ 4USJQF8FCIPPLΛͬͯɺΠϕϯτ͕༗ͬͨͱ͖ʹͷΈɺͪ͜Βͷ%#ͷαϒεΫʹؔΘΔϑϥά ΛՃߋ৽͢ΔΑ͏ʹͨ͠
4USJQF8FCIPPLΛͬͨαϒεΫσʔλߋ৽ 4USJQF8FCIPPL TVCTDSJQUJPOVQEBUFE JOWPJDFQBZNFOUTVDDFEFE JOWPJDFQBZNFOUGBJMFE ʜ 4USJQF্ͰͷαϒεΫʹؔΘΔΠϕϯτ͕͋Δͱ͖ʹͷΈɺ-BSBWFM"1*Λୟ͍ͯ αϒεΫͷར༻ʹؔΘΔϑϥάࢧ͍ཤྺใΛߋ৽
Πϕϯτ࣌ʹݺͼग़͞ΕΔ-BSBWFMଆͷ"1* αϒεΫϦϓγϣϯͷࢧ͍͕ޭͨ͠ JOWPJDFQBZNFOU@TVDDFFEFE ࡍʹ ݺͼग़͞ΕΔ"1*
࣮ࡍͷࢧཤྺը໘
·ͱΊ ɾॳΊͯࠓճɺ4USJQFΛ༻͍ͯαϒεΫϦϓγϣϯͷ࣮Λߦ͕ͬͨɺΘ͔Γ͍͢ ɹ"1*υΩϡϝϯτͱஸೡͳΧελϚʔαϙʔτͷํʑͷ͓͔͛Ͱ࣮·Ͱߦ͏͜ͱ͕ ɹͰ͖ͨ ײँʂ ɾෳͷϓϥϯͷઃఆΫʔϙϯͷద༻ͷઃఆ؆୯ʹߦ͏͜ͱ͕Ͱ͖ɺ8FCIPPL͕ ɹ༻ҙ͞Ε͍ͯͨΓɺΦϒδΣΫτʹಠࣗͷNFUBEBUBΛ֨ೲͰ͖ͨΓͱɺ༷ʑͳ ɹঢ়گʹରԠͰ͖Δ