Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ecnight-webpay
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kengo Hamasaki
November 17, 2014
Technology
1.6k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ecnight-webpay
ECにおける決済のフローで知っておきたいこと at EC Night #1
http://ec-night.doorkeeper.jp/events/16355
Kengo Hamasaki
November 17, 2014
More Decks by Kengo Hamasaki
See All by Kengo Hamasaki
Running JavaScript within Ruby
hmsk
5
3.9k
jest-matcher-vue-test-utils
hmsk
1
1.3k
Other Decks in Technology
See All in Technology
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
6
2.3k
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
12 個 Tool と、 4,096 Token
hlum
0
110
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
230
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
340
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
0
140
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
550
自分で立ててみるLLMサービス
y_sera15
0
150
20260930_Gemma4_Hands-on
tsho
0
240
今さら理解するウェブフォントver.2026
takanorip
3
510
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
0
200
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
5
4.3k
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
340
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
550
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Designing for Timeless Needs
cassininazir
1
520
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Designing Experiences People Love
moore
143
24k
Typedesign – Prime Four
hannesfritz
42
3.2k
First, design no harm
axbom
PRO
2
1.3k
So, you think you're a good person
axbom
PRO
2
2.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
Transcript
&$ʹ͓͚ΔܾࡁͷϑϩʔͰ ͓͖͍ͬͯͨ͜ͱ EC Night #1 http://ec-night.doorkeeper.jp/events/16355 @hmsk from WebPay
Me @hmsk / Kengo Hamasaki VP Product Development at WebPay
Living in CA, USA
WebPay require 'webpay' webpay = WebPay.new('test_secret_eHn4TTgsGguBcW764a2KA8Yd') webpay.charge.create( currency: ‘jpy’, amount:
400, card: {number: ‘4242-4242-4242-4242’, exp_month: 11, exp_year: 2014, cvc: ‘123’, name: ‘KENGO HAMASAKI’} ) https://webpay.jp
=> #<WebPay::ChargeResponse id: "ch_70U72DaDGbzE492" object: "charge" livemode: false amount: 400
card: #<WebPay::CardResponse> created: 1416216426 currency: "jpy" paid: true captured: true refunded: false amount_refunded: 0 customer: nil recursion: nil shop: nil description: nil failure_message: nil expire_time: nil fees: [#<WebPay::ChargeFeeResponse>]
Talking about… wಛఆऔҾ๏ͱ$UP$ w&$ʹ͓͚Δܾࡁ w8FC1BZͱ&$ w&$αʔϏεʹ͓͚Δ"QQMF1BZར༻
Talking about… wಛఆऔҾ๏ͱ$UP$ w&$ʹ͓͚Δܾࡁ w8FC1BZͱ&$ w&$αʔϏεʹ͓͚Δ"QQMF1BZར༻
Talking about… w&$ʹ͓͚ΔܾࡁͷϑϩʔͰ͓͖ͬͯ ͍ͨ͜ͱ
&$ʹ͓͚Δ ܾࡁͷϑϩʔ
ܾࡁใΛ ೖྗ͢Δ ! ֬ఆͯ͠ ϨδʹਐΉ " ߪೖ༰Λ ֬ೝ͢Δ # ྃ͠
ܾࡁ͢Δ $
֬ఆͯ͠ ϨδʹਐΉ ܾࡁใΛ ೖྗ͢Δ ߪೖ༰Λ ֬ೝ͢Δ ߪೖΛ ྃ͢Δ ! "
# $ http://www.amazon.co.jp/gp/cart/view.html
֬ఆͯ͠ ϨδʹਐΉ ܾࡁใΛ ೖྗ͢Δ ߪೖ༰Λ ֬ೝ͢Δ ߪೖΛ ྃ͢Δ ! "
# $ https://www.amazon.co.jp/gp/buy/spc/handlers/display.html
֬ఆͯ͠ ϨδʹਐΉ ܾࡁใΛ ೖྗ͢Δ ߪೖ༰Λ ֬ೝ͢Δ ߪೖΛ ྃ͢Δ ! "
# $ https://www.amazon.co.jp/gp/buy/spc/handlers/display.html
֬ఆͯ͠ ϨδʹਐΉ ܾࡁใΛ ೖྗ͢Δ ߪೖ༰Λ ֬ೝ͢Δ ߪೖΛ ྃ͢Δ ! "
# $ %
ܾࡁใΛ ೖྗ͢Δ ! ֬ఆͯ͠ ϨδʹਐΉ " ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ
ྃ͢Δ $
ܾࡁใΛ ೖྗ͢Δ ! ֬ఆͯ͠ ϨδʹਐΉ " ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ
ྃ͢Δ $
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $
ϑϩʔΛݟ͢ ηΩϡϦςΟΛݟ͢ ઌΛݟਾ͑Δ
ϑϩʔΛݟ͢
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ ༗ޮͳΧʔυ͕
ೖྗ͞Εͨʁ
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใʹ
w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ༗ޮͳΧʔυ͕ ೖྗ͞Εͨʁ & '
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใʹ
w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ༗ޮͳΧʔυ͕ ೖྗ͞Εͨʁ ࢦఆֹۚͰ ܾࡁͰ͖ͨʁ & '
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใʹ
w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ༗ޮͳΧʔυ͕ ೖྗ͞Εͨʁ ࢦఆֹۚͰ ܾࡁͰ͖ͨʁ Χʔυͷঢ়ଶʹ % & & '
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใʹ
w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ༗ޮͳΧʔυ͕ ೖྗ͞Εͨʁ ࢦఆֹۚͰ ܾࡁͰ͖ͨʁ Χʔυͷঢ়ଶʹ % & & ' w ϑΥʔϜͷೖྗ͕ਏ͍ʜ w Χʔυखݩʹͳͯ͘ਏ͍ʜ (
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใʹ
w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ༗ޮͳΧʔυ͕ ೖྗ͞Εͨʁ ࢦఆֹۚͰ ܾࡁͰ͖ͨʁ Χʔυͷঢ়ଶʹ % & & ' w ϑΥʔϜͷೖྗ͕ਏ͍ʜ w Χʔυखݩʹͳͯ͘ਏ͍ʜ w ϖʔδભҠଟͯ͘ਏ͍ʜ w Χʔυձࣾʹిਏ͍ʜ w ଞͷΧʔυͳͯ͘ਏ͍ʜ ( (
ܾࡁͷΈΛ͏
Ծച্ wΧʔυͷ༩৴ΛࢦఆֹۚͰ֬อ͢Δ wʮ͜ͷֹۚͰܾࡁͰ͖·͔͢ʁʯ w͋ͱͰຊܾࡁʢ࣮ച্ʣ w͋ͱͰഁغ
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใʹ
w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ༗ޮͳΧʔυ͕ ೖྗ͞Εͨʁ ࢦఆֹۚͰ ܾࡁͰ͖ͨʁ Χʔυͷঢ়ଶʹ % & & ' w ϑΥʔϜͷೖྗ͕ਏ͍ʜ w Χʔυखݩʹͳͯ͘ਏ͍ʜ w ϖʔδભҠଟͯ͘ਏ͍ʜ w Χʔυձࣾʹిਏ͍ʜ w ଞͷΧʔυͳͯ͘ਏ͍ʜ ( (
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใ
͘͠ঢ়ଶʹ w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ͜ͷΧʔυͰ 999ԁԾച্ ࣮ച্Խ͢Δ Χʔυͷঢ়ଶʹ % & & ' w ϑΥʔϜͷೖྗ͕ਏ͍ʜ w Χʔυखݩʹͳͯ͘ਏ͍ʜ w ϖʔδભҠଟͯ͘ਏ͍ʜ w Χʔυձࣾʹిਏ͍ʜ w ଞͷΧʔυͳͯ͘ਏ͍ʜ ( (
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใ
͘͠ঢ়ଶʹ w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ͜ͷΧʔυͰ 999ԁԾച্ & ' w ϑΥʔϜͷೖྗ͕ਏ͍ʜ w Χʔυखݩʹͳͯ͘ਏ͍ʜ ( ࣮ച্Խ͢Δ
Ծച্ wΧʔυใֹۚ֬ఆͰઌʹܾࡁՄೳੑ Λ֬ೝ͢Δ wߪೖ͕֬ఆͱͳͬͨΒ࣮ച্Խ͢Δ wͨ͠Β͋ͱͰഁغ͢Δ
WebPay require 'webpay' webpay = WebPay.new('test_secret_eHn4TTgsGguBcW764a2KA8Yd') webpay.charge.create( currency: ‘jpy’, amount:
400, + capture: false, card: {number: ‘4242-4242-4242-4242’, exp_month: 11, exp_year: 2014, cvc: ‘123’, name: ‘KENGO HAMASAKI’} )
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใ
͘͠ঢ়ଶʹ w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ͜ͷΧʔυͰ 999ԁԾച্ & ' w ϑΥʔϜͷೖྗ͕ਏ͍ʜ w Χʔυखݩʹͳͯ͘ਏ͍ʜ ( ࣮ച্Խ͢Δ
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใ
͘͠ঢ়ଶʹ w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ͜ͷΧʔυͰ 999ԁԾച্ & ' w ϑΥʔϜͷೖྗ͕ਏ͍ʜ w Χʔυखݩʹͳͯ͘ਏ͍ʜ ( ࣮ച্Խ͢Δ
ΔՄೳੑΛݮΒ͢
ܾࡁใͷೖྗ w&$͞Μͷͷݟͤॴ wྫ͑ʜ wաڈͷߪೖ࣌ʹอଘͯ͋͠Δ wଞͷը໘Ͱطʹొ͓ͤͯ͘͞ wDBSEJPͳͲೖྗΞγετ
https://www.card.io/
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใ
͘͠ঢ়ଶʹ w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ͜ͷΧʔυͰ 999ԁԾച্ & ' w ϑΥʔϜͷೖྗ͕ਏ͍ w Χʔυखݩʹͳͯ͘ਏ͍ ( ࣮ച্Խ͢Δ
ηΩϡϦςΟΛݟ͢
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ )
ܾࡁձࣾ * όοΫΤϯυ ! !
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ )
ܾࡁձࣾ * όοΫΤϯυ ! ! * όοΫΤϯυ !
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ )
ܾࡁձࣾ * όοΫΤϯυ ! ! * όοΫΤϯυ !
ସτʔΫϯ wΧʔυใΛସ͢Δจࣈྻ wΫϥΠΞϯταΠυͱܾࡁձࣾͰ௨৴ w࠶ར༻ՄೳʹͳΔͷ͋Δ
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ )
ܾࡁձࣾ * όοΫΤϯυ ! ! * όοΫΤϯυ !
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ )
ܾࡁձࣾ * όοΫΤϯυ ! * όοΫΤϯυ + + + +
ସτʔΫϯ wόοΫΤϯυͰͷอଘɺॲཧɺૹΛ ճආͰ͖Δ wܾࡁձࣾηΩϡϦςΟج४ͷ४ڌͰ ୲อ
WebPay <script type="text/javascript" src="https://js.webpay.jp/v1/"></script> WebPay.setPublishableKey("test_public_gVvaHW5nseyIfjtaO6bN36vr"); WebPay.createToken( convert_card_parameters($(card_form)), , webpayResponseHandler);
WebPay require 'webpay' webpay = WebPay.new('test_secret_eHn4TTgsGguBcW764a2KA8Yd') webpay.charge.create( currency: ‘jpy’, amount:
400, card: + tok_u7fWx6xObdff - {number: ‘4242-4242-4242-4242’, - exp_month: 11, - exp_year: 2014, - cvc: ‘123’, - name: ‘KENGO HAMASAKI’} )
ઌΛݟਾ͑Δ
http://www.apple.com/apple-pay/
"QQMF1BZ w1BTTCPPLʹ݁ͼ͚ͭͨΧʔυΛར༻ wܾࡁ·Ͱ࠷ͷϑϩʔ wସτʔΫϯ4FDVSF &MFNFOU5PVDI *%ʹΑΔηΩϡϦςΟ wਅՁzର໘Ͱͳ͘Σϒͷܾࡁʹ ͑ͯɺطଘͷܾࡁήʔτΣΠͰରԠ Ͱ͖Δz͜ͱ
https://stripe.com/apple-pay
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ Χʔυͷใʹ
w ଧͪؒҧ͍ʁ w ଞͷΧʔυʁ ༗ޮͳΧʔυ͕ ೖྗ͞Εͨʁ ࢦఆֹۚͰ ܾࡁͰ͖ͨʁ Χʔυͷঢ়ଶʹ % & & ' w ϑΥʔϜͷೖྗ͕ਏ͍ʜ w Χʔυखݩʹͳͯ͘ਏ͍ʜ w ϖʔδભҠଟͯ͘ਏ͍ʜ w Χʔυձࣾʹిਏ͍ʜ w ଞͷΧʔυͳͯ͘ਏ͍ʜ ( (
ߪೖ༰Λ֬ೝͭͭ͠ ΧʔυΛબ͢Δ ߪೖΛ ྃ͢Δ $ Χʔυͷঢ়ଶʹ w ଞͷΧʔυʁ &
ܾࡁใΛ ೖྗ͢Δ ! ߪೖ༰Λ ֬ೝ͢Δ # ߪೖΛ ྃ͢Δ $ )
ܾࡁձࣾ * όοΫΤϯυ ! ! * όοΫΤϯυ !
ߪೖ༰Λ֬ೝͭͭ͠ ΧʔυΛબ͢Δ ߪೖΛ ྃ͢Δ $ ) ܾࡁձࣾ * όοΫΤϯυ -
-
ߪೖ༰Λ֬ೝͭͭ͠ ΧʔυΛબ͢Δ ߪೖΛ ྃ͢Δ $ ) ܾࡁձࣾ * όοΫΤϯυ -
- Χʔυϒϥϯυ Χʔυൃߦऀ - - ! +
Apple Pay on WebPay wઈࢍٕज़ݕূத wಈ࡞͢Δͱ͜Ζ·Ͱ֬ೝ wࠃͰ͑ΔΑ͏ʹ͢Δಈ͖͕ඞཁ w&$αʔϏεӡӦऀͷօ͞Μʹಧ͚ΒΕ ΔΑ͏ؤுΓ·͢
https://rebuild.fm/65
Conclusion wԾച্Λ׆༻ͯ͠ϑϩʔΛ࠷దԽ͠Α͏ wΧʔυใͷܦ࿏Λؾʹ͠Α͏ w"QQMF1BZૣ͍͍ͨ͘
Conclusion w8FC1BZ&$αΠτͷܾࡁपΓͷվળ Λ͓ख͍͠·͢