module LeshuaPay::Sign

Public Class Methods

md5(options) click to toggle source
# File lib/leshua_pay/sign.rb, line 10
def md5 options
  str = to_param options
  str << "&key=#{Config.payment_key}"
  Digest::MD5.hexdigest(str).upcase
end
signature(options) click to toggle source
# File lib/leshua_pay/sign.rb, line 16
def signature options
  to_param(options)+"&sign="+md5(options)
  # options[:sign] = md5(options)
  # options.to_json
end
to_param(options) click to toggle source
# File lib/leshua_pay/sign.rb, line 6
def to_param options
  options.select{ |k,v| v.present? }.sort.map{ |k,v| "#{k}=#{v}" }.join('&')
end
valid?(options) click to toggle source
# File lib/leshua_pay/sign.rb, line 22
def valid? options
  md5(options) == options.delete("sign")
end