module OffsitePayments::Integrations::WebPay::Common

Public Instance Methods

generate_signature(type) click to toggle source
# File lib/offsite_payments/integrations/web_pay.rb, line 38
def generate_signature(type)
  string = case type
  when :request
    request_signature_string
  when :notify
    notify_signature_string
  end
  if type != :notify && @fields[mappings[:version]] == '2'
    Digest::SHA1.hexdigest(string)
  else
    Digest::MD5.hexdigest(string)
  end
end
notify_signature_string() click to toggle source
# File lib/offsite_payments/integrations/web_pay.rb, line 64
def notify_signature_string
  [
    params['batch_timestamp'],
    params['currency_id'],
    params['amount'],
    params['payment_method'],
    params['order_id'],
    params['site_order_id'],
    params['transaction_id'],
    params['payment_type'],
    params['rrn'],
    secret
  ].join
end
request_signature_string() click to toggle source
# File lib/offsite_payments/integrations/web_pay.rb, line 52
def request_signature_string
  [
    @fields[mappings[:seed]],
    @fields[mappings[:account]],
    @fields[mappings[:order]],
    @fields[mappings[:test]],
    @fields[mappings[:currency]],
    @fields[mappings[:amount]],
    secret
  ].join
end