Slide 1

Slide 1 text

Amazon EventBridgeΛར༻ͯ͠ StripeͷWebhookΛॲཧ͢Δ JP_Stripes (Stripe Ϣʔβʔάϧʔϓʣin େࡕ Vol.̑ #JP_Stripes

Slide 2

Slide 2 text

About: Hidetaka Okamoto גࣜձࣾσδλϧΩϡʔϒ "MFYB$IBNQJPOT 3FBDU5ZQF4DSJQU"84 #JP_Stripes

Slide 3

Slide 3 text

About: Hidetaka Okamoto גࣜձࣾσδλϧΩϡʔϒ "MFYB$IBNQJPOT 3FBDU5ZQF4DSJQU"84 #JP_Stripes

Slide 4

Slide 4 text

#JP_Stripes

Slide 5

Slide 5 text

Agenda ࢼͨ͜͠ͱɿ4USJQFͷ8FCIPPLΛ"NB[PO&WFOU#SJEHFͰॲཧ ࢼͨ͠ཧ༝ɿ8FCIPPLͷ؅ཧΛޮ཰Խ͔ͨͬͨ͠ ࢼͨ͠ํ๏ɿ"84$%,Ͱ8FCIPPLΛίʔυ؅ཧ ࢼͨ݁͠Ռɿ$'/UFSSBGPSNݣ͍ʹ͸Αͦ͞͏ #JP_Stripes

Slide 6

Slide 6 text

Agenda ࢼͨ͜͠ͱɿ4USJQFͷ8FCIPPLΛ"NB[PO&WFOU#SJEHFͰॲཧ ࢼͨ͠ཧ༝ɿ8FCIPPLͷ؅ཧΛޮ཰Խ͔ͨͬͨ͠ ࢼͨ͠ํ๏ɿ"84$%,Ͱ8FCIPPLΛίʔυ؅ཧ ࢼͨ݁͠Ռɿ$'/UFSSBGPSNݣ͍ʹ͸Αͦ͞͏ #JP_Stripes

Slide 7

Slide 7 text

StripeͷWebhookΛAWS΁ 4USJQFͷ8FCIPPL؅ཧ͸(6*࡞ۀ͕Ұൠత "84ʹ͸ΠϕϯτΛ%JTQBUDI͢ΔαʔϏε͕͋Δ "NB[PO&WFOU#SJEHF$MPVE8BUDI&WFOUϕʔεͷ౷߹αʔϏε "NB[PO&WFOU#SJEHFͰ4USJQF"84ͷ8FCIPPLܥΛू໿؅ཧ #JP_Stripes

Slide 8

Slide 8 text

Agenda ࢼͨ͜͠ͱɿ4USJQFͷ8FCIPPLΛ"NB[PO&WFOU#SJEHFͰॲཧ ࢼͨ͠ཧ༝ɿ8FCIPPLͷ؅ཧΛޮ཰Խ͔ͨͬͨ͠ ࢼͨ͠ํ๏ɿ"84$%,Ͱ8FCIPPLΛίʔυ؅ཧ ࢼͨ݁͠Ռɿ$'/UFSSBGPSNݣ͍ʹ͸Αͦ͞͏ #JP_Stripes

Slide 9

Slide 9 text

StripeͷWebhook؅ཧΛָ͍ͨ͠ (6*Ͱ8FCIPPLΛͭͭొ࿥ͯͨ͠ ଞͷ4BB4ͱͷσʔλ࿈ܞͳͲɺ8FCIPPLͰͭͳ͙΋ͷ͕૿͖͑ͯͨ Ͳͷ8FCIPPLͰԿΛ͍͔͕ͯͨ࣍͠ୈʹΘ͔Βͳ͘ͳΔ 8FCIPPLͷ؅ཧΛָʹ͍ͨ͠ #JP_Stripes

Slide 10

Slide 10 text

Amazon EventBridge HTTPS://AWS.AMAZON.COM/JP/EVENTBRIDGE/ #JP_Stripes

Slide 11

Slide 11 text

"NB[PO&WFOU#SJEHF͸ɺಠࣗͷΞϓϦέʔγϣϯɺ౷߹ 4PGUXBSFBTB4FSWJDF 4BB4 ΞϓϦέʔγϣϯɺ͓Αͼ"84ͷ αʔϏε͔ΒͷσʔλΛ࢖༻ͯ͠ɺΞϓϦέʔγϣϯΛ؆୯ʹ઀ଓ ͢Δ͜ͱΛՄೳʹ͢ΔαʔόʔϨεΠϕϯτόεͰ͢ɻ &WFOU#SJEHF͸ɺ;FOEFTLɺ%BUBEPHɺ1BHFSEVUZͳͲͷΠϕϯ τιʔε͔ΒϦΞϧλΠϜσʔλͷετϦʔϜΛ഑৴͠ɺͦͷσʔλ Λ"84-BNCEBͳͲͷλʔήοτʹϧʔςΟϯά͠·͢ɻ IUUQTBXTBNB[PODPNKQFWFOUCSJEHF

Slide 12

Slide 12 text

EventBridgeͰͰ͖Δ͜ͱ $MPVE8BUDI&WFOU͕αʔϏεͱͯ͠ಠཱͨ͠Α͏ͳΠϝʔδ "84্ΧελϜͷΠϕϯτΛ؂ࢹ Πϕϯτ͕དྷΔͱɺఆٛ͞ΕͨαʔϏεʢ-BNCEBͳͲʣΛ࣮ߦ λʔήοτΠϕϯτͱݺͼग़͠ઌ͸ϧʔϧͰఆٛՄೳ #JP_Stripes

Slide 13

Slide 13 text

ΠϕϯτύλʔϯͰ StripeͷΠϕϯτΛ ࢦఆ͢Δ #JP_Stripes

Slide 14

Slide 14 text

TargetͰ࣮ߦ͢ΔॲཧΛࢦఆ͢Δ ɾϧʔϧͷ൑ఆ΍௥Ճύϥϝλ΋ࢦఆՄೳ ɾෳ਺ొ࿥Մೳɺϧʔϧͷઃఆ΋ݸผ #JP_Stripes

Slide 15

Slide 15 text

StripeͰEventBridge ΧελϜΠϕϯτͱͯ͠࢖༻͢Δ 4USJQF8FCIPPL"1*(8-BNCEB&WFOU#SJEHF 4USJQFʹ͸8FCIPPL͚ͭͩొ࿥ʢର৅Πϕϯτશͯૹ৴ʣ &WFOU#SJEHFଆͰΠϕϯτλΠϓΛ൑ผͯ͠ॲཧܥΛىಈ͢Δ #JP_Stripes

Slide 16

Slide 16 text

ͪͳΈʹ

Slide 17

Slide 17 text

terraformͰ Stripe͸؅ཧ Ͱ͖ΔΒ͍͠ #JP_Stripes ޙ͔Β஌ͬͨ

Slide 18

Slide 18 text

WEBHOOKҎ֎΋؅ཧՄೳʢͷ༷ࢠʢͩΕ͔ࢼͯ͠ʢ࣍ճ஻ͬͯʣʣʣ HTTPS://GITHUB.COM/FRANCKVERROT/TERRAFORM-PROVIDER-STRIPE #JP_Stripes

Slide 19

Slide 19 text

Agenda ࢼͨ͜͠ͱɿ4USJQFͷ8FCIPPLΛ"NB[PO&WFOU#SJEHFͰॲཧ ࢼͨ͠ཧ༝ɿ8FCIPPLͷ؅ཧΛޮ཰Խ͔ͨͬͨ͠ ࢼͨ͠ํ๏ɿ"84$%,Ͱ8FCIPPLΛίʔυ؅ཧ ࢼͨ݁͠Ռɿ$'/UFSSBGPSNݣ͍ʹ͸Αͦ͞͏ #JP_Stripes

Slide 20

Slide 20 text

AWS CDK - εΫϦϓτݴޠͰϦιʔε؅ཧ 5ZQF4DSJQU+BWBͳͲ $MPVE'PSNBUJPOͷ:".-ΛεΫϦϓτͰهड़͢Δ ܕ෇ݴޠΛ࢖͑͹*%&Ͱೖྗิ׬͕͋Δ ॻ͖ํʹࣗ৴ͷͳ͍ϦιʔεΛ࢖͏ͳΒ$%,͕ೖ໳͠΍͍͢ #JP_Stripes

Slide 21

Slide 21 text

ΠϕϯτύλʔϯͰ StripeͷΠϕϯτΛ ࢦఆ͢Δ #JP_Stripes

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

• @aws-cdk/aws-events • CfnEventBusͰ౤ೖଆ • CfnRuleͰDispatchϧʔϧ • eventPatter.detail-typeʹ StripeͷΠϕϯτΛྻڍ • targetsʹݺͼग़͠ઌ

Slide 25

Slide 25 text

Stripe Webhook͔Β EventBridge΁౤ೖ #JP_Stripes

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

• EventBusName / Source͸ CDKͷఆٛͱἧ͑Δ • DetailTypeʹ WebhookͷTypeΛ౉͢ • DetailʹຊମΛ౉͢

Slide 28

Slide 28 text

ͪͳΈʹ

Slide 29

Slide 29 text

࢖ͬͯ·͔͢ɺॺ໊γʔΫϨοτ

Slide 30

Slide 30 text

Stripe͔Βͷ ϦΫΤετ͔Λ ݕূ͢Δ #JP_Stripes https://stripe.com/docs/webhooks/signatures

Slide 31

Slide 31 text

ॲཧલʹconstructEventͰݕূΛ AWS Secret ManagerΛ࢖͏ͱΑΓ҆શ https://wp-kyoto.net/verify-stripe-webhook-signature

Slide 32

Slide 32 text

͓͞Β͍ ೖΓޱɿ4USJQF"1*(BUFXBZ-BNCEB&WFOU#SJEHF ࣮ॲཧɿ&WFOU#SJEHF-BNCEB'JSFIPTFFUDʜ 4USJQF8FCIPPLΛ͏͚Δ"1*͸ϦΫΤετͷݕূΛ "84$%,΍4FSWFSMFTT'8ͳͲͰ࣮ॲཧܥΛίʔυ؅ཧ͠Α͏ Πϕϯτͷ௥Ճ΍EFWQSPEͷৼΓ෼͚΋ίʔυ(JUͰ҆શ؅ཧʂ #JP_Stripes

Slide 33

Slide 33 text

Agenda ࢼͨ͜͠ͱɿ4USJQFͷ8FCIPPLΛ"NB[PO&WFOU#SJEHFͰॲཧ ࢼͨ͠ཧ༝ɿ8FCIPPLͷ؅ཧΛޮ཰Խ͔ͨͬͨ͠ ࢼͨ͠ํ๏ɿ"84$%,Ͱ8FCIPPLΛίʔυ؅ཧ ࢼͨ݁͠Ռɿ$'/UFSSBGPSNݣ͍ʹ͸Αͦ͞͏ #JP_Stripes

Slide 34

Slide 34 text

AWSͰ؅ཧ or StripeͰ؅ཧ 8FCIPPLͷ؅ཧΛ4USJQF͔Β"84ʹҠ͚ͨͩ͠ $'/UFSSBGPSNͳͲͰͷ؅ཧͱ-BNCEBͱͷ౷߹ָ͕ 4USJQF8FCIPPLͷҟৗݕ஌ܥͳͲ͕࢖͑ͳ͘ͳΔ Ͳͷಓ؅ཧ͠ͳ͍ͱ͍͚ͳ͍ͷ͸มΘΒͳ͍ "84Ͱίʔυ؅ཧ͠ͳ͍ͳΒ͋·ΓϝϦοτ͸ͳͦ͞͏ #JP_Stripes

Slide 35

Slide 35 text

એ఻

Slide 36

Slide 36 text

ڈ೥ʢJP_Stripes Connect 2019ʣ HTTPS://CONNECT2019.JPSTRIPES.COM/ #JP_Stripes

Slide 37

Slide 37 text

ࠓ೥ʢJP_Stripes Connect 2020ʣ HTTPS://CONNECT2020.JPSTRIPES.COM/ #JP_Stripes

Slide 38

Slide 38 text

JP_STRIPES CONNECT 2020 @ೆ੨ࢁ IN 4/18(SAT) SAVE THE DATE !