Module: ActiveMerchant::Billing::Integrations::Alipay::Common

Included in:
Helper, Notification, Return
Defined in:
lib/active_merchant/billing/integrations/alipay/common.rb

Instance Method Summary collapse

Instance Method Details

#signature(params) ⇒ Object



20
21
22
23
24
25
# File 'lib/active_merchant/billing/integrations/alipay/common.rb', line 20

def signature(params)
  query = params.sort.collect do |s|
    "#{s[0]}=#{s[0] == "notify_id" ? s[1] : CGI.unescape(s[1])}"
  end
  Digest::MD5.hexdigest(query.join("&") + KEY)
end

#signed?Boolean

Returns:

  • (Boolean)


9
10
11
12
13
14
15
16
17
18
# File 'lib/active_merchant/billing/integrations/alipay/common.rb', line 9

def signed?
  method = @params.delete("sign_type")
  sign = @params.delete("sign")

  if 'MD5' == method && sign.present?
    sign.downcase == signature(@params)
  else
    false
  end
end