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
Amazon EventBridgeを利用して StripeのWebhookを処理する / s...
Search
Hidetaka Okamoto
January 27, 2020
Programming
1
200
Amazon EventBridgeを利用して StripeのWebhookを処理する / stripe-with-eventbridge
JP_Stripes (Stripe ユーザーグループ)in 大阪 Vol.5
Hidetaka Okamoto
January 27, 2020
Tweet
Share
More Decks by Hidetaka Okamoto
See All by Hidetaka Okamoto
OpenAI APIで API Changelogを要約してみた話 / chatgpt-osaka-1
hideokamoto
0
660
コミュニティ運営から 中の人に変わって感じたこと
hideokamoto
0
110
Developerが Developer Advocateになった話 / dev-rel-meetup-tokyo-71
hideokamoto
0
350
Jamstack開発者のための App Runner入門
hideokamoto
1
520
WordPressでの webサイト制作2022 / ngk2022s
hideokamoto
0
470
JavaScript(TypeScript)で メディアサイトを インフラから構築する方法 / jsconf-jp-2021
hideokamoto
2
4.3k
AWS上でStripeを利用したアプリをより安全にデプロイする方法 /jaws-pankration-2021
hideokamoto
1
220
Shifter Headlessと Headless WordPressの紹介
hideokamoto
0
2k
Stripe & Next.js + AWS Amplify で会員 + 定期課金機能 / JP_Stripes20210903
hideokamoto
7
3.2k
Other Decks in Programming
See All in Programming
The free-lunch guide to idea circularity
hollycummins
0
260
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
560
モダンOBSプラグイン開発
umireon
0
150
AI活用のコスパを最大化する方法
ochtum
0
110
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
340
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
160
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
560
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
300
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
330
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.9k
Ruby and LLM Ecosystem 2nd
koic
1
940
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
990
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
140
The Invisible Side of Design
smashingmag
302
51k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
760
Into the Great Unknown - MozCon
thekraken
40
2.3k
Scaling GitHub
holman
464
140k
From π to Pie charts
rasagy
0
150
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
320
Prompt Engineering for Job Search
mfonobong
0
190
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
Making Projects Easy
brettharned
120
6.6k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
83
Transcript
Amazon EventBridgeΛར༻ͯ͠ StripeͷWebhookΛॲཧ͢Δ JP_Stripes (Stripe Ϣʔβʔάϧʔϓʣin େࡕ Vol.̑ #JP_Stripes
About: Hidetaka Okamoto גࣜձࣾσδλϧΩϡʔϒ "MFYB$IBNQJPOT 3FBDU5ZQF4DSJQU"84 #JP_Stripes
About: Hidetaka Okamoto גࣜձࣾσδλϧΩϡʔϒ "MFYB$IBNQJPOT 3FBDU5ZQF4DSJQU"84 #JP_Stripes
#JP_Stripes
Agenda ࢼͨ͜͠ͱɿ4USJQFͷ8FCIPPLΛ"NB[PO&WFOU#SJEHFͰॲཧ ࢼͨ͠ཧ༝ɿ8FCIPPLͷཧΛޮԽ͔ͨͬͨ͠ ࢼͨ͠ํ๏ɿ"84$%,Ͱ8FCIPPLΛίʔυཧ ࢼͨ݁͠Ռɿ$'/UFSSBGPSNݣ͍ʹΑͦ͞͏ #JP_Stripes
Agenda ࢼͨ͜͠ͱɿ4USJQFͷ8FCIPPLΛ"NB[PO&WFOU#SJEHFͰॲཧ ࢼͨ͠ཧ༝ɿ8FCIPPLͷཧΛޮԽ͔ͨͬͨ͠ ࢼͨ͠ํ๏ɿ"84$%,Ͱ8FCIPPLΛίʔυཧ ࢼͨ݁͠Ռɿ$'/UFSSBGPSNݣ͍ʹΑͦ͞͏ #JP_Stripes
StripeͷWebhookΛAWS 4USJQFͷ8FCIPPLཧ(6*࡞ۀ͕Ұൠత "84ʹΠϕϯτΛ%JTQBUDI͢ΔαʔϏε͕͋Δ "NB[PO&WFOU#SJEHF$MPVE8BUDI&WFOUϕʔεͷ౷߹αʔϏε "NB[PO&WFOU#SJEHFͰ4USJQF"84ͷ8FCIPPLܥΛूཧ #JP_Stripes
Agenda ࢼͨ͜͠ͱɿ4USJQFͷ8FCIPPLΛ"NB[PO&WFOU#SJEHFͰॲཧ ࢼͨ͠ཧ༝ɿ8FCIPPLͷཧΛޮԽ͔ͨͬͨ͠ ࢼͨ͠ํ๏ɿ"84$%,Ͱ8FCIPPLΛίʔυཧ ࢼͨ݁͠Ռɿ$'/UFSSBGPSNݣ͍ʹΑͦ͞͏ #JP_Stripes
StripeͷWebhookཧΛָ͍ͨ͠ (6*Ͱ8FCIPPLΛͭͭొͯͨ͠ ଞͷ4BB4ͱͷσʔλ࿈ܞͳͲɺ8FCIPPLͰͭͳ͙ͷ͕૿͖͑ͯͨ Ͳͷ8FCIPPLͰԿΛ͍͔͕ͯͨ࣍͠ୈʹΘ͔Βͳ͘ͳΔ 8FCIPPLͷཧΛָʹ͍ͨ͠ #JP_Stripes
Amazon EventBridge HTTPS://AWS.AMAZON.COM/JP/EVENTBRIDGE/ #JP_Stripes
"NB[PO&WFOU#SJEHFɺಠࣗͷΞϓϦέʔγϣϯɺ౷߹ 4PGUXBSFBTB4FSWJDF 4BB4 ΞϓϦέʔγϣϯɺ͓Αͼ"84ͷ αʔϏε͔ΒͷσʔλΛ༻ͯ͠ɺΞϓϦέʔγϣϯΛ؆୯ʹଓ ͢Δ͜ͱΛՄೳʹ͢ΔαʔόʔϨεΠϕϯτόεͰ͢ɻ &WFOU#SJEHFɺ;FOEFTLɺ%BUBEPHɺ1BHFSEVUZͳͲͷΠϕϯ τιʔε͔ΒϦΞϧλΠϜσʔλͷετϦʔϜΛ৴͠ɺͦͷσʔλ Λ"84-BNCEBͳͲͷλʔήοτʹϧʔςΟϯά͠·͢ɻ IUUQTBXTBNB[PODPNKQFWFOUCSJEHF
EventBridgeͰͰ͖Δ͜ͱ $MPVE8BUDI&WFOU͕αʔϏεͱͯ͠ಠཱͨ͠Α͏ͳΠϝʔδ "84্ΧελϜͷΠϕϯτΛࢹ Πϕϯτ͕དྷΔͱɺఆٛ͞ΕͨαʔϏεʢ-BNCEBͳͲʣΛ࣮ߦ λʔήοτΠϕϯτͱݺͼग़͠ઌϧʔϧͰఆٛՄೳ #JP_Stripes
ΠϕϯτύλʔϯͰ StripeͷΠϕϯτΛ ࢦఆ͢Δ #JP_Stripes
TargetͰ࣮ߦ͢ΔॲཧΛࢦఆ͢Δ ɾϧʔϧͷఆՃύϥϝλࢦఆՄೳ ɾෳొՄೳɺϧʔϧͷઃఆݸผ #JP_Stripes
StripeͰEventBridge ΧελϜΠϕϯτͱͯ͠༻͢Δ 4USJQF8FCIPPL"1*(8-BNCEB&WFOU#SJEHF 4USJQFʹ8FCIPPL͚ͭͩొʢରΠϕϯτશͯૹ৴ʣ &WFOU#SJEHFଆͰΠϕϯτλΠϓΛผͯ͠ॲཧܥΛىಈ͢Δ #JP_Stripes
ͪͳΈʹ
terraformͰ Stripeཧ Ͱ͖ΔΒ͍͠ #JP_Stripes ޙ͔Βͬͨ
WEBHOOKҎ֎ཧՄೳʢͷ༷ࢠʢͩΕ͔ࢼͯ͠ʢ࣍ճͬͯʣʣʣ HTTPS://GITHUB.COM/FRANCKVERROT/TERRAFORM-PROVIDER-STRIPE #JP_Stripes
Agenda ࢼͨ͜͠ͱɿ4USJQFͷ8FCIPPLΛ"NB[PO&WFOU#SJEHFͰॲཧ ࢼͨ͠ཧ༝ɿ8FCIPPLͷཧΛޮԽ͔ͨͬͨ͠ ࢼͨ͠ํ๏ɿ"84$%,Ͱ8FCIPPLΛίʔυཧ ࢼͨ݁͠Ռɿ$'/UFSSBGPSNݣ͍ʹΑͦ͞͏ #JP_Stripes
AWS CDK - εΫϦϓτݴޠͰϦιʔεཧ 5ZQF4DSJQU+BWBͳͲ $MPVE'PSNBUJPOͷ:".-ΛεΫϦϓτͰهड़͢Δ ܕݴޠΛ͑*%&Ͱೖྗิ͕͋Δ ॻ͖ํʹࣗ৴ͷͳ͍ϦιʔεΛ͏ͳΒ$%,͕ೖ͍͢͠ #JP_Stripes
ΠϕϯτύλʔϯͰ StripeͷΠϕϯτΛ ࢦఆ͢Δ #JP_Stripes
None
None
• @aws-cdk/aws-events • CfnEventBusͰೖଆ • CfnRuleͰDispatchϧʔϧ • eventPatter.detail-typeʹ StripeͷΠϕϯτΛྻڍ •
targetsʹݺͼग़͠ઌ
Stripe Webhook͔Β EventBridgeೖ #JP_Stripes
None
• EventBusName / Source CDKͷఆٛͱἧ͑Δ • DetailTypeʹ WebhookͷTypeΛ͢ • DetailʹຊମΛ͢
ͪͳΈʹ
ͬͯ·͔͢ɺॺ໊γʔΫϨοτ
Stripe͔Βͷ ϦΫΤετ͔Λ ݕূ͢Δ #JP_Stripes https://stripe.com/docs/webhooks/signatures
ॲཧલʹconstructEventͰݕূΛ AWS Secret ManagerΛ͏ͱΑΓ҆શ https://wp-kyoto.net/verify-stripe-webhook-signature
͓͞Β͍ ೖΓޱɿ4USJQF"1*(BUFXBZ-BNCEB&WFOU#SJEHF ࣮ॲཧɿ&WFOU#SJEHF-BNCEB'JSFIPTFFUDʜ 4USJQF8FCIPPLΛ͏͚Δ"1*ϦΫΤετͷݕূΛ "84$%,4FSWFSMFTT'8ͳͲͰ࣮ॲཧܥΛίʔυཧ͠Α͏ ΠϕϯτͷՃEFWQSPEͷৼΓ͚ίʔυ (JUͰ҆શཧʂ #JP_Stripes
Agenda ࢼͨ͜͠ͱɿ4USJQFͷ8FCIPPLΛ"NB[PO&WFOU#SJEHFͰॲཧ ࢼͨ͠ཧ༝ɿ8FCIPPLͷཧΛޮԽ͔ͨͬͨ͠ ࢼͨ͠ํ๏ɿ"84$%,Ͱ8FCIPPLΛίʔυཧ ࢼͨ݁͠Ռɿ$'/UFSSBGPSNݣ͍ʹΑͦ͞͏ #JP_Stripes
AWSͰཧ or StripeͰཧ 8FCIPPLͷཧΛ4USJQF͔Β"84ʹҠ͚ͨͩ͠ $'/UFSSBGPSNͳͲͰͷཧͱ-BNCEBͱͷ౷߹ָ͕ 4USJQF8FCIPPLͷҟৗݕܥͳͲ͕͑ͳ͘ͳΔ Ͳͷಓཧ͠ͳ͍ͱ͍͚ͳ͍ͷมΘΒͳ͍ "84Ͱίʔυཧ͠ͳ͍ͳΒ͋·ΓϝϦοτͳͦ͞͏ #JP_Stripes
એ
ڈʢJP_Stripes Connect 2019ʣ HTTPS://CONNECT2019.JPSTRIPES.COM/ #JP_Stripes
ࠓʢJP_Stripes Connect 2020ʣ HTTPS://CONNECT2020.JPSTRIPES.COM/ #JP_Stripes
JP_STRIPES CONNECT 2020 @ೆ੨ࢁ IN 4/18(SAT) SAVE THE DATE !