class ProcessOut::Payout
Attributes
adjustments[R]
amount[R]
bank_name[R]
bank_summary[R]
chargebacks_transactions[R]
chargebacks_volume[R]
created_at[R]
currency[R]
fees[R]
id[R]
metadata[R]
project[R]
project_id[R]
refunds_transactions[R]
refunds_volume[R]
reserve[R]
sales_transactions[R]
sales_volume[R]
settled_at[R]
status[R]
Public Class Methods
new(client, data = {})
click to toggle source
Initializes the Payout
object Params:
client
-
ProcessOut
client instance data
-
data that can be used to fill the object
# File lib/processout/payout.rb, line 130 def initialize(client, data = {}) @client = client self.id = data.fetch(:id, nil) self.project = data.fetch(:project, nil) self.project_id = data.fetch(:project_id, nil) self.status = data.fetch(:status, nil) self.amount = data.fetch(:amount, nil) self.currency = data.fetch(:currency, nil) self.metadata = data.fetch(:metadata, nil) self.bank_name = data.fetch(:bank_name, nil) self.bank_summary = data.fetch(:bank_summary, nil) self.sales_transactions = data.fetch(:sales_transactions, nil) self.sales_volume = data.fetch(:sales_volume, nil) self.refunds_transactions = data.fetch(:refunds_transactions, nil) self.refunds_volume = data.fetch(:refunds_volume, nil) self.chargebacks_transactions = data.fetch(:chargebacks_transactions, nil) self.chargebacks_volume = data.fetch(:chargebacks_volume, nil) self.fees = data.fetch(:fees, nil) self.adjustments = data.fetch(:adjustments, nil) self.reserve = data.fetch(:reserve, nil) self.settled_at = data.fetch(:settled_at, nil) self.created_at = data.fetch(:created_at, nil) end
Public Instance Methods
adjustments=(val)
click to toggle source
# File lib/processout/payout.rb, line 109 def adjustments=(val) @adjustments = val end
all(options = {})
click to toggle source
Get all the payouts. Params:
options
-
Hash
of options
# File lib/processout/payout.rb, line 322 def all(options = {}) self.prefill(options) request = Request.new(@client) path = "/payouts" data = { } response = Response.new(request.get(path, data, options)) return_values = Array.new a = Array.new body = response.body for v in body['payouts'] tmp = Payout.new(@client) tmp.fill_with_data(v) a.push(tmp) end return_values.push(a) return_values[0] end
amount=(val)
click to toggle source
# File lib/processout/payout.rb, line 61 def amount=(val) @amount = val end
bank_name=(val)
click to toggle source
# File lib/processout/payout.rb, line 73 def bank_name=(val) @bank_name = val end
bank_summary=(val)
click to toggle source
# File lib/processout/payout.rb, line 77 def bank_summary=(val) @bank_summary = val end
chargebacks_transactions=(val)
click to toggle source
# File lib/processout/payout.rb, line 97 def chargebacks_transactions=(val) @chargebacks_transactions = val end
chargebacks_volume=(val)
click to toggle source
# File lib/processout/payout.rb, line 101 def chargebacks_volume=(val) @chargebacks_volume = val end
created_at=(val)
click to toggle source
# File lib/processout/payout.rb, line 121 def created_at=(val) @created_at = val end
currency=(val)
click to toggle source
# File lib/processout/payout.rb, line 65 def currency=(val) @currency = val end
fees=(val)
click to toggle source
# File lib/processout/payout.rb, line 105 def fees=(val) @fees = val end
fetch_items(options = {})
click to toggle source
Get all the items linked to the payout. Params:
options
-
Hash
of options
# File lib/processout/payout.rb, line 292 def fetch_items(options = {}) self.prefill(options) request = Request.new(@client) path = "/payouts/" + CGI.escape(@id) + "/items" data = { } response = Response.new(request.get(path, data, options)) return_values = Array.new a = Array.new body = response.body for v in body['items'] tmp = PayoutItem.new(@client) tmp.fill_with_data(v) a.push(tmp) end return_values.push(a) return_values[0] end
fill_with_data(data)
click to toggle source
Fills the object with data coming from the API Params:
data
-
Hash
of data coming from the API
# File lib/processout/payout.rb, line 190 def fill_with_data(data) if data.nil? return self end if data.include? "id" self.id = data["id"] end if data.include? "project" self.project = data["project"] end if data.include? "project_id" self.project_id = data["project_id"] end if data.include? "status" self.status = data["status"] end if data.include? "amount" self.amount = data["amount"] end if data.include? "currency" self.currency = data["currency"] end if data.include? "metadata" self.metadata = data["metadata"] end if data.include? "bank_name" self.bank_name = data["bank_name"] end if data.include? "bank_summary" self.bank_summary = data["bank_summary"] end if data.include? "sales_transactions" self.sales_transactions = data["sales_transactions"] end if data.include? "sales_volume" self.sales_volume = data["sales_volume"] end if data.include? "refunds_transactions" self.refunds_transactions = data["refunds_transactions"] end if data.include? "refunds_volume" self.refunds_volume = data["refunds_volume"] end if data.include? "chargebacks_transactions" self.chargebacks_transactions = data["chargebacks_transactions"] end if data.include? "chargebacks_volume" self.chargebacks_volume = data["chargebacks_volume"] end if data.include? "fees" self.fees = data["fees"] end if data.include? "adjustments" self.adjustments = data["adjustments"] end if data.include? "reserve" self.reserve = data["reserve"] end if data.include? "settled_at" self.settled_at = data["settled_at"] end if data.include? "created_at" self.created_at = data["created_at"] end self end
find(payout_id, options = {})
click to toggle source
Find a payout by its ID. Params:
payout_id
-
ID of the payout
options
-
Hash
of options
# File lib/processout/payout.rb, line 353 def find(payout_id, options = {}) self.prefill(options) request = Request.new(@client) path = "/payouts/" + CGI.escape(payout_id) + "" data = { } response = Response.new(request.get(path, data, options)) return_values = Array.new body = response.body body = body["payout"] obj = Payout.new(@client) return_values.push(obj.fill_with_data(body)) return_values[0] end
id=(val)
click to toggle source
# File lib/processout/payout.rb, line 33 def id=(val) @id = val end
metadata=(val)
click to toggle source
# File lib/processout/payout.rb, line 69 def metadata=(val) @metadata = val end
new(data = {})
click to toggle source
Create a new Payout
using the current client
# File lib/processout/payout.rb, line 157 def new(data = {}) Payout.new(@client, data) end
prefill(data)
click to toggle source
Prefills the object with the data passed as parameters Params:
data
-
Hash
of data
# File lib/processout/payout.rb, line 261 def prefill(data) if data.nil? return self end self.id = data.fetch(:id, self.id) self.project = data.fetch(:project, self.project) self.project_id = data.fetch(:project_id, self.project_id) self.status = data.fetch(:status, self.status) self.amount = data.fetch(:amount, self.amount) self.currency = data.fetch(:currency, self.currency) self.metadata = data.fetch(:metadata, self.metadata) self.bank_name = data.fetch(:bank_name, self.bank_name) self.bank_summary = data.fetch(:bank_summary, self.bank_summary) self.sales_transactions = data.fetch(:sales_transactions, self.sales_transactions) self.sales_volume = data.fetch(:sales_volume, self.sales_volume) self.refunds_transactions = data.fetch(:refunds_transactions, self.refunds_transactions) self.refunds_volume = data.fetch(:refunds_volume, self.refunds_volume) self.chargebacks_transactions = data.fetch(:chargebacks_transactions, self.chargebacks_transactions) self.chargebacks_volume = data.fetch(:chargebacks_volume, self.chargebacks_volume) self.fees = data.fetch(:fees, self.fees) self.adjustments = data.fetch(:adjustments, self.adjustments) self.reserve = data.fetch(:reserve, self.reserve) self.settled_at = data.fetch(:settled_at, self.settled_at) self.created_at = data.fetch(:created_at, self.created_at) self end
project=(val)
click to toggle source
# File lib/processout/payout.rb, line 37 def project=(val) if val.nil? @project = val return end if val.instance_of? Project @project = val else obj = Project.new(@client) obj.fill_with_data(val) @project = obj end end
project_id=(val)
click to toggle source
# File lib/processout/payout.rb, line 53 def project_id=(val) @project_id = val end
refunds_transactions=(val)
click to toggle source
# File lib/processout/payout.rb, line 89 def refunds_transactions=(val) @refunds_transactions = val end
refunds_volume=(val)
click to toggle source
# File lib/processout/payout.rb, line 93 def refunds_volume=(val) @refunds_volume = val end
reserve=(val)
click to toggle source
# File lib/processout/payout.rb, line 113 def reserve=(val) @reserve = val end
sales_transactions=(val)
click to toggle source
# File lib/processout/payout.rb, line 81 def sales_transactions=(val) @sales_transactions = val end
sales_volume=(val)
click to toggle source
# File lib/processout/payout.rb, line 85 def sales_volume=(val) @sales_volume = val end
settled_at=(val)
click to toggle source
# File lib/processout/payout.rb, line 117 def settled_at=(val) @settled_at = val end
status=(val)
click to toggle source
# File lib/processout/payout.rb, line 57 def status=(val) @status = val end
to_json(options)
click to toggle source
Overrides the JSON marshaller to only send the fields we want
# File lib/processout/payout.rb, line 162 def to_json(options) { "id": self.id, "project": self.project, "project_id": self.project_id, "status": self.status, "amount": self.amount, "currency": self.currency, "metadata": self.metadata, "bank_name": self.bank_name, "bank_summary": self.bank_summary, "sales_transactions": self.sales_transactions, "sales_volume": self.sales_volume, "refunds_transactions": self.refunds_transactions, "refunds_volume": self.refunds_volume, "chargebacks_transactions": self.chargebacks_transactions, "chargebacks_volume": self.chargebacks_volume, "fees": self.fees, "adjustments": self.adjustments, "reserve": self.reserve, "settled_at": self.settled_at, "created_at": self.created_at, }.to_json end