class ActivePayment::Models::Sale

Attributes

payable[RW]
payee[RW]
payer[RW]

Public Class Methods

new(payable:, payer:, payee:) click to toggle source
# File lib/active_payment/models/sale.rb, line 6
def initialize(payable:, payer:, payee:)
  @payable = payable
  @payer = payer
  @payee = payee
end

Public Instance Methods

amount() click to toggle source
# File lib/active_payment/models/sale.rb, line 12
def amount
  payable.amount.to_f / 100
end
amount_in_cents() click to toggle source
# File lib/active_payment/models/sale.rb, line 16
def amount_in_cents
  payable.amount.to_i
end
currency() click to toggle source
# File lib/active_payment/models/sale.rb, line 32
def currency
  payable.currency || 'USD'
end
description() click to toggle source
# File lib/active_payment/models/sale.rb, line 20
def description
  payable.description
end
paypal_hash() click to toggle source
# File lib/active_payment/models/sale.rb, line 44
def paypal_hash
  {
    description: payable.description,
    invoice_data: {
      item: [{
        name: payable.description,
        item_count: 1,
        item_price: amount,
        price: amount
      }],
      total_shipping: payable.shipping,
      total_tax: payable.tax
    },
    receiver: {
      email: @payee.paypal_identifier
    }
  }
end
paypal_recipient() click to toggle source
# File lib/active_payment/models/sale.rb, line 36
def paypal_recipient
  {
    email: payee.paypal_identifier,
    amount: amount,
    primary: false
  }
end
shipping() click to toggle source
# File lib/active_payment/models/sale.rb, line 24
def shipping
  payable.shipping || 0
end
tax() click to toggle source
# File lib/active_payment/models/sale.rb, line 28
def tax
  payable.tax || 0
end