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決済対応 バリカートの紹介と本カートシステムでの Stripe連携の仕組み
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takashi Nojima
March 23, 2020
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Stripe決済対応 バリカートの紹介と本カートシステムでの Stripe連携の仕組み
JP_Stripes 福岡 vol.6
2020/03
バリカート
https://baricart.jp
Takashi Nojima
March 23, 2020
More Decks by Takashi Nojima
See All by Takashi Nojima
CakePHP3で時間を 扱いたかったお話 / Fukuoka.php 201904
nojimage
0
440
Dockerで作るPHP開発環境(入門編)
nojimage
3
1.1k
CakePHP3 Modelless Form
nojimage
3
3k
Codeceptionでテストをしよう
nojimage
0
1.8k
Other Decks in Technology
See All in Technology
ホームラボ紹介
y_sera15
0
140
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.3k
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
200
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.1k
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.6k
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
310
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.4k
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
280
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
380
システム思考で問題に対処する
yussak
0
220
LanceDB入門
mocobeta
6
210
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
YesSQL, Process and Tooling at Scale
rocio
174
15k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Code Review Best Practice
trishagee
74
20k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
GitHub's CSS Performance
jonrohan
1033
470k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Product Roadmaps are Hard
iamctodd
55
12k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
270
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
310
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
380
Transcript
4USJQFܾࡁରԠόϦΧʔτͷհͱ ຊΧʔτγεςϜͰͷ 4USJQF࿈ܞͷΈ +1@4USJQFTԬWPM
About Me ໊લɿౡོʢͷ͡·͔ͨ͠ʣ ॴଐɿΠϥεςΟοΫίϯαϧλϯπגࣜձࣾ IUUQTFMBTUJDDPOTVMUBOUTDPN ‣ (JUIVC5XJUUFSOPKJNBHF
͢͜ͱ ‣ όϦΧʔτͷ͝հ ‣ όϦΧʔτΛ4USJQFܾࡁʹରԠ͢ΔͨΊʹ ͬͨ͜ͱ
None
όϦΧʔτ is Headless ‣ ϑϩϯτΤϯυͷ(6*Λ࣋ͨͳ͍ ‣ ඞཁͳσʔλɺૢ࡞"1*ܦ༝ͰΓऔΓ͢Δ ‣ ϑϩϯτΤϯυͱόοΫΤϯυΛͯ͠ઃஔͰ͖ Δ
‣ ͦͷͨΊϑϩϯτΤϯυͷࣗ༝͕ߴ͍
'SPOU&OE #BDL&OE ΧʔτγεςϜ ͜Ε·ͰͷΧʔτγεςϜ όϦΧʔτ 'SPOU&OE #BDL&OE όϦΧʔτ
'SPOU&OE #BDL&OE όϦΧʔτ ҰͭͷόϦΧʔτͰෳγϣοϓ։ઃՄೳ 'SPOU&OE 'SPOU&OE
ࣄྫհ
νϣΠεδϟύϯגࣜձ༷ࣾ IUUQTIBQQZGBNJMZMJGFKQ IUUQTTJMJDBTJMJDBDPN IUUQTKVLFOPIDPN IUUQTTQBSLMJOHTJMJDBTJMJDBDPN
νϣΠεδϟύϯגࣜձ༷ࣾ ‣ ૯߹γϣοϓαΠτͱɺࡐผʹϥϯσΟϯάϖʔ δʢ-1ʣαΠτΛ࡞ ‣ -1αΠτͰΛߪೖՄೳ
όϦΧʔτ ‣ ఆظߪೖ ‣ ϙΠϯτ༩ ‣ ϨϯλϧΧʔτ ‣ 4USJQFɺ1":+1ɺ"NB[PO1BZɺ/1ޙ͍ɺ ۜߦৼࠐɺҾ͖ɺ"MJQBZ
4USJQF ‣ ૹࣄۀऀ͚σʔλॻ͖ग़͠ ‣ εςοϓϝʔϧ ‣ ෳళฮରԠ
όϦΧʔτ ‣ "41αʔϏεͱͯ͠ఏڙ ‣ ΦϯϓϨϛε൛
https://baricart.jp
όϦΧʔτΛ 4USJQFܾࡁʹରԠͨ͠
$"6$"5*0/ લʹ࣮͍ͯ͠ΔͷͰ 4USJQF͕ࣾਪ͢Δ࠷৽ͷΈࠐΈํ๏ͱ ҟͳΓ·͢
ߏ γϣοϓαΠτ ߪೖϑΥʔϜ ΧʔτγεςϜ 4USJQF DIFDLPVUKT 4USJQF"1* ΧʔυೖྗϑΥʔϜΛදࣔͯ͠ ΧʔυτʔΫϯΛऔಘ
จΛ֬ఆ ΧʔυτʔΫϯΛ͢ $IBSHF
͍ͬͯΔStripeͷػೳ ‣ IUUQTDIFDLPVUTUSJQFDPNDIFDLPVUKT ‣ ΧʔυใͷೖྗɺΧʔυτʔΫϯͷऔಘ ‣ 4USJQF"1* 1)1 ‣
$IBSHFɺ$VTUPNFSɺ3FGVOE
࡞ͬͨͷ ‣ ϑϩϯτΤϯυ༻DIFDLPVUKTͷಡΈࠐΈ+4 ‣ จঢ়ଶมߋ࣌ͷ4USJQF"1*ίʔϧ ‣ จ֬ఆ࣌ ‣ จΩϟϯηϧ࣌
checkout.jsͷಡΈࠐΈJS ‣ DIFDLPVUKTΛར༻͢Δʹ4USJQF"1*Ωʔͷࢦఆ ͕ඞཁ ‣ "1*ΩʔจॲཧͰར༻͢ΔͷͰΧʔτγεςϜ ʹొ͍ͯ͠Δ͕ɺϑϩϯτΤϯυͱόοΫΤϯυ ͕͍ͯ͠ΔͷͰɺϑϩϯτΤϯυଆʹ"1* ΩʔΛॻ͔ͳ͚ΕͳΒͳ͔ͬͨˠෆศ ϑϩϯτΤϯυͱόοΫΤϯυ͕͍ͯ͠ΔނͷΈ
checkout.jsͷಡΈࠐΈJS ‣ ΧʔτγεςϜΑΓ"1*ΩʔΛऔಘ͔ͯ͠Βɺ DIFDLPVUKTΛಡΈࠐΜͰจϑΥʔϜຒΊࠐΈ ΧʔυใͷೖྗϘλϯΛදࣔͤ͞Δ ‣ Χʔυใ͕ೖྗ͞ΕͨΒΧʔυτʔΫϯ͕औಘͰ ͖ΔͷͰɺͦΕΛจσʔλʹՃ͢Δ ‣ ͱ͍͏ॲཧΛจϑΥʔϜͷ)5.-ߦՃ͢Δ
͚ͩͰߦ͑ΔεΫϦϓτΛ࡞ͬͨ
จঢ়ଶมߋ࣌ͷAPIίʔϧ ‣ ΧʔτγεςϜ͕ࢧ͍ॲཧ༻ͷΠϯλʔϑΣʔε Λ͍࣋ͬͯΔͷͰͦΕʹ߹Θ࣮ͤͯ ‣ จ֬ఆ࣌ ‣ a4USJQFa$VTUPNFSaDSFBUF ɾɾɾސ٬ͷ࣍ճҎ߱ͷจͰʮొࡁ ΧʔυͰࢧ͏ʯΛ࣮ݱ͢ΔͨΊʹΧʔυτʔΫϯͷΈΛొ
‣ a4USJQFa$IBSHFaDSFBUF DBQUVSF
จঢ়ଶมߋ࣌ͷAPIίʔϧ ‣ จΩϟϯηϧ࣌ ‣ a4USJQFa3FGVOEaDSFBUF
࣮ͷϙΠϯτ ‣ ࢧ͍Λ֬ఆ͢ΔͱֹۚͷมߋͰ͖ͳ͍ ‣ ֹۚมߋΛ͏จฤूɺ จΩϟϯηϧˠ৽نจʹஔ͖͑ ͱߟ͑ͨ΄͏ָ͕
࣮ͷϙΠϯτ ‣ 4USJQF"1*ͷϦΫΤετ༰ɺϨεϙϯε༰ ه͓ͯ͘͠ ‣ 4USJQF"1*ͷϦΫΤετ͕ࣦഊͨ͠Βจঢ়ଶભ ҠΛΩϟϯηϧ͢Δ ‣ 4USJQF"1*͔ΒͷΤϥʔཧ༝มͯ͠දࣔ͢Δ
࣮ͷϙΠϯτ ‣ ༻ҙ͞Ε͍ͯΔػೳ͔Βඞཁͳͷ͚ͩΛར༻͢Δ
$"6$"5*0/ લʹ࣮͍ͯ͠ΔͷͰ 4USJQF͕ࣾਪ͢Δ࠷৽ͷΈࠐΈํ๏ͱ ҟͳΓ·͢
StripeରԠ TODO ‣ ࠓճͷൃදʹ͋ͨͬͯɺ4USJQFΛௐͯͨ͠Β ৭ʑΞοϓσʔτ͞Ε͍ͯΔ ‣ DIFDLPVUKTˠ4USJQF&MFNFOUT ‣ ݱࡏͷߪೖϑϩʔʢ֬ೝը໘ͷલʹΧʔυೖྗʣ͔Βɺจ֬ఆޙʹ ΧʔυೖྗΛߦ͏ϑϩʔʹมߋ͢Δඞཁ͕͋Δ
‣ 4USJQF1)1-JCYˠY ‣ IUUQTHJUIVCDPNTUSJQFTUSJQFQIQXJLJ.JHSBUJPOHVJEFGPSW
Stripe Elements? ‣ "QQMF1BZ(PPHMF1BZͳͲΧʔυҎ֎ͷܾࡁํ ๏ʹରԠՄೳ ‣ $IBSHFT"1*ͷΘΓʹ1BZNFOU*OUFOUT"1*Λ ར༻͢Δ ‣ ࠓͷͱ͜Ζ$IBSHFT"1*ͷഇࢭ༧ఆͳ͍
Stripe Elements? ‣ จֹ͕ۚ֬ఆͨ͠ޙʹɺαʔόʔ্Ͱ1BZNFOU *OUFOUΛ࡞͔ͯ͠ΒɺϑϩϯτΤϯυ͢ ‣ ސ٬4USJQF&MFNFOUTͰ࡞͞ΕΔϑΥʔϜ ΧʔυใΛೖྗܾͯ͠ࡁ͢Δ ‣ 4USJQFܾࡁ͕ྃͨ͠ޙͷॲཧΛ+BWB4DSJQUͰهड़
Ͱ͖ΔͷͰɺจͷޙॲཧจྃը໘ͷભҠ ͳͲΛߦ͏
࣭ʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠