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
1
3.6k
PayPal API と AWSで作る動画コンテンツマーケット
PayPal Tech Meetup #2 の発表内容です。
PayPal Adaptive API とAWSを利用して個人でも簡単に複雑なシステムを実装できます。
Yuichi Takeuchi
June 15, 2016
Tweet
Share
More Decks by Yuichi Takeuchi
See All by Yuichi Takeuchi
リモートワークへの招待
takeyuweb
2
510
OSSにみるレールの外側
takeyuweb
0
190
Rails meets Content Security Policy
takeyuweb
1
440
Rails受託会社を作っている話
takeyuweb
0
98
社長が書いたクソコードたち
takeyuweb
0
1.7k
Rails 考古学:WebAPIを取り巻く環境の変化とRailsの対応について
takeyuweb
0
67
RubyでAmazon CloudWatch Events定期ジョブを書けるやつ作った話
takeyuweb
0
470
動画配信サイトを支える技術 Shinjuku.rb #39
takeyuweb
2
2k
Rails on AWSでの非同期
takeyuweb
0
2k
Other Decks in Technology
See All in Technology
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
4
610
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
160
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
380
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
200
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
310
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
1.1k
いいたいことちゃんという
tkengo
0
210
Cracking the KubeCon CfP
inductor
2
270
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
1.5k
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
140
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
330
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
2
1.1k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Adopting Sorbet at Scale
ufuk
69
8.6k
A Tale of Four Properties
chriscoyier
152
22k
Facilitating Awesome Meetings
lara
43
5.6k
Become a Pro
speakerdeck
PRO
12
4.6k
The Language of Interfaces
destraynor
151
23k
Writing Fast Ruby
sferik
622
60k
Designing the Hi-DPI Web
ddemaree
276
33k
The Pragmatic Product Professional
lauravandoore
26
5.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Teambox: Starting and Learning
jrom
128
8.4k
Bash Introduction
62gerente
605
210k
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 • 僕のような個⼈開発者でも⾼機能なサービスを簡単に構築できて最⾼ • 儲かるサービスを作りたい • 参考になれば!