Module: WxPay::Sign

Defined in:
lib/wx_pay/sign.rb

Class Method Summary collapse

Class Method Details

.generate(params) ⇒ Object



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

def self.generate(params)
  key = params.delete(:key)

  query = params.sort.map do |key, value|
    "#{key}=#{value}"
  end.join('&')

  Digest::MD5.hexdigest("#{query}&key=#{key || WxPay.key}").upcase
end

.verify?(params) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
18
19
20
# File 'lib/wx_pay/sign.rb', line 15

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

  generate(params) == sign
end