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
640
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
2.6k
flutterでイベントアプリを作ってみた
bumptakayuki
0
160
オフショア開発の辛みと学んだ事
bumptakayuki
0
390
Other Decks in Programming
See All in Programming
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
790
A2A プロトコルを試してみる
azukiazusa1
2
1.4k
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
120
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
160
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
100
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
880
すべてのコンテキストを、 ユーザー価値に変える
applism118
3
1.3k
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
320
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
830
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
140
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
130
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
510
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Music & Morning Musume
bryan
46
6.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
690
We Have a Design System, Now What?
morganepeng
53
7.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Optimizing for Happiness
mojombo
379
70k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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