module WxPay::Sign

Public Class Methods

generate(params) click to toggle source
# 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) click to toggle source
# 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