Class: ECpayPayment::QueryParamVerify

Inherits:
PaymentVerifyBase show all
Includes:
ECpayErrorDefinition
Defined in:
lib/ecpay_payment/verification.rb

Instance Method Summary collapse

Methods inherited from PaymentVerifyBase

#get_all_pattern, #get_basic_params, #get_cond_param, #get_depopt_param_pattern, #get_int_param_pattern, #get_opt_param_pattern, #get_param_type, #get_special_encode_param, #get_str_param_pattern, #get_svc_url, #verify_param_by_pattern

Constructor Details

#initialize(apiname) ⇒ QueryParamVerify

Returns a new instance of QueryParamVerify.



420
421
422
423
424
# File 'lib/ecpay_payment/verification.rb', line 420

def initialize(apiname)
  @aio_basic_param = self.get_basic_params(apiname).freeze
  @aio_conditional_param = self.get_cond_param(apiname).freeze
  @all_param_pattern = self.get_all_pattern(apiname).freeze
end

Instance Method Details

#verify_query_param(params) ⇒ Object



426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
# File 'lib/ecpay_payment/verification.rb', line 426

def verify_query_param(params)
  if params.is_a?(Hash)
    param_diff = @aio_basic_param - params.keys
    unless param_diff == []
      raise ECpayInvalidParam, "Lack required param #{param_diff}"
    end

    #Verify Value pattern of each param
    self.verify_param_by_pattern(params, @all_param_pattern)

  else
    raise TypeError, "Recieved argument is not a hash"
  end

end