Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Stripe決済対応 バリカートの紹介と本カートシステムでの Stripe連携の仕組み
Takashi Nojima
March 23, 2020
Technology
0
70
Stripe決済対応 バリカートの紹介と本カートシステムでの Stripe連携の仕組み
JP_Stripes 福岡 vol.6
2020/03
バリカート
https://baricart.jp
Takashi Nojima
March 23, 2020
Tweet
Share
More Decks by Takashi Nojima
See All by Takashi Nojima
CakePHP3で時間を 扱いたかったお話 / Fukuoka.php 201904
nojimage
0
170
Dockerで作るPHP開発環境(入門編)
nojimage
3
730
CakePHP3 Modelless Form
nojimage
3
2.2k
Codeceptionでテストをしよう
nojimage
0
1.3k
Other Decks in Technology
See All in Technology
Azure Arc Virtual MachineとAzure Arc Resource Bridge / VM provisioning through Azure portal on Azure Stack HCI (preview)
sashizaki
0
160
What's Data Lake ? Azure Data Lake best practice
ryomaru0825
2
750
リファインメントは楽しいかね?
kitamu_mu
1
550
サーバレスECにおける Step Functions の使い方 〜ステートマシン全部見せます!〜
miu_crescent
0
200
FoodTechにおける商流・金流・物流の進化/Evolution of Commercial, Financial, and Logistics in FoodTech
dskst
0
410
約6年間運用したシステムをKubernetesに完全移行するまで/Kubernetes Novice Tokyo
isaoshimizu
6
920
QiitaConference2022
fuwasegu
0
200
GeoLocationAnchor and MKTileOverlay
toyship
0
110
miisan's career talk
mii3king
0
230
History of the ML system in KARTE
kargo113
1
660
Swift Regex Builder
kumamotone
1
110
Citizen 개발기
outsider
0
290
Featured
See All Featured
Debugging Ruby Performance
tmm1
65
10k
Designing the Hi-DPI Web
ddemaree
272
32k
A designer walks into a library…
pauljervisheath
196
16k
Docker and Python
trallard
27
1.6k
Visualization
eitanlees
125
11k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
Why You Should Never Use an ORM
jnunemaker
PRO
47
7.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
Bash Introduction
62gerente
597
210k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
49k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
10k
Testing 201, or: Great Expectations
jmmastey
21
5.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Ͱهड़
Ͱ͖ΔͷͰɺจͷޙॲཧจྃը໘ͷભҠ ͳͲΛߦ͏
࣭ʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠