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
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
880
現実のRuby/Railsアップグレード
takeyuweb
4
14k
Shinjuku.rb #95 LT会!心の技術書を紹介しよう!
takeyuweb
0
120
リモートワークへの招待
takeyuweb
2
550
OSSにみるレールの外側
takeyuweb
0
240
Rails meets Content Security Policy
takeyuweb
1
720
Rails受託会社を作っている話
takeyuweb
0
150
社長が書いたクソコードたち
takeyuweb
0
2k
Rails 考古学:WebAPIを取り巻く環境の変化とRailsの対応について
takeyuweb
0
130
Other Decks in Technology
See All in Technology
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
470
現場との対話から始める “作る前に問い直す”業務改善
mochico50
2
290
Vポイント分析基盤におけるデータモデリング20年史
taromatsui_cccmkhd
4
760
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
300
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
330
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
2
450
数値で見る Microsoft MVP 〜Spec Kit と GitHub Copilot Agent で作るデータ可視化ダッシュボード〜
yutakaosada
0
140
Aurora MySQL 8.4リリース! Rubyistが備えること / what-rubyist-should-prepare-for-aurora-mysql-8-4
fkmy
0
1.2k
OPENLOGI Company Profile for engineer
hr01
1
75k
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
160
VPCセキュリティ対応の最新事情
nagisa53
1
320
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
700
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.4k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.9k
RailsConf 2023
tenderlove
30
1.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
390
It's Worth the Effort
3n
188
29k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
220
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
190
How to Talk to Developers About Accessibility
jct
2
430
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Producing Creativity
orderedlist
PRO
348
40k
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 • 僕のような個⼈開発者でも⾼機能なサービスを簡単に構築できて最⾼ • 儲かるサービスを作りたい • 参考になれば!