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
Mackerel and Stripe / Qiita x Stripe Meetup
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
astj
PRO
April 12, 2019
Technology
5.7k
0
Share
Mackerel and Stripe / Qiita x Stripe Meetup
https://connpass.com/event/123900/
astj
PRO
April 12, 2019
More Decks by astj
See All by astj
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
490
Mackerel の時系列データベースにおける Redis Cluster の利用と Amazon ElastiCache への移行について / AWS Purpose-Built Databases Week
astj
PRO
3
6k
Mackerel のコンテナ監視の近況 / Mackerel Meetup #13
astj
PRO
1
2.6k
Observability: Mackerel による観測と Mackerel の観測 / NoOps Meetup Tokyo #8
astj
PRO
2
2.3k
サービス開発と健全なプロダクトメンテナンスを開発チームで持続的に取り組む / Developers Boost KANSAI
astj
PRO
1
1.5k
Mackerel をオンプレミスから AWS に移してからの1年半を振り返る / Hatena Engineer Seminar #11
astj
PRO
0
1.3k
AWS で実現した Mackerel 時系列データ1分粒度長期保存の裏側 / Mackerel Meetup #11 Tokyo
astj
PRO
6
30k
稼働中の Web サービスの perl のバージョンを上げていく
astj
PRO
0
7.5k
Perl 6 で Web Application Framework をつくる
astj
PRO
0
4.8k
Other Decks in Technology
See All in Technology
サイボウズフロントエンドの活動から考える探究と発信
mugi_uno
0
110
建設的な現実逃避のしかた / How to practice constructive escapism
pauli
3
160
マルチモーダル非構造データとの闘い
shibuiwilliam
1
180
OpenClawでPM業務を自動化
knishioka
2
390
Goビルドを理解し、 CI/CDの高速化に挑む
satoshin
0
130
不確実性と戦いながら見積もりを作成するプロセス/mitsumori-process
hirodragon112
1
190
推し活エージェント
yuntan_t
1
810
Embeddings : Symfony AI en pratique
lyrixx
0
460
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
140
ブラックボックス化したMLシステムのVertex AI移行 / mlops_community_62
visional_engineering_and_design
1
280
【関西電力KOI×VOLTMIND 生成AIハッカソン】空間AIブレイン ~⼤阪おばちゃんフィジカルAIに続く道~
tanakaseiya
0
150
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
120
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
240
A designer walks into a library…
pauljervisheath
211
24k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
420
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
320
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Code Reviewing Like a Champion
maltzj
528
40k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
100
Believing is Seeing
oripsolob
1
100
エンジニアに許された特別な時間の終わり
watany
106
240k
Google's AI Overviews - The New Search
badams
0
960
How to make the Groovebox
asonas
2
2.1k
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 ར༻ऀͱͯ͠
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠