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
ApplePay対応サービスを最速で作る
Search
Mamoru Amano
March 13, 2018
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ApplePay対応サービスを最速で作る
http://eventregist.com/e/JPStripes_Tokyo6
の発表スライドです。
Mamoru Amano
March 13, 2018
More Decks by Mamoru Amano
See All by Mamoru Amano
新規サービス立ち上げ時の仮説検証とチームビルディング
mamoru0217
5
990
フロントエンドの エラー周りで最近知ったこと
mamoru0217
0
190
Wantedly - 管理画面チラ見せ♡ナイト #3 発表資料
mamoru0217
5
11k
Other Decks in Programming
See All in Programming
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
200
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
140
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
210
A2UI という光を覗いてみる
satohjohn
1
160
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
320
Vite+ Unified Toolchain for the Web
naokihaba
0
370
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
200
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
330
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
220
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
290
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
1
570
The NotImplementedError Problem in Ruby
koic
1
980
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
210
Building Adaptive Systems
keathley
44
3.1k
Ruling the World: When Life Gets Gamed
codingconduct
0
270
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
990
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
310
How to Think Like a Performance Engineer
csswizardry
28
2.7k
エンジニアに許された特別な時間の終わり
watany
107
250k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Transcript
+1@4USJQFT5PLZP7PM ఱѮ.BNPSV"NBOP "QQMF1BZରԠαʔϏεΛ ࠷Ͱ࡞ΔͨΊʹͲ͏͢Ε͍͍͔
ϓϩϑΟʔϧ w 8FCΤϯδχΞʢ3BJMT3FBDUʣ!גࣜձࣾΞΧπΩ w ৽نαʔϏε։ൃ w UXJUUFS!NVUBDIJJ
ಥવͰ͕͢
+0:.0 wIUUQTKPZNPIFSPLVBQQDPN w݅ʹϚον͓ͨ͠Ͱ͔͚ϓϥϯΛ ͭఏҊ͢ΔαʔϏε w"QQMF1BZରԠΫϨδοτܾࡁ
ѹత.71
৽نαʔϏε։ൃ w ͜ͷιϦϡʔγϣϯʹ͓ۚΛͬͯ͘ΕΔ͔ʁ w ࣄલʹݕূ͍ͯ͠Δ͕ɺݱ࣮Θ͔Βͳ͍ɻ.71ʹ࣮ࡍʹ͓ۚΛͬ ͯΒ͑Δ͔Ͳ͏͔͕େࣄɻ w ελʔτΞοϓʢ͡Όͳ͍͚ͲʣʹͱͬͯҰ൪وॏͳࢿݯ࣌ؒ w ૉૣ͘ɾָʹ࣮͍ͨ͠
4USJQFͷ͍Ͳ͜Ζʂ
࣭ "QQMF1BZରԠαʔϏεΛ ࠷Ͱ࡞ΔͨΊʹͲ͏͢Ε ͍͍͔
ճ 4USJQFΛ͏
"QQMF1BZ •Touch ID / Face ID Ͱ؆୯ʹܾࡁ͕ߦ͑Δɻ •ϝʔϧΞυϨεͷೖྗͱ͔ෆཁ •Ϙλϯ͕ஔ͍ͯ͋Δͱخ͍͠ɻͦͷαʔϏε͕͖ʹͳΔɻ
1BZNFOU3FRVFTU#VUUPO var stripe = Stripe(gon.stripe_public_key); var paymentRequest = stripe.paymentRequest({ country:
'JP', currency: 'jpy', total: { label: ‘JOYMO ͝ར༻ྉۚ’, amount: 300 } }); var elements = stripe.elements(); var prButton = elements.create('paymentRequestButton', { paymentRequest: paymentRequest, }); paymentRequest.canMakePayment().then(function(result) { if (result) { prButton.mount('#payment-request-button'); } else { document.querySelector(‘.payment-request-button-wrapper') .innerText = ‘͝ར༻ͷͰApple PayΛ͝ར༻͍ͨͩ͘͜ͱग़དྷ·ͤΜɻ'; } }); a͜ΕͰग़Δʂ
1BZNFOU3FRVFTU#VUUPO paymentRequest.on('token', function(e) { var tokenInput = document.getElementById('stripeToken') tokenInput.value =
e.token.id form.submit() }); UPLFOΛಘͨΒϑΥʔϜΛTVCNJU͢Δɻ
"QQMF1BZ·ΘΓͷ w ϩʔΧϧڥͰಈ࡞֬ೝ͢Δ࣌OHSPLΛ͏ɻ w "QQMF1BZར༻ͷͨΊʹɺར༻͢ΔϗετΛొ͢Δඞཁ͕͋Δɻ w ϗετΛຖճొ͢͠ͷ͕গ͠໘ʜ w "QQMF1BZϘλϯ͕දࣔ͞Ε͍ͯͯɺ8FCܾࡁະରԠͰܾࡁͰ͖ͳ͍
߹͕͋Δɻ w ެࣜͷࡌ͍ͬͯΔରԠΧʔυҰཡ࣮֬ʹ͑Δ͚ͣͩͲɺͦΕҎ֎ ͷΧʔυ͕͑Δ͔Ͳ͏͔͕Θ͔ΒΜ
͍͞͝ʹ w ࣮ͪΖΜɺຊ൪ར༻৹ࠪ΄΅ϊʔλΠϜͳͷͰɺεϐʔυΛམͱ ͞ͳ͍։ൃΛ࣮ݱͰ͖ͨʂ w υΩϡϝϯτͷʢίϐϖϏϦςΟʣμογϡϘʔυͷݟ͢͞ͳ ͲɺͲ͜Λͱͬͯຊʹ։ൃऀϑϨϯυϦʔ w 4USJQF͓͏ʂ