class OffsitePayments::Integrations::Przelewy24::Helper

Public Class Methods

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

  add_field 'p24_api_version', '3.2'
  add_field 'p24_session_id', order
end

Public Instance Methods

customer(params = {}) click to toggle source
# File lib/offsite_payments/integrations/przelewy24.rb, line 70
def customer(params = {})
  add_field 'p24_client', "#{params[:first_name]} #{params[:last_name]}"
  add_field 'p24_email', params[:email]
end
form_fields() click to toggle source
# File lib/offsite_payments/integrations/przelewy24.rb, line 75
def form_fields
  @fields['p24_amount'] = Przelewy24.make_amount(@fields['p24_amount'])

  @fields.merge(
    p24_sign: generate_signature
  )
end

Private Instance Methods

generate_signature() click to toggle source
# File lib/offsite_payments/integrations/przelewy24.rb, line 85
def generate_signature
  Digest::MD5.hexdigest([
    @fields['p24_session_id'].to_s,
    @fields['p24_merchant_id'].to_s,
    @fields['p24_amount'].to_s,
    @fields['p24_currency'].to_s,
    ENV['PRZELEWY24_CRC_KEY'].to_s
  ].join('|'))
end