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
Ibuki KAWAMITSU
May 26, 2020
Programming
1
2.5k
Stripe Billingを導入してサブスクリプションを実装した話
2020年5月26日の #JP_Stripes さんの九州・沖縄の合同オンラインイベントで登壇した際に話した資料です。
Ibuki KAWAMITSU
May 26, 2020
Tweet
Share
More Decks by Ibuki KAWAMITSU
See All by Ibuki KAWAMITSU
GraphQL, Apollo Clientと状態管理
puremoru
1
620
この1年でNext.jsで学んだこと あれこれ
puremoru
0
140
エンジニア目線の「良い失敗」について
puremoru
0
110
BFF勉強会~BFF開発のベストプラクティスを探る研究の途中報告vol.1~
puremoru
2
120
Other Decks in Programming
See All in Programming
Java on Azure で LangGraph!
kohei3110
0
160
Datadog RUM 本番導入までの道
shinter61
1
310
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
すべてのコンテキストを、 ユーザー価値に変える
applism118
1
380
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
970
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
580
エンジニア向け採用ピッチ資料
inusan
0
140
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
380
Is Xcode slowly dying out in 2025?
uetyo
1
170
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
41
28k
A2A プロトコルを試してみる
azukiazusa1
2
780
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
For a Future-Friendly Web
brad_frost
179
9.8k
Done Done
chrislema
184
16k
How STYLIGHT went responsive
nonsquared
100
5.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Fireside Chat
paigeccino
37
3.5k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Practical Orchestrator
shlominoach
188
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Making Projects Easy
brettharned
116
6.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
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Λ֨ೲͰ͖ͨΓͱɺ༷ʑͳ ɹঢ়گʹରԠͰ͖Δ