Slide 1

Slide 1 text

Զͱ4USJQF ۀ຿༻ࣗಈंϨϯλϧαʔϏε#/3 +1@4USJQFJOۚ୔ࣄྫʹֶͿɺΦϯϥΠϯϏδωε%9ͷ࢝Ίํ ϑΝϥϯΫε΢ΣΞ୅ද ;͊Β͓Ճ౻

Slide 2

Slide 2 text

໊લ Ճ౻ਅಁ;͊Β͓Ճ౻!1IBSBPI,+ झຯ αϒΧϧɾࣗಈೋྠɾ໺॓ɾ##2ɾΊΊΊ ࢓ࣄ Ϋϥ΢υɾ*P5ɾϓϩτɾઃܭɾ࣮૷ ΢ΣϒαʔϏεɾγϣοϓɾήʔϜاը։ൃ 0$3γεςϜ։ൃɺ*4%#5 ஍σδ ॻ͍ͨߦ਺ NBZCF 3VCZ$1ZUIPO7#1)1+BWB$ ࢀՃίϛϡχςΟ LBOB[BXBSC+"846(ۚ୔ "844BNVSBJ νʔϜड৆ "84$PNNVOJUZ#VJMEFS .- #VSJ,BJHJӡӦ,BJHJPO3BJMTελοϑ ଞ IUUQTXXXQIBMBOYXBSFDPN ޷͖ͳPS࠷ۙ࢖ͬͯΔ"84ͷαʔϏε "NB[PO&,4 #JP_Stripes

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

ͭ·Δͱ͜Ζ w ۀ຿༻ࣗಈंϨϯλϧαʔϏε#/3͸4USJQFΛ࠾༻ͨ͠ɻ w ΫϨδοτΧʔυͷ৹ࠪ ΦʔιϦ Λ࢖͏Α͏ʹͨ͠ɻ w ແਓΛ࣮ݱ͢ΔͨΊɺฦ٫ޙʹमཧඅͷ੥ٻͳΜͯͷ΋ϑΥϩʔͰ͖ͨɻ w %JTDPSEͰ૬ஊ࣮ͨ͠͸Ӧۀ୲౰ͷํ΋͍ͭͯͨɻ w 3VCZPO3BJMTͷΞϓϦʹ૊ΈࠐΜ͕ͩͦΜͳʹ೉͘͠ͳ͔ͬͨɻ w ࣗಈςετʹ՝୊Λ࢒ͨ͠ɻ #JP_Stripes

Slide 5

Slide 5 text

#JP_Stripes

Slide 6

Slide 6 text

͜Ε͸Կ͔ʁ 👉ۀ຿༻ࣗಈंϨϯλϧαʔϏε #JP_Stripes

Slide 7

Slide 7 text

ۀ຿༻ͱ͸Կ͔ʁ 👉՟෺ܰࣗಈंӡૹࣄۀ༻ #JP_Stripes

Slide 8

Slide 8 text

՟෺ܰࣗಈंӡૹࣄۀ༻ 👉 GSPN IUUQT XXXGSFFFDPKQLCLC MJDFOTFCMBDL@OVNCFS #JP_Stripes

Slide 9

Slide 9 text

ϨϯλΧʔͱ͸Ͳ͕͜ҧ͏ͷ͔ʁ 👉ࣄۀऀͷं͡Όͳ͍ͱμϝ #JP_Stripes

Slide 10

Slide 10 text

ंͷΦʔφʔ͕Ϩϯλϧձࣾ ৐Δͷ͸आΓͨਓ👉🙅 #JP_Stripes

Slide 11

Slide 11 text

૝ఆ͍ͯ͠ΔϢʔεέʔε 👉ྫ͑͹୅ं #JP_Stripes

Slide 12

Slide 12 text

յΕͪΌͬͨΑʔ 👉͜͏ͳΔͱࣄۀ͕Ͱ͖ͳ͍ 👉ϨΪϡϨʔγϣϯͷݫ͍͠ݩ੥͚΋ ͋Δ #JP_Stripes

Slide 13

Slide 13 text

ҰൠతͳϨϯλΧʔͷ୅ं/( #JP_Stripes

Slide 14

Slide 14 text

#JP_Stripes

Slide 15

Slide 15 text

Ϣʔβʔମݧ ຊαʔϏεʹొ࿥͢Δˠࣄۀొ࿥ূͱӡస໔ڐΛૹ৴͢Δ ं྆Ұཡ͔ΒंΛબ୒͢Δˠ4USJQFͰΫϨΧܾࡁ͢Δ ࣄۀొ࿥ূͱӡస໔ڐূΛݩʹ཮ӡࢧہ΁ߦͬͯΦʔφʔφϯόʔϓϨʔ τมߋ͢Δ ंͷ४උ͕Ͱ͖ͨΒղৣ༻ύεϫʔυ͕ిࢠϝʔϧͰૹΒΕͯ͘Δ றं৔ʹߦ͖ɺղৣ༻ύεϫʔυΛೖΕΔͱυΞ͕͍͋ͯ৐Γग़͢ #JP_Stripes #JP_Stripes

Slide 16

Slide 16 text

Ϣʔβʔମݧ ंΛฦ٫ͨ͘͠ͳͬͨΒɺறं৔ʹ໭ͯ͠εϚϗͷฦ٫ϘλϯΛԡ͢ ฦ٫Λ֬ೝ͠ɺं྆ͷނোΛ֬ೝ͢Δɻ " ೔਺෼ͷ୅ۚ੥ٻΛ4USJQFʹͯߦ͏ # ं྆ʹ໰୊͕͋ͬͨΒमཧͯ͠ɺमཧඅͷ੥ٻΛ4USJQFʹͯߦ͏ #JP_Stripes #JP_Stripes

Slide 17

Slide 17 text

ܾࡁͷཁ݅ " औΓͬͺ͙Ε͕ͳ͍Α͏ʹࢧ෷ऀ֬ೝ͕Ͱ͖ΔΑ͏ʹΫϨδοτΧʔυΛ ࠾༻͍ͨ͠ # ିͨ͠೔਺͋ͨΓͰ੥ٻ͢ΔͷͰɺҰൠతͳ௨ൢͱҧ͍੥ٻ͢Δ্ֹ͕ۚԼ ͢Δ $ ނো͕͋ͬͨ৔߹ʹ͸௥ՃͰΫϨδοτΧʔυʹ੥ٻΛ·Θ͍ͨ͠ % 3VCZPO3BJMTͰ࢖͍͍ͨࣄۀ࠶ߏஙิॿۚظؒʹؒʹ߹Θ͍ͤͨ #JP_Stripes #JP_Stripes

Slide 18

Slide 18 text

4USJQFΛ࠾༻ͨ͠ #JP_Stripes #JP_Stripes

Slide 19

Slide 19 text

࢖͏ͷ͸ 👉1BZNFOU"1* #JP_Stripes

Slide 20

Slide 20 text

࣮͸૬ஊͨ͠JO%JTDPSE #JP_Stripes

Slide 21

Slide 21 text

#JP_Stripes

Slide 22

Slide 22 text

#JP_Stripes

Slide 23

Slide 23 text

4USJQFͷ૊ΈࠐΈ͸ 👉gem 'stripe' #JP_Stripes

Slide 24

Slide 24 text

# install tool brew install stripe/stripe-cli/stripe # login stripe login # callback to internal stripe listen --forward-to localhost:3000/webhooks #JP_Stripes

Slide 25

Slide 25 text

`/webhooks`ʹ4USJQFଆͷΠϕϯτ͕ ඈΜͰ͘ΔͷͰͦΕΛॲཧ͢Ε͹0, #JP_Stripes

Slide 26

Slide 26 text

# config/routes.rb resources :webhooks, only: [:create] # app/controllers/webhooks_controller.rb class WebhooksController < ApplicationController … def create payload = request.body.read sig_header = request.env['HTTP_STRIPE_SIGNATURE'] endpoint_secret = Rails.configuration.x.stripe.endpoint_secret event = Stripe::Webhook.construct_event( payload, sig_header, endpoint_secret ) #JP_Stripes

Slide 27

Slide 27 text

੥ٻ෦෼ 👉 #JP_Stripes

Slide 28

Slide 28 text

#JP_Stripes

Slide 29

Slide 29 text

؆୯ʹͰ͖ͨʂ #JP_Stripes

Slide 30

Slide 30 text

՝୊ 👉ࣗಈςετ͕೉͍͠ ·͊֎෦4BB4࢖͏ͷ͸ΈΜͳͦ͏ 👉ࣗಈςετ؀ڥʹXFCIPPL༻ҙ͢Δʁ 👉ͦ΋ͦ΋4USJQF͔ΒͷίʔϧόοΫ͕ͳ͍ͱ։ൃ Ͱ͖ͳ͍ͬͯͭΒͳ͍ʁ #JP_Stripes

Slide 31

Slide 31 text

·ͱΊ w ۀ຿༻ࣗಈंϨϯλϧαʔϏε#/3͸4USJQFΛ࠾༻ͨ͠ɻ w ΫϨδοτΧʔυͷ৹ࠪ ΦʔιϦ Λ࢖͏Α͏ʹͨ͠ɻ w ແਓΛ࣮ݱ͢ΔͨΊɺฦ٫ޙʹमཧඅͷ੥ٻͳΜͯͷ΋ϑΥϩʔͰ͖ͨɻ w %JTDPSEͰ૬ஊ࣮ͨ͠͸Ӧۀ୲౰ͷํ΋͍ͭͯͨɻ w 3VCZPO3BJMTͷΞϓϦʹ૊ΈࠐΜ͕ͩͦΜͳʹ೉͘͠ͳ͔ͬͨɻ w ࣗಈςετʹ՝୊Λ࢒ͨ͠ɻ #JP_Stripes