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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hidetaka Okamoto
January 27, 2020
Programming
200
1
Share
Amazon EventBridgeを利用して StripeのWebhookを処理する / stripe-with-eventbridge
JP_Stripes (Stripe ユーザーグループ)in 大阪 Vol.5
Hidetaka Okamoto
January 27, 2020
More Decks by Hidetaka Okamoto
See All by Hidetaka Okamoto
OpenAI APIで API Changelogを要約してみた話 / chatgpt-osaka-1
hideokamoto
0
680
コミュニティ運営から 中の人に変わって感じたこと
hideokamoto
0
130
Developerが Developer Advocateになった話 / dev-rel-meetup-tokyo-71
hideokamoto
0
370
Jamstack開発者のための App Runner入門
hideokamoto
1
540
WordPressでの webサイト制作2022 / ngk2022s
hideokamoto
0
490
JavaScript(TypeScript)で メディアサイトを インフラから構築する方法 / jsconf-jp-2021
hideokamoto
2
4.4k
AWS上でStripeを利用したアプリをより安全にデプロイする方法 /jaws-pankration-2021
hideokamoto
1
230
Shifter Headlessと Headless WordPressの紹介
hideokamoto
0
2.1k
Stripe & Next.js + AWS Amplify で会員 + 定期課金機能 / JP_Stripes20210903
hideokamoto
7
3.3k
Other Decks in Programming
See All in Programming
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.8k
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1k
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.7k
継続的な負荷検証を目指して
pyama86
3
1.1k
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.2k
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
3k
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
110
Kingdom of the Machine
yui_knk
2
1.5k
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
270
Back to the roots of date
jinroq
0
800
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
150
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
790
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
280
Skip the Path - Find Your Career Trail
mkilby
1
120
Thoughts on Productivity
jonyablonski
76
5.1k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
210
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
How GitHub (no longer) Works
holman
316
150k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Designing Powerful Visuals for Engaging Learning
tmiket
1
360
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
140
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 !