Sha256: 26bffd91785112353fef15b458010ff5f41c3bbd5b636ae775538c8cbb6b392c
Contents?: true
Size: 609 Bytes
Versions: 2
Compression:
Stored size: 609 Bytes
Contents
require 'digest/md5' module WxPay module Sign def self.generate(params) key = params.delete(:key) query = params.sort.map do |k, v| "#{k}=#{v}" if v.to_s != '' end.compact.join('&') Digest::MD5.hexdigest("#{query}&key=#{key || WxPay.key}").upcase end def self.verify?(params, options = {}) params = params.dup params = params.merge(options) if WxPay.sandbox_mode? params = params.merge(:key => WxPay.sandbox_key) end sign = params.delete('sign') || params.delete(:sign) generate(params) == sign end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
wx_pay-0.17.0 | lib/wx_pay/sign.rb |
wx_pay-0.16.1 | lib/wx_pay/sign.rb |