Class: Magento::Invoice

Inherits:
Model
  • Object
show all
Defined in:
lib/magento/invoice.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Model

api_resource, #delete, delete, entity_name, find, #id, #save, #update

Methods included from ModelParser

included, #to_h

Class Method Details

.capture(invoice_id) ⇒ Object

Sets invoice capture.



58
59
60
# File 'lib/magento/invoice.rb', line 58

def capture(invoice_id)
  request.post("invoices/#{invoice_id}/capture").parse
end

.comments(invoice_id) ⇒ Object

Lists comments for a specified invoice.

Magento::Invoice.comments(invoice_id).all Magento::Invoice.comments(invoice_id).where(created_at_gt: Date.today.prev_day).all



83
84
85
86
# File 'lib/magento/invoice.rb', line 83

def comments(invoice_id)
  api_resource = "invoices/#{invoice_id}/comments"
  Query.new(PolymorphicModel.new(Comment, api_resource))
end

.create(_attributes) ⇒ Object

Raises:

  • (NotImplementedError)


52
53
54
# File 'lib/magento/invoice.rb', line 52

def create(_attributes)
  raise NotImplementedError
end

.refund(invoice_id, refund_params = nil) ⇒ Integer

Create refund for invoice

Magento::Invoice.refund(invoice_id)

or

Magento::Invoice.refund(

invoice_id,
items: [
  {
    extension_attributes: {},
    order_item_id: 0,
    qty: 0
  }
],
isOnline: true,
notify: true,
appendComment: true,
comment: {
  extension_attributes: {},
  comment: string,
  is_visible_on_front: 0
},
arguments: {
  shipping_amount: 0,
  adjustment_positive: 0,
  adjustment_negative: 0,
  extension_attributes: {
    return_to_stock_items: [
      0
    ]
  }
}

)

to complete [documentation](magento.redoc.ly/2.4-admin/tag/invoicescomments#operation/salesRefundInvoiceV1ExecutePost)

Returns:

  • (Integer)

    return the refund id



127
128
129
# File 'lib/magento/invoice.rb', line 127

def refund(invoice_id, refund_params=nil)
  request.post("invoice/#{invoice_id}/refund", refund_params).parse
end

.saveObject

Raises:

  • (NotImplementedError)


44
45
46
# File 'lib/magento/invoice.rb', line 44

def save
  raise NotImplementedError
end

.send_email(invoice_id) ⇒ Boolean

Emails a user a specified invoice.

Returns:

  • (Boolean)


74
75
76
# File 'lib/magento/invoice.rb', line 74

def send_email(invoice_id)
  request.post("invoices/#{invoice_id}/emails").parse
end

.update(_attributes) ⇒ Object

Raises:

  • (NotImplementedError)


48
49
50
# File 'lib/magento/invoice.rb', line 48

def update(_attributes)
  raise NotImplementedError
end

.void(invoice_id) ⇒ Boolean

Voids a specified invoice.

Returns:

  • (Boolean)


66
67
68
# File 'lib/magento/invoice.rb', line 66

def void(invoice_id)
  request.post("invoices/#{invoice_id}/avoid").parse
end

Instance Method Details

#captureObject

Sets invoice capture.



10
11
12
# File 'lib/magento/invoice.rb', line 10

def capture
  self.class.capture(id)
end

#refund(refund_params = nil) ⇒ Integer

Create refund for invoice

invoice = Magento::Invoice.find(invoice_id)

invoice.refund # or you can pass parameters invoice.refund(isOnline: true) # See the refund class method for more information

Returns:

  • (Integer)

    return the refund id



39
40
41
# File 'lib/magento/invoice.rb', line 39

def refund(refund_params = nil)
  self.class.refund(id, refund_params)
end

#send_emailBoolean

Emails a user a specified invoice.

Returns:

  • (Boolean)


26
27
28
# File 'lib/magento/invoice.rb', line 26

def send_email
  self.class.send_email(id)
end

#voidBoolean

Voids a specified invoice.

Returns:

  • (Boolean)


18
19
20
# File 'lib/magento/invoice.rb', line 18

def void
  self.class.void(id)
end