alipay_dualfun 0.2 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDdiYWE3ODE2OTE1Y2IyNzcwNjE4NzUwZjc5Y2QyYzlmZDk5MzA0Nw==
4
+ ZDFiNGY4NmI1NDEwMTdjYTMyNWQzMWI1MGYzMWVhYzZkZTU5N2IwYg==
5
5
  data.tar.gz: !binary |-
6
- Y2ZmM2ZiZmY1YzI0ODc4OGUyMDY0ZGM0NDU2ZjAxYmYxNjkxNmM2Mw==
6
+ ZWM2M2I1MDNmZmJkY2VmYjQ3MTViMDU3M2I3MDU1YjBhYTdhOGU5Yw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- M2IxMTIwZmYzYTU0N2QwYmFiN2FhMmExNGMyYjEzNjRkYWFlODMzMzllZWYx
10
- ZTNiMzZkMTFlOWNlZmViZTE1MWM3NDFkZmJkNGMzNzRmYmRiOTFmN2U1Y2E3
11
- YjE5NTg4MDk2MjdmZTNjMjViNzhiODllMjc5ZGI1NTBlZmY1Y2E=
9
+ MDRmNzY4ODg3MzI2YzQxNTQzOGY1NWFjYzE2ODhjYTY2OGYxYzE4N2U1OGZl
10
+ YmZmNjMxNzgwODIxMDJiZTM2ZjgzYjIwNDMxYTZjNTBhMzljYzI5MGMyZTE3
11
+ M2U5NzJkOTBjZWZmNTc5MWJkMzEyMjk5M2Y0NzdlNjUyZDM4OGQ=
12
12
  data.tar.gz: !binary |-
13
- NDljMDkzNmRmOTc1ZmU0YTE5NmNjOTUxZWMwYmFlZTkzY2U5Y2VmOWRiMjVm
14
- MGIwMDJhZTFlMjk4N2JhMjQzYWM1OWI0OTRlZDAxMTA2YTAyOGZmMDc0MWNj
15
- ODQyNTNlMjRkMTY0ZjI1ZTIwMTY2MjE0NjJkY2U2Y2I4NWFhNDc=
13
+ MmNiZjdiMzQzMDFiMTJhMjJlOTBmYWViODRmMjRjMmFjYjY0ZjRlZWI0N2My
14
+ OWI0YTAzZDc0ZmZjNGUzN2M2NjY2YzM0NjYzODBlNzgxOGUyNDRkYzg4ZWRk
15
+ YTY2N2U0ODQzYzgxMGU1ODc3NWNjMmNlNmU2ZThlNDRjOWQ1YWM=
data/README.md CHANGED
@@ -30,20 +30,18 @@ And then execute:
30
30
  Generate payment url
31
31
 
32
32
  options = {
33
- :out_trade_no => 'YOUR_ORDER_ID', # 20130801000001
34
- :subject => 'YOUR_ORDER_SUBJECCT',
35
33
  :partner => 'PID',
36
34
  :seller_email => 'SELLER_EMAIL',
35
+ :key => 'SECRET',
36
+ :out_trade_no => 'YOUR_ORDER_ID', # 20130801000001
37
+ :subject => 'YOUR_ORDER_SUBJECCT',
37
38
  :price => '10.00',
38
39
  :quantity => 12,
39
- :discount => '20.00'
40
- :return_url => 'YOUR_ORDER_RETURN_URL',
41
- :notify_url => 'YOUR_ORDER_NOTIFY_URL'
40
+ :return_url => 'YOUR_ORDER_RETURN_URL', # 可选项
41
+ :notify_url => 'YOUR_ORDER_NOTIFY_URL' # 可选项
42
42
  }
43
43
 
44
44
  Alipay.trade_create_by_buyer_url(options) # 标准双接口
45
45
  # => 'https://mapi.alipay.com/gateway.do?out_trade_no=...'
46
46
 
47
- You can redirect user to this payment url, and user will see a payment page
48
- for his/her order.
49
-
47
+ 以上除了标注`可选项`的内容之外,其他选项都是 Gem 要求的必填项,缺一不可。用户还可以根据自身特定需求添加可选项,具体可以参考支付宝官方资料包中的 pdf 文件。
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "alipay_dualfun"
7
- gem.version = "0.2"
7
+ gem.version = "0.3"
8
8
  gem.authors = ["happypeter"]
9
9
  gem.email = ["happypeter1983@gmail.com"]
10
10
  gem.description = %q{This gem can help you integrate Alipay Dual-function Payment.}
@@ -18,6 +18,7 @@ module AlipayDualfun
18
18
  }.merge(stringify_keys(options))
19
19
 
20
20
  @secret_key = options['key']
21
+ @partner = options['partner']
21
22
  options.delete('key')
22
23
 
23
24
  check_required_options(options, trade_create_by_buyer_required_options)
@@ -51,4 +52,22 @@ module AlipayDualfun
51
52
  end.join('&')
52
53
  Digest::MD5.hexdigest("#{query}#{@secret_key}")
53
54
  end
55
+
56
+
57
+ def self.verify_sign?(params)
58
+ params = stringify_keys(params)
59
+ params.delete('sign_type')
60
+ sign = params.delete('sign')
61
+
62
+ generate_sign(params) == sign
63
+ end
64
+
65
+ def self.notify_verify?(params)
66
+ if verify_sign?(params)
67
+ params = stringify_keys(params)
68
+ open("https://mapi.alipay.com/gateway.do?service=notify_verify&partner=#{@partner}&notify_id=#{CGI.escape params['notify_id'].to_s}").read == 'true'
69
+ else
70
+ false
71
+ end
72
+ end
54
73
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alipay_dualfun
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: '0.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - happypeter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-31 00:00:00.000000000 Z
11
+ date: 2013-10-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This gem can help you integrate Alipay Dual-function Payment.
14
14
  email: