class OffsitePayments::Integrations::WebPay::Helper

Public Class Methods

new(order, account, options = {}) click to toggle source
Calls superclass method
# File lib/offsite_payments/integrations/web_pay.rb, line 83
def initialize(order, account, options = {})
  @md5secret = options.delete(:secret)
  @line_item_count = 0
  super
end

Public Instance Methods

add_line_item(options) click to toggle source
# File lib/offsite_payments/integrations/web_pay.rb, line 101
def add_line_item(options)
  options.each do |key, value|
    add_field("wsb_invoice_item_#{key}[#{@line_item_count}]", value)
  end

  @line_item_count += 1
end
calculate_total() click to toggle source
# File lib/offsite_payments/integrations/web_pay.rb, line 109
def calculate_total
  sum = 0

  @line_item_count.times do |i|
    sum += @fields["wsb_invoice_item_quantity[#{i}]"].to_i * @fields["wsb_invoice_item_price[#{i}]"].to_i
  end

  sum + @fields[mappings[:tax]].to_i + @fields[mappings[:shipping_price]].to_i - @fields[mappings[:discount_price]].to_i
end
form_fields() click to toggle source
# File lib/offsite_payments/integrations/web_pay.rb, line 89
def form_fields
  @fields.merge(OffsitePayments::Integrations::WebPay.signature_parameter_name => generate_signature(:request))
end
params() click to toggle source
# File lib/offsite_payments/integrations/web_pay.rb, line 93
def params
  @fields
end
secret() click to toggle source
# File lib/offsite_payments/integrations/web_pay.rb, line 97
def secret
  @md5secret
end