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
0
570
Stripe Connect を使ったサービス構築の裏側
Stripe Connect を使ったサービス構築の裏側
Takayuki
April 20, 2020
Tweet
Share
More Decks by Takayuki
See All by Takayuki
Laravel × Clean Architecture
bumptakayuki
0
280
エンジニアのキャリア論
bumptakayuki
0
190
地方カンファレンス主催のススメ
bumptakayuki
1
200
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
2
1.1k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
650
沖縄観光、名物を一挙紹介!
bumptakayuki
2
650
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
2.6k
flutterでイベントアプリを作ってみた
bumptakayuki
0
160
オフショア開発の辛みと学んだ事
bumptakayuki
0
390
Other Decks in Programming
See All in Programming
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.5k
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
140
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
300
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
470
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
3
410
フロントエンドのパフォーマンスチューニング
koukimiura
5
2k
AIともっと楽するE2Eテスト
myohei
8
3k
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
15k
NPOでのDevinの活用
codeforeveryone
0
900
What's new in AppKit on macOS 26
1024jp
0
150
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
680
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
8.7k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Thoughts on Productivity
jonyablonski
69
4.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
4 Signs Your Business is Dying
shpigford
184
22k
Automating Front-end Workflow
addyosmani
1370
200k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
BBQ
matthewcrist
89
9.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
GitHub's CSS Performance
jonrohan
1031
460k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
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