class Vnpay::Verify
Constants
- REJECTED_PARAMS
Attributes
normalized_params[R]
params[R]
Public Class Methods
new(params)
click to toggle source
# File lib/vnpay/verify.rb, line 8 def initialize(params) @params = params.permit!.to_h end
Public Instance Methods
verify()
click to toggle source
# File lib/vnpay/verify.rb, line 12 def verify normalize_params return false unless success_code? return false unless valid_hash? true end
Private Instance Methods
calculated_secure_hash()
click to toggle source
# File lib/vnpay/verify.rb, line 31 def calculated_secure_hash REJECTED_PARAMS.each { |key| params.delete(key) } data = params.sort.map { |k, v| "#{k}=#{v}" }.join('&') Digest::MD5.hexdigest(Vnpay::Config.configuration.secret_key + data) end
normalize_params()
click to toggle source
# File lib/vnpay/verify.rb, line 37 def normalize_params @normalized_params ||= {} end
success_code?()
click to toggle source
# File lib/vnpay/verify.rb, line 23 def success_code? params['vnp_ResponseCode'] == '00' end
valid_hash?()
click to toggle source
# File lib/vnpay/verify.rb, line 27 def valid_hash? params['vnp_SecureHash'] == calculated_secure_hash end