Class: Fakesite::Alipay::Base

Inherits:
Base
  • Object
show all
Extended by:
WebMock::API
Defined in:
lib/fakesite/alipay/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.after_registerObject



37
38
39
40
41
# File 'lib/fakesite/alipay/base.rb', line 37

def self.after_register
  stub_request(:get, 'https://' + Host + '/gateway.do')
      .with(:query => hash_including({:service => 'notify_verify'}))
      .to_return(:status => 200, :body => "true")
end

.match(external_uri) ⇒ Object



33
34
35
# File 'lib/fakesite/alipay/base.rb', line 33

def self.match(external_uri)
  external_uri.host == Host
end

Instance Method Details

#buyer_emailObject



25
26
27
# File 'lib/fakesite/alipay/base.rb', line 25

def buyer_email
  get_value(user, :email)
end

#buyer_idObject



29
30
31
# File 'lib/fakesite/alipay/base.rb', line 29

def buyer_id
  get_value(user, :id)
end

#parametersObject



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/fakesite/alipay/base.rb', line 6

def parameters
  { 
    "trade_status" => 'TRADE_SUCCESS', 
    "trade_no" => Time.now.to_i.to_s, 
    "notify_id" => Time.now.to_i.to_s,
    "buyer_email" => buyer_email,
    "buyer_id" => buyer_id,
    "exterface" => "create_direct_pay_by_user",
    "notify_time" => (Time.now.utc + 28800).strftime("%Y-%m-%d %H:%M:%S")
  }
end

#return_parametersObject



18
19
20
21
22
23
# File 'lib/fakesite/alipay/base.rb', line 18

def return_parameters
  string = params.sort.map { |item| item.join('=') }.join('&')
  params["sign"] = Digest::MD5.hexdigest("#{string}#{@options[:key]}")
  params["sign_type"] = "MD5"
  return params
end