Class: ActiveMerchant::Billing::Integrations::PayflowLink::Helper

Inherits:
Helper
  • Object
show all
Includes:
PostsData
Defined in:
lib/active_merchant/billing/integrations/payflow_link/helper.rb

Instance Attribute Summary

Attributes inherited from Helper

#fields

Instance Method Summary collapse

Methods inherited from Helper

#add_field, #add_fields, #add_raw_html_field, #form_method, mapping, #raw_html_fields, #shipping_address, #test?

Constructor Details

#initialize(order, account, options = {}) ⇒ Helper

Returns a new instance of Helper.



8
9
10
11
12
13
14
15
16
17
# File 'lib/active_merchant/billing/integrations/payflow_link/helper.rb', line 8

def initialize(order, , options = {})
  super
  add_field('login', )
  add_field('echodata', 'True')
  add_field('user2', self.test?)
  add_field('invoice', order)
  add_field('vendor', )
  add_field('user', options[:credential4].presence || )
  add_field('trxtype', options[:transaction_type] || 'S')
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ActiveMerchant::Billing::Integrations::Helper

Instance Method Details

#billing_address(params = {}) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/active_merchant/billing/integrations/payflow_link/helper.rb', line 42

def billing_address(params = {})
  # Get the country code in the correct format
  # Use what we were given if we can't find anything
  country_code = lookup_country_code(params.delete(:country))
  add_field(mappings[:billing_address][:country], country_code)

  add_field(mappings[:billing_address][:address], [params.delete(:address1), params.delete(:address2)].compact.join(' '))

  province_code = params.delete(:state)
  add_field(mappings[:billing_address][:state], province_code.blank? ? 'N/A' : province_code.upcase)

  # Everything else
  params.each do |k, v|
    field = mappings[:billing_address][k]
    add_field(field, v) unless field.nil?
  end
end

#customer(params = {}) ⇒ Object



38
39
40
# File 'lib/active_merchant/billing/integrations/payflow_link/helper.rb', line 38

def customer(params = {})
  add_field(mappings[:customer][:name], [params.delete(:first_name), params.delete(:last_name)].compact.join(' '))
end

#form_fieldsObject



60
61
62
63
64
# File 'lib/active_merchant/billing/integrations/payflow_link/helper.rb', line 60

def form_fields
  token, token_id = request_secure_token

  {"securetoken" => token, "securetokenid" => token_id, "mode" => test? ? "test" : "live"}
end