class OffsitePayments::Integrations::WirecardCheckoutPage::Helper

Constants

PLUGIN_NAME
PLUGIN_VERSION

Public Class Methods

new(order, customer_id, options = {}) click to toggle source
Calls superclass method
# File lib/offsite_payments/integrations/wirecard_checkout_page.rb, line 174
def initialize(order, customer_id, options = {})
  @paymenttype = options.delete(:paymenttype)

  raise "Unknown Paymenttype: " + @paymenttype if paymenttypes.find_index(@paymenttype) == nil

  @secret = options.delete(:secret)
  @customer_id = customer_id
  @shop_id = options.delete(:shop_id)
  super
end

Public Instance Methods

add_request_fingerprint(fpfields) click to toggle source
# File lib/offsite_payments/integrations/wirecard_checkout_page.rb, line 201
def add_request_fingerprint(fpfields)
  addfields = {}
  fingerprint_order = %w(secret)
  fingerprint_values = @secret.to_s
  fpfields.each { |key, value|
    next if key == 'pluginVersion'
    fingerprint_order.append key
    fingerprint_values += value.to_s
  }

  fingerprint_order.append 'requestFingerprintOrder'
  fingerprint_values += fingerprint_order.join(',')

  addfields['requestFingerprintOrder'] = fingerprint_order.join(',')
  addfields['requestFingerprint'] = Digest::MD5.hexdigest(fingerprint_values)

  addfields
end
add_standard_fields() click to toggle source
# File lib/offsite_payments/integrations/wirecard_checkout_page.rb, line 189
def add_standard_fields
  addfields = {}
  addfields['shopId'] = @shop_id if !@shop_id.blank?
  addfields['paymentType'] = @paymenttype

  addfields[mappings[:pending_url]] = @fields[mappings[:return_url]] unless @fields.has_key?(mappings[:pending_url])
  addfields[mappings[:cancel_return_url]] = @fields[mappings[:return_url]] unless @fields.has_key?(mappings[:cancel_return_url])
  addfields[mappings[:failure_url]] = @fields[mappings[:return_url]] unless @fields.has_key?(mappings[:failure_url])

  addfields
end
add_version(shop_name, shop_version) click to toggle source
# File lib/offsite_payments/integrations/wirecard_checkout_page.rb, line 185
def add_version(shop_name, shop_version)
  add_field('pluginVersion', Base64.encode64(shop_name + ';' + shop_version + ';ActiveMerchant;' + PLUGIN_NAME + ';' + PLUGIN_VERSION))
end
customer_id() click to toggle source
# File lib/offsite_payments/integrations/wirecard_checkout_page.rb, line 232
def customer_id
  @customer_id
end
form_fields() click to toggle source
# File lib/offsite_payments/integrations/wirecard_checkout_page.rb, line 220
def form_fields
  result = {}
  result.merge!(@fields)
  result.merge!(add_standard_fields)
  result.merge!(add_request_fingerprint(result))
  result
end
secret() click to toggle source
# File lib/offsite_payments/integrations/wirecard_checkout_page.rb, line 228
def secret
  @secret
end
shop_id() click to toggle source
# File lib/offsite_payments/integrations/wirecard_checkout_page.rb, line 236
def shop_id
  @shop_id
end