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
PayPal API と AWSで作る動画コンテンツマーケット
Search
Yuichi Takeuchi
June 15, 2016
Technology
4.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PayPal API と AWSで作る動画コンテンツマーケット
PayPal Tech Meetup #2 の発表内容です。
PayPal Adaptive API とAWSを利用して個人でも簡単に複雑なシステムを実装できます。
Yuichi Takeuchi
June 15, 2016
More Decks by Yuichi Takeuchi
See All by Yuichi Takeuchi
現実のRuby/Railsアップグレード外伝 ~そして僕はforkした~
takeyuweb
0
950
現実のRuby/Railsアップグレード
takeyuweb
4
14k
Shinjuku.rb #95 LT会!心の技術書を紹介しよう!
takeyuweb
0
130
リモートワークへの招待
takeyuweb
2
560
OSSにみるレールの外側
takeyuweb
0
250
Rails meets Content Security Policy
takeyuweb
1
740
Rails受託会社を作っている話
takeyuweb
0
150
社長が書いたクソコードたち
takeyuweb
0
2k
Rails 考古学:WebAPIを取り巻く環境の変化とRailsの対応について
takeyuweb
0
140
Other Decks in Technology
See All in Technology
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
170
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
160
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
770
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
1
210
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
200
ウォンテッドリーの最近のプロダクトと技術の紹介
stomk
0
310
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
120
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
380
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.4k
価値について
gree_tech
PRO
0
140
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
370
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Docker and Python
trallard
47
4.2k
It's Worth the Effort
3n
188
29k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
The SEO Collaboration Effect
kristinabergwall1
1
600
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
Everyday Curiosity
cassininazir
0
360
Facilitating Awesome Meetings
lara
57
7.2k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
750
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Transcript
PayPal APIとAWSで作る 動画コンテンツマーケット PayPal Tech Meetup #2 タケユー・ウェブ ⽵内雄⼀
⽵内雄⼀@タケユー・ ウェブ • Web開発者です • フリーランス(8年) • Rails / Movable
Type / AWS etc…
タケユー・ウェブ 株式会社 • 6⽉3⽇に法⼈成りしました! • https://takeyuweb.co.jp/ • ありがとうございます!ありがと うございます!
動画コンテンツマーケット (デモ)を1⽇で作った話
動画コンテンツマーケット概要 • 利⽤者が動画をアップロード • システムが配信⽤の動画形式(HTTP Live Streaming⽤)に⾃ 動変換し、商品として登録 • 視聴者は興味のある動画を購⼊し、ブラウザ上でストリーミン
グ再⽣ • 売り上げから運営者とPayPalそれぞれの⼿数料を引いた残りが、 投稿者のPayPalアカウントに送⾦される • 売り上げを配分するシステムが必要!
動画コンテンツマーケット概要
動画コンテンツマーケット概要
必要な機能 • 販売者登録(報酬⼊⾦先登録など) • 動画登録 • アップロード • 動画変換(ストリーミング⽤など) •
決済 • 代⾦⽀払い • ⼊⾦後処理(動画の視聴権限追加) • 売り上げの分配 • 結構⾯倒。なるべく⾃動化して⼿間をかけずにやりたい!
デモ 作ったものをみせます。
PayPal API実装について PayPal APIを使って簡単な決済機能を実装!
PayPal Adaptive API • 送り⼿から1⼈以上の受け⼿への送⾦を処理する • 連鎖⽀払い(Chained Payments) • SenderがPrimary
receiverに⽀払い • Primary receiverが受け 取った⾦額の⼀部を Secondary receiverに送 ⾦ • SenderからはSecndary receiverは⾒えない ※本番での利⽤には審査が必要だそうです。
Ruby SDK • gem ʻpaypal-sdk-adaptivepaymentsʼ api = PayPal::SDK::AdaptivePayments.new pay =
api.build_pay({ :actionType => 'PAY', # (省略) :receiverList => { :receiver => [ { # まず全額を運営者が受け取って :paymentType => 'DIGITALGOODS', :amount => @video.price, :email => "
[email protected]
", :primary => true }, { # 2割を投稿者に⽀払う :paymentType => 'DIGITALGOODS', :amount => (@video.price * 0.8).floor, :email => @video.seller.paypal_email, :primary => false } ] }, # (省略) }) @pay_key = response.payKey
決済と報酬分配 • 動画の視聴権限がなければ PayPalボタン • ボタンを押すとPayPal決済スタート • 決済完了後、Webアプリで結果を受け取り、権限割り当て • 報酬分配はAdaptivePayment
APIのChained Paymentsだけで 実装可能!
PayPal for Digital Goods • ダウンロード販売時の⼿数料がお得になる(かも)サービス • 通常のPayPal⼿数料 • 3.6%
+ \40 JPY • 150円の商品を販売した場合、⼿数料 45円。 • 40円の固定部分が⾼いです・・・ • ⼩額決済⽤⼿数料 • 5% + \7 JPY • 150円の商品を販売した場合、⼿数料 15円。 • 少額決済の時にはこの差は⼤きい! • ダウンロード販売時、どちらか安い⽅を⾃動的に適⽤してくれるの でもちろん使う • 専⽤の決済URLがある
AWSについて ⾯倒なインフラ管理はクラウドコンピューティングにおまかせ
AWSについて • S3 • SNS • Elastic Transcoder • OpsWorks
S3 • クラウドストレージ • アップロード動画保管先 • 変換済み動画保管先 • 署名付きURL機能で権限のある⼈にだけDLさせることも
SNS • Pub-Sub • AWS上各サービスのイベント(やAPIからの)でPush • メッセージ受け取り⽤のURL、メール等をたたく
Elastic Transcoder • 動画変換サービス • S3上にアップロードしておいた動画ファイルを変換して、S3に 書き出す • 同時にサムネイルも作れます •
ffmpegの保守にウンザリしている貴兄に!
OpsWorks • Chefベースの構成管理ツール • サーバー管理の⾃動化 • オートスケール、スケジューリングなど • 今回はRailsアプリサーバをデプロイ
まとめ
まとめ • PayPal API • Ruby SDKがあってよかった • REST API⽤もある→gem
'paypal-sdk-restʻ • Adaptive PaymentsはREST API対応してないの? • 以前Perlで触ったときは公式SDKがなくつらかった • いろんな機能があってとっつき⾟かった • 単なる⽀払い以上のことが簡単に実装できて楽しかった • AWS • 僕のような個⼈開発者でも⾼機能なサービスを簡単に構築できて最⾼ • 儲かるサービスを作りたい • 参考になれば!