class OffsitePayments::Integrations::Citrus::Helper

Constants

PRODUCTION_URL
SANDBOX_URL
STAGING_URL

Public Class Methods

new(order, account, options = {}) click to toggle source
Calls superclass method
# File lib/offsite_payments/integrations/citrus.rb, line 54
def initialize(order, account, options = {})
  super
  add_field 'paymentMode', 'NET_BANKING'
  add_field 'reqtime', (Time.now.to_i * 1000).to_s
end

Public Instance Methods

credential_based_url() click to toggle source
# File lib/offsite_payments/integrations/citrus.rb, line 40
def credential_based_url
  pmt_url = @fields['pmt_url']
  case OffsitePayments.mode
  when :production
    PRODUCTION_URL + pmt_url
  when :test
    SANDBOX_URL    + pmt_url
  when :staging
    STAGING_URL    + pmt_url
  else
    raise StandardError, "Integration mode set to an invalid value: #{mode}"
  end
end
form_fields() click to toggle source
# File lib/offsite_payments/integrations/citrus.rb, line 60
def form_fields
  @fields.merge(mappings[:checksum] => generate_checksum)
end
generate_checksum() click to toggle source
# File lib/offsite_payments/integrations/citrus.rb, line 64
def generate_checksum
  checksum_fields = @fields["pmt_url"] + @fields["orderAmount"].to_s + @fields["merchantTxnId"] + @fields["currency"]
  Citrus.checksum(@fields["secret_key"],  checksum_fields )
end