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 Connect を使ったサービス構築の裏側
Search
Takayuki
April 20, 2020
Programming
610
0
Share
Stripe Connect を使ったサービス構築の裏側
Stripe Connect を使ったサービス構築の裏側
Takayuki
April 20, 2020
More Decks by Takayuki
See All by Takayuki
Laravel Applications with DDD x Clean Architecture x Vibe Coding
bumptakayuki
1
110
Laravel × Clean Architecture
bumptakayuki
1
500
エンジニアのキャリア論
bumptakayuki
1
260
地方カンファレンス主催のススメ
bumptakayuki
1
250
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
2
1.3k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
770
沖縄観光、名物を一挙紹介!
bumptakayuki
2
760
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
3.2k
flutterでイベントアプリを作ってみた
bumptakayuki
0
190
Other Decks in Programming
See All in Programming
感情を設計する
ichimichi
5
1.3k
Don't Prompt Harder, Structure Better
kitasuke
0
630
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
130
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
180
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
850
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
150
AI活用のコスパを最大化する方法
ochtum
0
380
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
540
飯MCP
yusukebe
0
490
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.5k
Feature Toggle は捨てやすく使おう
gennei
0
480
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
190
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Google's AI Overviews - The New Search
badams
0
960
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Abbi's Birthday
coloredviolet
2
6.5k
Thoughts on Productivity
jonyablonski
76
5.1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Code Reviewing Like a Champion
maltzj
528
40k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Transcript
Stripe Connect ΛͬͨαʔϏε ߏஙͷཪଆ
1 ձࣾհɾࣗݾհ 2 Stripeಋೖʹࢸͬͨഎܠ Agenda 3 Stripe ConnectΛಋೖ͢ΔϝϦοτ 4 ࣮ํ๏ɾಋೖͯ͠Έͯؾ͍ͮͨ͜ͱ
1 ձࣾհɾࣗݾհ
4 ࣗݾհ ◆໊લ ླ ೭(Suzuki Takayuki) ※ಉಉ໊ଟͯ͘ࠔͬͯ·͢ɻɻɻ ◆ࣗݾհ ɾ1990ɺਆಸݝੜ·Εɻ ɾࣾձਓʹͳ͔ͬͯΒɺϓϩάϥϛϯάΛ࢝ΊΔɻ
ɾ2015ʹϑϧεϐʔυʹೖࣾ͠ɺ2017ʹಠཱɻ ɾϑϦʔϥϯεͰϦϞʔτϫʔΫΛͬͨޙʹԭೄͰى ۀ ◆झຯ ίεϓϨɺԻָϥΠϒɺϚϥιϯେձʹग़Δɺٿ؍ઓ JP_StripesԭೄΛӡӦͯ͠·͢ʂ BDD(Ϗʔνۦಈ։ൃ)
Copyright Re:Build.inc All Rights Reserved. ࣗݾհ
Copyright Re:Build.inc All Rights Reserved. 1.ձࣾհ ◆ձ໊ࣾ גࣜձࣾRe:Build ◆ॅॴ ԭೄݝಹࢢٱໜ2-2-2
λΠϜεϏϧ ◆ࣄۀ༰ ɾࣗࣾWEBαʔϏεͷاըɾ։ൃɻ ɾडୗ։ൃ ◆ࣾһ 7໊ ◆ΤϯδχΞͷಇ͖ํ ϦϞʔτϫʔΫՄೳͳࣗ༝ͳಇ͖ํΛਪͯ͠·͢ʂ
2 Stripeಋೖʹࢸͬͨഎܠ
8 ࣗࣾWebαʔϏεͷ։ൃ ɾαʔϏε໊ Tadoru ɾγεςϜ֓ཁ Ϋϥυιʔγϯά ΫϨδοτܾࡁ ͳͲ ɾ͍ͬͯΔٕज़ ݴޠ
: PHP,JavaScript ϑϨʔϜϫʔΫ: laravel5,Nuxt.jsͳͲ
Re:Build اۀͷ୲ऀ͕ ΤʔδΣϯτΛબͿ ΤʔδΣϯτ͕ࣗͷܨ ͕Γͷ͋ΔΤϯδχΞ· ͨνʔϜʹΛ͔͚Δ ࣄͷۭ͖͕͋Δϫʔ Χʔ͕͍Εɺ໘Λߦ ͏ ΤʔδΣϯτ
ࣄલʹ৹੍ࠪ ΤϯδχΞνʔϜ ΤϯδχΞ ϫʔΧʔ ΤʔδΣϯτ اۀ ϏδωεϞσϧ ࠾༻ใु
1 0 ཁ݅ ɾܾࡁΛϓϥοτϑΥʔϜ্Ͱߦ͏ɻ ɾۜߦৼࠐ໘ͳͷͰɺϓϥοτ ϑΥʔϜ্Ͱ͓ۚͷΓऔΓΛ݁ͤ͞ ͍ͨɻ
3 Stripe ConnectΛಋೖ͢ΔϝϦοτ
1 2 Stripe Connectͱ ɾCustomerʢސ٬ʣ: ߪೖऀͰ͋Γ͓ۚΛࢧ͏ํɻӈͷਤ Ͱɻ ɾPlatformʢϓϥοτϑΥʔϜʣ: ͦͷ໊ͷ௨ΓϓϥοτϑΥʔϜΛఏڙ ͢Δํɻӈͷਤͷ੨ɻ
ɾConnected accounts: ϓϥοτϑΥʔϜΛར༻ͯ͠αʔϏε Λఏڙ͠ɺೖۚΛड͚ΔํʢࢠΞΧ ϯτͱݺΕ·͢ʣɻӈͷਤͷϐϯ Ϋɻ ࢀߟɿhttps://qiita.com/y_toku/items/7bfa42793801dfc5415d
1 3 Stripe Connectͱ ΤʔδΣϯτ Tadoru اۀ
1 4 ܾࡁର اۀ ʢCustomerʣ ΤʔδΣϯτ ʢࢠΞΧϯτʣ ʢϓϥοτϑΥʔϜʣ հखྉ Ϛονϯά࣌ͷใु
BtoCϞσϧ
1 5 ϝϦοτ ॊೈͳΧελϚΠζػೳ Connect ͷڧΈ API ɻϓϥοτ ϑΥʔϜͷ࠷దͳΤΫεϖϦΤϯεΛσ βΠϯͰ͖·͢ɻϢʔβొϑϩʔͷΧ
ελϚΠζɺೖۚαΠΫϧͷઃఆɺෳ ࡶͳࢿۚҠಈͷΧελϚΠζॲཧɺ౷߹ ͞ΕͨܦཧϨϙʔςΟϯάػೳɻ ਝʹಋೖͰ͖Δ ϓϥοτϑΥʔϜͷͨΊͷܾࡁΠϯϑ ϥετϥΫνϟߏஙͰɺ͢Ͱʹ͞ Εͨ UI ཁૉΛऔΓೖΕͯɺϩʔϯνΛ εϐʔυΞοϓɺΦϖϨʔγϣϯΛγϯ ϓϧʹͰ͖·͢ɻ άϩʔόϧల։͍͢͠ ੈք 25ΧࠃҎ্ͷചΓखࢧ͍Մ ೳɻϚʔέοτ͝ͱͷݱࢠձࣾ ۜߦ࿈ܞඞཁ͋Γ·ͤΜɻෳࡶͳ ॲཧ Connect ͕Ҿ͖ड͚·͢ɻ 1 2 3 https://stripe.com/connect
4 ࣮ํ๏ɾಋೖͯ͠Έͯؾ͍ͮͨ͜ͱ
ϑϩϯτΤϯυ αʔόαΠυ શମߏ Gitlab CI ϥΠϒϥϦͳͲ Firebase ϥΠϒϥϦͳͲ
શମͷΞʔΩςΫνϟ(̐ͭͷυϝΠϯผ) ϑϩϯτΤϯυ αʔόαΠυ blade MPAߏ ϑϩϯτΤϯυ αʔόαΠυ SPAߏ αʔόαΠυ ϑϩϯτΤϯυ
αʔόαΠυ blade MPAߏ ϫʔΧʔը໘ ΤʔδΣϯτը໘ اۀը໘ SPAߏ ϑϩϯτΤϯυ ӡӦը໘ MPA SPA
1 9 ͔͔ͬͨ ɾλυϥʔը໘(Laravel) - 5͘Β͍ ɾاۀཧը໘(Nuxt.js) - 3͘Β͍
ɾεέδϡʔϧײ ߹ܭ2िؒऑ͘Β͍
2 0 اۀଆͷ࣮༰ ɾ࣮ͨ͠ػೳ - ΫϨδοτΧʔυͷొ - ܾࡁͷ࣮ߦ ɾͬͨϥΠϒϥϦ https://stripe.com/docs/stripe-js/reference
2 1 اۀଆͷ࣮༰
2 2 اۀଆͷ࣮༰
2 3 اۀଆͷ࣮༰
2 4 اۀଆͷ࣮༰
2 5 اۀଆͷ࣮༰
2 6 اۀଆͷ࣮༰
2 7 ΤʔδΣϯτଆͷ࣮༰ ɾ࣮ͨ͠ػೳ - ΞΧϯτใ ※2~3ͷ৹͕ࠪ͋Δ - ޱ࠲ใͷొ ɾͬͨϥΠϒϥϦ
https://github.com/stripe/stripe-php
2 8 ΤʔδΣϯτଆͷ࣮༰
2 9 ৹ࠪͷΠϝʔδ ޱ࠲ใূ໌ॻͷొ ̎ʙ̏Ͱ݁Ռ͕͘Δ
3 0 ΤʔδΣϯτଆͷ࣮༰
3 1 ཧը໘ͷݟ͑ํ
3 2 ࣮Ͱେมͩͬͨ͜ͱ ɾStripeͷࢠΞΧϯτΛ࡞Δࡍʹೖྗ߲͕ଟ͍ ɾຊਓ֬ೝνΣοΫͷεςʔλε֬ೝΛ͢Δඞཁ͕͋Δ - APIΛݺɺঝೝࡁΈ͔৹ࠪத͕Θ͔Δ - webhookͰSlackϝʔϧʹඈ͢Մೳ
3 3 ಋೖͯ͠Έͯؾ͍ͮͨ͜ͱ ϫʔΧʔͱͯ͠ ϩάΠϯ λυϥʔਃ (1िؒఔͰࣄہ ΑΓ৹ࠪ݁ՌΛϝʔ ϧ௨) ৼΓࠐΈޱ࠲ొ
ൃاۀʹ૬ஊ͞ ΕͨҊ݅Λ ϫʔΧʔʹհ STEP1 STEP2 STEP3 STEP4 01 02 03 04 ΤʔδΣϯτͷొϑϩʔ͕͕ͯ͘ଟ͔ͬͨɻɻɻ
3 4 ಋೖͯ͠Έͯؾ͍ͮͨ͜ͱ ΤʔδΣϯτ ޱ࠲ใΛొ͢Δ·Ͱ Ұ෦͚ͩػೳ༻੍ݶΛ͢Δͷ͕ॲ ཧ͕ෳࡶʹͳΓେมͩͬͨ
3 5 ಋೖͯ͠Έͯؾ͍ͮͨ͜ͱ ɾϢʔβͷ్தͰͷ͕ଟ͔ͬͨͷͰɺޙ͔Βޱ࠲ొͯ͠ग़ۚਃ͢Δܗʹ ͢Εྑ͔ͬͨɻ ɾग़ۚਃͷ࣌ϢʔβϞνϕʔγϣϯ্͕͕ΔͷͰɺೖྗͯ͘͠Εͦ͏ ΤʔδΣϯτ ʢࢠΞΧϯτʣ ग़ۚਃ ཧܗ
اۀ ʢCustomerʣ Stripeܾࡁ ૹۚ ΤʔδΣϯτ ʢࢠΞΧϯτʣ հྉΛTadoru ଆͰҰ࣌తʹड ͚औΔ
3 6 ·ͱΊ ɾϓϥοτϑΥʔϜͰखྉΛऔΔϏδωεϞσϧʹ͍͍ͯ Δ ɾϢʔβͷϞνϕʔγϣϯʹΑͬͯɺޱ࠲ใΛొͤ͞Δ λΠϛϯάಋઢؾΛ͚ͭͳ͍ͱϢʔβ͕ΞΫςΟϒʹͳΓ ʹ͍͘ɻ
3 7 ࢀߟจݙ https://qiita.com/y_toku/items/7bfa42793801dfc5415d https://stripe.com/connect