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
IoTハンズオンの舞台裏
shirouz
2
150
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
230
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
620
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
0
140
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
3
860
Beyond the Hype: Practical AI for Your Oracle Database with MCP
thatjeffsmith
1
270
現場に行くだけでは足りない——プロダクトエンジニアが業務の流れを捉える観点と、その鍛え方
takumiengineering
0
300
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
250
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
380
Webとヘルスデータ
yukukotani
0
190
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
240
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
270
Featured
See All Featured
Bash Introduction
62gerente
615
220k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The SEO Collaboration Effect
kristinabergwall1
1
550
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Deep Space Network (abreviated)
tonyrice
0
290
Agile that works and the tools we love
rasmusluckow
331
22k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
Odyssey Design
rkendrick25
PRO
2
800
Optimizing for Happiness
mojombo
378
71k
The Pragmatic Product Professional
lauravandoore
37
7.4k
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Ͱهड़
Ͱ͖ΔͷͰɺจͷޙॲཧจྃը໘ͷભҠ ͳͲΛߦ͏
࣭ʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠