Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Mackerel and Stripe / Qiita x Stripe Meetup
astj
PRO
April 12, 2019
Technology
0
4.5k
Mackerel and Stripe / Qiita x Stripe Meetup
https://connpass.com/event/123900/
astj
PRO
April 12, 2019
Tweet
Share
More Decks by astj
See All by astj
Mackerel の時系列データベースにおける Redis Cluster の利用と Amazon ElastiCache への移行について / AWS Purpose-Built Databases Week
astj
PRO
3
4.3k
Mackerel のコンテナ監視の近況 / Mackerel Meetup #13
astj
PRO
1
1.2k
Observability: Mackerel による観測と Mackerel の観測 / NoOps Meetup Tokyo #8
astj
PRO
2
1.3k
サービス開発と健全なプロダクトメンテナンスを開発チームで持続的に取り組む / Developers Boost KANSAI
astj
PRO
1
850
Mackerel をオンプレミスから AWS に移してからの1年半を振り返る / Hatena Engineer Seminar #11
astj
PRO
0
730
AWS で実現した Mackerel 時系列データ1分粒度長期保存の裏側 / Mackerel Meetup #11 Tokyo
astj
PRO
6
26k
稼働中の Web サービスの perl のバージョンを上げていく
astj
PRO
0
6.6k
Perl 6 で Web Application Framework をつくる
astj
PRO
0
3.7k
Other Decks in Technology
See All in Technology
EC/CRMの自社サービス開発をマネジメントするようになって1年でやってきたこととこれから / devio2022-takano-sho-road-to-good-development-team-management
masaru_b_cl
0
430
インフラのテストに VPC Reachability Analyzer は外せないという話
nulabinc
PRO
2
720
Goで実装するブランドネットワークとの接続ポイント
pongzu
2
270
セキュキャンを卒業してその後
kurochan
0
580
セキュアなTerraformの使い方 ~ 機密情報をコードに含めず環境構築するにはどうしたらいいの?
harukasakihara
9
1.5k
合同IT企業説明会から学ぶエンジニア向けの広報戦略
nagutabby
1
240
テクニカルライティングの検定を受けてみた話 / "My Story About Taking the Technical Writing Exam
line_developers
PRO
1
210
プロダクトマネージャーの役割と育成、評価
middleokada
16
11k
SPAとWebアプリケーションでCognitoの使い方はどう変わるのか? / How do we use cognito with SPA and web applications?
kitano_yuichi
0
400
Settlement simulation testing to ensure correct settlement processing
applepine1125
2
1.2k
開発環境のセキュリティおよびCI/CDパイプラインのセキュア化
rung
PRO
11
4.4k
ReverseETLでユーザーに価値を届ける基盤を実現した話
hakky
0
350
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
14
3.8k
Building a Scalable Design System with Sketch
lauravandoore
448
30k
The Mythical Team-Month
searls
210
39k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
15k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
Designing for humans not robots
tammielis
241
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
316
19k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
151
13k
Designing the Hi-DPI Web
ddemaree
272
32k
Unsuck your backbone
ammeep
659
55k
Writing Fast Ruby
sferik
612
57k
Building Your Own Lightsaber
phodgson
95
4.7k
Transcript
Mackerel and Stripe 2019/04/12 Qiita x Stripe Meetup Asato WAKISAKA
(Hatena)
Asato WAKISAKA (GitHub: @astj) ͯͳ ΞϓϦέʔγϣϯΤϯδχΞ Mackerel ։ൃνʔϜ (2016/08~) Mackerel
ςοΫϦʔυ (2018/05~)
Mackerel
None
None
None
None
• 2014ϦϦʔεͷʮαʔόʔࢹαʔϏεʯ • ʑΞΫςΟϒʹ։ൃத • ܧଓతͳ৽ػೳϦϦʔε • ແྉͰར༻Մೳ • ϑϧػೳʹ༗ྉϓϥϯͷܖ͕ඞཁ
None
Mackerel ͱܾࡁ
• ຖ݄ͷར༻࣮ʹԠͨ͡ैྔ՝ۚ • ར༻͍ͯ͠ΔϗετʢͳͲʣͷҠಈฏۉ • ελϯμʔυϗετ1/1݄͋ͨΓ1800ԁ • ܾࡁखஈ: جຊతʹΫϨδοτΧʔυ •
=> ΫϨδοτΧʔυܾࡁʹ Stripe
Stripe Mackerel Stripe.js v2 Mackerel JS Token Customer Token CardNumber,
etc Token
3/1 4/1 ݄͝ͱͷҠಈฏۉ
Stripe Payments Mackerel Charge.create( amount: 2*1800, customer: "XXX" ) ݄ॳόον
• ϘϦϡʔϜσΟεΧϯτͳͲಛผ݅͋Γ • ٻॻ͍͋Γ • ࠓΫϨδοτΧʔυͱผޱͰूܭ
Mackerel ͱܾࡁαʔϏε
• ݱࡏΫϨδοτΧʔυܾࡁ Stripe ܦ༝ • ࣮ Stripe ͕3ࣾ (2019/02~)
• αʔϏεϩʔϯν࣌ • ಛʹUSDܾࡁͰ Stripe બࢶʹ • JPYܾࡁͷΈͱͷஅ: WebPay Λબ
• (2014: Stripe ͷຊਐग़લ) 2014
• WebPay αʔϏεऴྃ • ಉ͡ࠒ Stripe ຊ্ • JCB ܾࡁ͕ඞཁ:
PayJp Λબ • 2018࣌Ͱ10%͕ JCB 2016~2017
• Stripe JCB ରԠʂʂʂʂʂ • ຬΛ࣋ͯ͠ Stripe Ҡߦ 2018~19
ܾࡁαʔϏεΛҠߦ͢Δ
• See Stripe docs ! • https://stripe.com/docs/ security/data-migrations
• ৽αʔϏεͰͷܾࡁϩδοΫ࣮ • ސ٬σʔλͷҠ • ܾࡁઌͷΓ͑ • ϨϙʔςΟϯάͷ࠶ߏங
• ࠔΔ͜ͱͦΜͳʹͳ͔ͬͨ • ϓϦϛςΟϒͳػೳͰ࣮ݱ͍ͯͨ͠ • ෳͷܾࡁαʔϏεΛಉ࣌ʹѻ͏͜ͱ͕ Մೳͳઃܭʹͳ͍ͬͯͨ ΤϯυϢʔβʔ͚ͷػೳҠߦ
• (چސ٬ id) => (৽ސ٬ id) ͷϚοϐϯά͕ඞཁ • αʔϏεؒͰσʔλҠߦ =>
ϚοϐϯάΛड͚औΔ • ࣄۀऀؒͷεέδϡʔϧௐ͕ඞཁɹ • ҠߦޙܾࡁͰ͖ͳ͘ͳͬͨͷ1%ఔ ސ٬σʔλͷσʔλҠߦ
৽نސ٬ 1BZ+Q طଘސ٬ 1BZ+Q ܾࡁ 1BZ+Q
৽نސ٬ 4USJQF طଘސ٬ 1BZ+Q ܾࡁ 4USJQF1BZ+Q
৽نސ٬ 4USJQF طଘސ٬ NJHSBUJPO ܾࡁ QFOEJOH
৽نސ٬ 4USJQF طଘސ٬ 4USJQF ܾࡁ 4USJQF
• ച্ɺೖۚͷαΠΫϧ͕มԽ͢Δ • ΧʔυϒϥϯυʹΑͬͯҟͳΔʂ • όοΫΦϑΟεͱௐɺ࣮ όοΫΦϑΟεͱͷ࿈ܞ
• Ҡߦཧͷػͱଊ͑Δ • Ϩϙʔτ༰ɾ࣌ظΛ࠶ઃܭ͢Δ
• ʮച্ΛకΊΔλΠϛϯάͰച্ͷ༁͕Γ͍ͨʂʯ • => Stripe ଆͷܾࡁҰཡ • ʮͦͷച্͕͍ͭೖۚ͞ΕΔ༧ఆͳͷ͔ʯΛؚΊΔ • ʮೖۚͷλΠϛϯάͰͦͷೖۚͷ༁͕Γ͍ͨʂʯ
• => Stripe ଆͷೖۚ༁ ʮ͍ͭɺͲͷࣈ͕ඞཁʁʯ
݄ച্"""ԁ ݄ೖۚ༧ఆQQQԁ ݄ೖۚ༧ఆRRRԁ ݄ച্###ԁ ݄ೖۚ༧ఆSSSԁ ݄ೖۚ༧ఆTTTԁ ݄ೖۚ:::ԁ ݄ച্RRRԁ ݄ച্SSSԁ ݄ೖۚ999ԁ
݄ച্PPPԁ ݄ച্QQQԁ
• Ϛελσʔλ Stripe ͷ API • ͳΜͰऔΕΔʂ • ඞཁͳՃใܾࡁ࣌ͰϝλσʔλʹؚΊΔ •
ʮϗετʯʮ৫໊ʯetc • API ܦ༝ͰϨϙʔτΛ࡞ • ޙॲཧΛՃ͔͑ͯΒόοΫΦϑΟεʹఏग़
Ҡߦ͠·ͨ͠
Stripe Mackerel Stripe.js v2 Mackerel JS CardNumber, etc Token Token
Token Customer ࠶ܝ
Stripe Payments Mackerel Customer.charge( amount: 2*1800, customer: "XXX" ) ݄ॳόον
࠶ܝ
• ࠓͷͱ͜ΖStripe ΛඇৗʹϓϦϛςΟϒʹ͍ͬͯΔ • Stripe ར༻ͱ͍͏ελʔτϥΠϯʹ • ͳΔͦ͘ͷ··Ҡߦ͢Δ͜ͱΛ༏ઌ • ΑΓϦονͳιϦϡʔγϣϯʹڵຯ͕͋Δʂʂ
• Elements / Billing • ࣮ࡍ Elements ͷҠߦΛ·͞ʹ࣮ࢪத
• ܧଓతʹαʔϏεશମΛվળ͍ͯ͘͠ • ܾࡁػೳ"Ҭ" ʹ͠ͳ͍ • ϢʔβʔɺϏδωεɺόοΫΦϑΟε SaaS ఏڙऀͱͯ͠
• ๛ͳػೳɾվળͷԸܙΛड͚͍ͯ͘ • ࠓޙͷ·͢·͢ͷύϫʔΞοϓʹظ • ࠷ۙٻॻʹ͍ͯ͠·͢ SaaS ར༻ऀͱͯ͠
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠