module WeixinPay::Sign

Public Class Methods

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