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
100
スタートアップでどのようにAutifyを活用しているか
webuilder240
0
270
WebComponentsで フレームワークを1ページに共存させる
webuilder240
0
690
Other Decks in Technology
See All in Technology
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
1.1k
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
150
Wasm元年
askua
0
150
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
550
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
4
540
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
29
11k
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
270
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
130
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
850
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
190
A2Aのクライアントを自作する
rynsuke
1
180
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Site-Speed That Sticks
csswizardry
10
660
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Designing for Performance
lara
609
69k
The Language of Interfaces
destraynor
158
25k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
800
A better future with KSS
kneath
239
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
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Ͱܾࡁ͠ͳ͍Α͏ʹௐ͢Δɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ࠙ձͰ͓͠·͠ΐ͏ʂ