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
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
120
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
460
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
500
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
130
PLaMo 3.0 Primeの事後学習
pfn
PRO
0
280
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
210
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
570
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.7k
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
510
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
2
470
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
For a Future-Friendly Web
brad_frost
183
10k
Mind Mapping
helmedeiros
PRO
1
300
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Designing for Timeless Needs
cassininazir
1
430
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
New Earth Scene 8
popppiees
3
2.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Context Engineering - Making Every Token Count
addyosmani
9
1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Mobile First: as difficult as doing things right
swwweet
225
10k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
300
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Ͱهड़
Ͱ͖ΔͷͰɺจͷޙॲཧจྃը໘ͷભҠ ͳͲΛߦ͏
࣭ʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠