class Payonline::PaymentResponse

Constants

SIGNED_PARAMS

Attributes

data[RW]
params[RW]

Public Class Methods

new(params = {}) click to toggle source
# File lib/payonline/payment_response.rb, line 11
def initialize(params = {})
  @params = prepare_params(params)
  @data = OpenStruct.new(@params)
end

Public Instance Methods

valid_payment?() click to toggle source
# File lib/payonline/payment_response.rb, line 16
def valid_payment?
  keys = SIGNED_PARAMS.select { |key| @params.key?(key) }
  @params[:security_key] == Payonline::Signature.new(@params, keys, false).digest
end

Private Instance Methods

prepare_params(params) click to toggle source
# File lib/payonline/payment_response.rb, line 23
def prepare_params(params)
  params
    .transform_keys { |key| key.to_s.underscore }
    .with_indifferent_access
end