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
payjp-anti-pattern
Search
Takuya Nishio
June 19, 2018
Technology
0
120
payjp-anti-pattern
Takuya Nishio
June 19, 2018
Tweet
Share
More Decks by Takuya Nishio
See All by Takuya Nishio
8年以上RailsのWebサービスをメンテしてわかったこと
webuilder240
0
110
スタートアップでどのようにAutifyを活用しているか
webuilder240
0
280
WebComponentsで フレームワークを1ページに共存させる
webuilder240
0
820
Other Decks in Technology
See All in Technology
20251222_サンフランシスコサバイバル術
ponponmikankan
2
160
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
2k
ルネサンス開発者を育てる 1on1支援AIエージェント
yusukeshimizu
0
130
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
2
160
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
130
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
1
350
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
210
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
4.2k
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
200
Microsoft Agent Frameworkの可観測性
tomokusaba
1
120
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
18k
AI との良い付き合い方を僕らは誰も知らない
asei
1
320
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
1
1.5k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Side Projects
sachag
455
43k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
76
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
42
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Practical Orchestrator
shlominoach
190
11k
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
260
Transcript
ඌ (@webuilder240) 2018.6.19 Copyright © OSIRO,Ltd. All Rights Reserved.
PAY.JP Ξϯνύλʔϯ
Copyright © OSIRO,Ltd. All Rights Reserved. ຊΛܳज़จԽେࠃʹ͢Δʂ
Ͳ͜ͷͩΕʁ • Takuya Nishio (@webuilder240) • ΦγϩגࣜձࣾͰRubyΤϯδχΞ͍ͬͯ·͢ • ๏ਓԽ20171݄ʢϗϠϗϠͷελʔτΞοϓʂʂʣ •
PAY.JPαʔϏε։࢝ॳظ͔Βར༻ʢ2015/12ʣ • ఆֹ՝ۚΛϔϏʔʹ͍ͬͯ·͢ • github: webuilder240
PAY.JPΛར༻͢Δʹ͋ͨͬͯ ͷٕज़తͳΞϯνύλʔϯΛ ͍͔ͭ͘հ͠·͢ɻ
1.WebhookΛϛογϣϯΫϦ ςΟΧϧͳ༻్Ͱར༻͢Δ
1. ϛογϣϯΫϦςΟΧϧͳ༻్Ͱ༻͍͚ͯ͠ͳ͍ཧ༝ • ͦͦʮWebhookΛϛογϣϯΫϦςΟΧ ϧͳ෦Ͱར༻ਪ͠ͳ͍ʯͱPAY͞Μ͕ද ໌͍ͯ͠Δɻ • https://pay.jp/docs/webhook • ཧ༝Webhookͷଟॏૹ৴ૹ৴ະୡى͜
ΓಘΔͨΊɻ
1. ରࡦ • Event APIΛར༻ͯ͠ɺPAY.JP͔Βૹ৴ͯ͠ Β͏ͷͰͳ͘ɺར༻͢ΔΞϓϦέʔγϣϯ ͔ΒऔಘͰ͖ΔΑ͏ʹ͢Δɻ • Ͳ͏ͯ͠ར༻͢Δ߹ɺଟॏૹ৴ૹ৴ະ ୡ͕͋ͬͯͳ͍Α͏ʹ࣮͢Δɻ
2. ఆֹܾࡁͷεςʔλεΛαʔ Ϗεͷܧଓঢ়ଶͱ͢Δɻ
2. ఆֹܾࡁͷεςʔλεΛαʔϏεͷར༻ঢ়ଶͱ͍͚ͯ͠ͳ͍ཧ༝ • PAY.JPͷఆֹ՝ۚ՝ۚͷௐʹʮτϥΠΞϧʯΛઃఆ ͯ͠ௐ͢Δͷ͕ݱঢ়ͷํ๏ɻ • ՝ۚͷௐͷͨΊʹʮτϥΠΞϧʯʹ͍ͯ͠ΔͷͰ͋ͬͯɺ ݫີʹαʔϏε্ͰʮτϥΠΞϧʯͱͯ͠ѻ͍ͨ͘ͳ͍࣌ ͕͋Δɻ •
աڈʹ͍ͨ͠߹ɺఆֹ՝ۚΛআ => ఆֹ՝ۚΛ࡞ ͯ͠ɺʮτϥΠΞϧʯͰઃఆ͍ͨ͠·ͰͰ࠶࡞͢Δɻ
2. ରࡦ • αʔϏεͷར༻ঢ়گΛఆֹ՝ۚͷঢ়ଶͱผ ʹอଘ͓ͯ͘͠ • τϥΠΞϧͰௐ͢Δӡ༻͕ਏ͍ͳΒɺఆֹ ՝ۚ͏͖Ͱͳ͍ɻ • ظؒΛ؆୯ʹௐͰ͖ΔΑ͏ʹWrapperΛ༻
ҙ͓ͯ͘͠ͱศར
3. ఆֹ՝ۚͷ࣍ճࢧͷλ ΠϜκʔϯΛҙࣝ͠ͳ͍
3. ͋Δ… • ͳΜ͔ܾࡁ͓͔͘͠ͳ͍ʁʁʁ • Το…
3. ࣮ࡍͷSubscriptionߋ৽Πϕϯτ
3. ֬ೝͨ݁͠Ռ ʂʁ
3. ͳͥζϨͨͷ͔ • PAY.JPͷఆֹ՝ۚͷ࣍ճࢧ͍༧ఆUTC Λج४ʹࢉग़͍ͯ͠ΔͨΊൃੜ͍ͯ͠Δɻ • ΄ͱΜͲͷέʔεͰͳ͍͕ɺζϨΔ έʔε͕͋Δɻ • ೝ͍ࣝͯ͠Δͷ
JST 1 0:00ʙ9:59ͷؒ
3. ରࡦ • 1ͷJST 0:00 - 9:59ͷؒͰܾࡁΛආ͚Δ • 1ͷ10:00Ҏ߱Ͱܾࡁ͞ΕΔΑ͏ʹτϥΠ ΞϧΛར༻ͯ͠ௐ͢Δɻ
• ຊԿ͠ͳ͍͍ͯ͘Α͏ʹͯ͠΄͠ ͍…
·ͱΊ • WebhookΛΫϦςΟΧϧͳ෦Ͱར༻͠ͳ͍Ͱ ར༻ଆ͔ΒEventΛऔಘ͠Α͏ • αʔϏεͷར༻ঢ়گΛఆֹ՝ۚͷঢ়ଶͱผʹอ ଘ͓ͯ͜͠͏ • ఆֹ՝ۚͷαΠΫϧ͕ζϨͯࠔΔ߹ɺJSTͷ 0:00
ʙ 9:59Ͱܾࡁ͠ͳ͍Α͏ʹௐ͢Δɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ࠙ձͰ͓͠·͠ΐ͏ʂ