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 52 def initialize(order, account, options = {}) super add_field 'paymentMode', 'NET_BANKING' add_field 'reqtime', (Time.now.to_i * 1000).to_s @secret_key = options[:credential2] end
Public Instance Methods
credential_based_url()
click to toggle source
# File lib/offsite_payments/integrations/citrus.rb, line 38 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 59 def form_fields @fields.merge(mappings[:checksum] => generate_checksum) end
generate_checksum()
click to toggle source
# File lib/offsite_payments/integrations/citrus.rb, line 63 def generate_checksum checksum_fields = @fields["pmt_url"] + @fields["orderAmount"].to_s + @fields["merchantTxnId"] + @fields["currency"] Citrus.checksum(@secret_key, checksum_fields ) end