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.1k
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
540
この1年でNext.jsで学んだこと あれこれ
puremoru
0
120
エンジニア目線の「良い失敗」について
puremoru
0
95
BFF勉強会~BFF開発のベストプラクティスを探る研究の途中報告vol.1~
puremoru
2
100
Other Decks in Programming
See All in Programming
Understanding Ast By Looking
inouehi
0
120
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
1.5k
ISUCONってなんだか難しそう……!!でも、初めてのISUCONにPHPで挑戦してきました!
kotomin_m
1
300
ONE WEDGE_Company_Information
1wedge
0
170
phpunit/php-code-coverageって何をしてるんだ #phperkaigi
o0h
PRO
2
220
Dockerで始めるAWS Lambda開発
stutkhd0709
13
2.5k
Building a Smaller App Binary
kateinoigakukun
2
200
プロンプトエンジニアリング入門
tomokusaba
2
970
生成 AI の中身を覗いてみよう〜基礎から医療現場での応用まで〜
soh9834
2
760
TCA魔法学入門🪄
dazy
0
280
WasmOS: Wasmを実行する自作Microkernel
riru
0
370
【KMC春合宿2024】実装視点で見るNeural Radiance Fields
runningoutrate
0
150
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
66
8.5k
Music & Morning Musume
bryan
39
5.5k
Thoughts on Productivity
jonyablonski
57
3.8k
Building Effective Engineering Teams - LeadDev
addyosmani
25
1.8k
Teambox: Starting and Learning
jrom
126
8.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
242
20k
Build your cross-platform service in a week with App Engine
jlugia
223
17k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
Raft: Consensus for Rubyists
vanstee
130
6.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
28
46k
Building a Modern Day E-commerce SEO Strategy
aleyda
15
6.3k
Scaling GitHub
holman
456
140k
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Λ֨ೲͰ͖ͨΓͱɺ༷ʑͳ ɹঢ়گʹରԠͰ͖Δ