Class: Paddle::Transaction

Inherits:
Object
  • Object
show all
Defined in:
lib/paddle/models/transaction.rb

Class Method Summary collapse

Methods inherited from Object

#initialize, #to_ostruct, #update

Constructor Details

This class inherits a constructor from Paddle::Object

Class Method Details

.create(items:, **params) ⇒ Object



9
10
11
12
13
# File 'lib/paddle/models/transaction.rb', line 9

def create(items:, **params)
  attrs = { items: items }
  response = Client.post_request("transactions", body: attrs.merge(params))
  Transaction.new(response.body["data"])
end

.invoice(id:, disposition: "attachment") ⇒ Object



26
27
28
29
30
31
# File 'lib/paddle/models/transaction.rb', line 26

def invoice(id:, disposition: "attachment")
  response = Client.get_request("transactions/#{id}/invoice?disposition=#{disposition}")
  if response.success?
    response.body["data"]["url"]
  end
end

.list(**params) ⇒ Object



4
5
6
7
# File 'lib/paddle/models/transaction.rb', line 4

def list(**params)
  response = Client.get_request("transactions", params: params)
  Collection.from_response(response, type: Transaction)
end

.preview(items:, **params) ⇒ Object



33
34
35
36
37
# File 'lib/paddle/models/transaction.rb', line 33

def preview(items:, **params)
  attrs = { items: items }
  response = Client.post_request("transactions/preview", body: attrs.merge(params))
  Transaction.new(response.body["data"])
end

.retrieve(id:, extra: nil) ⇒ Object



15
16
17
18
19
# File 'lib/paddle/models/transaction.rb', line 15

def retrieve(id:, extra: nil)
  params = extra ? { include: extra } : {}
  response = Client.get_request("transactions/#{id}", params: params)
  Transaction.new(response.body["data"])
end

.update(id:, **params) ⇒ Object



21
22
23
24
# File 'lib/paddle/models/transaction.rb', line 21

def update(id:, **params)
  response = Client.patch_request("transactions/#{id}", body: params)
  Transaction.new(response.body["data"])
end