Module: WeixinPay::Sign

Defined in:
lib/weixin_pay/sign.rb

Class Method Summary collapse

Class Method Details

.generate(params) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/weixin_pay/sign.rb', line 5

def self.generate(params)
  key = WeixinPay.key
  query_str = params.sort.map do |k, v|
    "#{k}=#{v}"
  end.join('&')
  Rails.logger.info query_str

  Rails.logger.info "#{query_str}&key=#{key}"
  Digest::MD5.hexdigest("#{query_str}&key=#{key}").upcase
end

.verify?(params) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
# File 'lib/weixin_pay/sign.rb', line 16

def self.verify?(params)
  params = params.dup
  sign = params.delete('sign') || params.delete(:sign)

  generate(params) == sign
end