class OffsitePayments::Integrations::Maksuturva::Helper
Public Class Methods
new(order, account, options = {})
click to toggle source
Calls superclass method
# File lib/offsite_payments/integrations/maksuturva.rb, line 80 def initialize(order, account, options = {}) md5secret options.delete(:credential2) super add_field("pmt_action", "NEW_PAYMENT_EXTENDED") add_field("pmt_version", "0004") add_field("pmt_sellerid", account) add_field("pmt_hashversion", "MD5") end
Public Instance Methods
form_fields()
click to toggle source
# File lib/offsite_payments/integrations/maksuturva.rb, line 93 def form_fields @fields.merge("pmt_hash" => generate_md5string) end
generate_md5string()
click to toggle source
# File lib/offsite_payments/integrations/maksuturva.rb, line 97 def generate_md5string fields = [@fields["pmt_action"], @fields["pmt_version"]] fields += [@fields["pmt_selleriban"]] unless @fields["pmt_selleriban"].nil? fields += [@fields["pmt_id"], @fields["pmt_orderid"], @fields["pmt_reference"], @fields["pmt_duedate"], @fields["pmt_amount"], @fields["pmt_currency"], @fields["pmt_okreturn"], @fields["pmt_errorreturn"], @fields["pmt_cancelreturn"], @fields["pmt_delayedpayreturn"], @fields["pmt_escrow"], @fields["pmt_escrowchangeallowed"]] fields += [@fields["pmt_invoicefromseller"]] unless @fields["pmt_invoicefromseller"].nil? fields += [@fields["pmt_paymentmethod"]] unless @fields["pmt_paymentmethod"].nil? fields += [@fields["pmt_buyeridentificationcode"]] unless @fields["pmt_buyeridentificationcode"].nil? fields += [@fields["pmt_buyername"], @fields["pmt_buyeraddress"], @fields["pmt_buyerpostalcode"], @fields["pmt_buyercity"], @fields["pmt_buyercountry"], @fields["pmt_deliveryname"], @fields["pmt_deliveryaddress"], @fields["pmt_deliverypostalcode"], @fields["pmt_deliverycity"], @fields["pmt_deliverycountry"], @fields["pmt_sellercosts"]] (1..@fields["pmt_rows"].to_i).each do |i| fields += [@fields["pmt_row_name#{i}"], @fields["pmt_row_desc#{i}"], @fields["pmt_row_quantity#{i}"]] fields += [@fields["pmt_row_articlenr#{i}"]] unless @fields["pmt_row_articlenr#{i}"].nil? fields += [@fields["pmt_row_unit#{i}"]] unless @fields["pmt_row_unit#{i}"].nil? fields += [@fields["pmt_row_deliverydate#{i}"]] fields += [@fields["pmt_row_price_gross#{i}"]] unless @fields["pmt_row_price_gross#{i}"].nil? fields += [@fields["pmt_row_price_net#{i}"]] unless @fields["pmt_row_price_net#{i}"].nil? fields += [@fields["pmt_row_vat#{i}"], @fields["pmt_row_discountpercentage#{i}"], @fields["pmt_row_type#{i}"]] end fields += [@md5secret] fields = fields.join("&") + "&" Digest::MD5.hexdigest(fields).upcase end
md5secret(value)
click to toggle source
# File lib/offsite_payments/integrations/maksuturva.rb, line 89 def md5secret(value) @md5secret = value end