jasl_tenpay 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/{tenpay → jasl_tenpay}/notify.rb +2 -2
- data/lib/{tenpay → jasl_tenpay}/service.rb +2 -2
- data/lib/{tenpay → jasl_tenpay}/sign.rb +2 -2
- data/lib/{tenpay → jasl_tenpay}/utils.rb +2 -2
- data/lib/jasl_tenpay/version.rb +3 -0
- data/lib/jasl_tenpay.rb +10 -0
- data/lib/tasks/{tenpay_tasks.rake → jasl_tenpay_tasks.rake} +0 -0
- data/test/{tenpay → jasl_tenpay}/notify_test.rb +4 -4
- data/test/{tenpay → jasl_tenpay}/service_test.rb +2 -2
- data/test/jasl_tenpay/sign_test.rb +23 -0
- data/test/jasl_tenpay/utils_test.rb +8 -0
- data/test/test_helper.rb +3 -3
- metadata +16 -16
- data/lib/tenpay/version.rb +0 -3
- data/lib/tenpay.rb +0 -10
- data/test/tenpay/sign_test.rb +0 -23
- data/test/tenpay/utils_test.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 978e78088d3672cd1d0b6e37b8a51f6c9002a1b4
|
4
|
+
data.tar.gz: 9f402cc6683399d4c1f34f68f4c02178098fae1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed7cff2b51e5956b7722aeb03e6dacbe229aa66eb41a3255da4e5f622cd3f5709ad2ec6c2e7dd77328fff194d6251280b69b227a6986ba639406ec5dc6958d67
|
7
|
+
data.tar.gz: aa09190134db6e38026334933fd1aba11642b03be9ccaf364bef736adfa1bb398e4efa9a8c0d59abbf60deb68212de85e8ccdd709ff16f0df1e0a861c64f8fd7
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module JaslTenpay
|
2
2
|
class Notify
|
3
3
|
GATEWAY = 'https://gw.tenpay.com/gateway/simpleverifynotifyid.xml'
|
4
4
|
SUCCESS_STR = '<retcode>0</retcode>'
|
@@ -7,7 +7,7 @@ module Tenpay
|
|
7
7
|
if Sign.verify?(params)
|
8
8
|
params = {
|
9
9
|
'input_charset' => 'UTF-8',
|
10
|
-
'partner' =>
|
10
|
+
'partner' => JaslTenpay.pid,
|
11
11
|
'notify_id' => CGI.escape(params[:notify_id].to_s)
|
12
12
|
}
|
13
13
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'cgi'
|
2
2
|
require 'open-uri'
|
3
3
|
|
4
|
-
module
|
4
|
+
module JaslTenpay
|
5
5
|
module Service
|
6
6
|
GATEWAY_URL = 'https://gw.tenpay.com/gateway/pay.htm'
|
7
7
|
|
@@ -9,7 +9,7 @@ module Tenpay
|
|
9
9
|
def self.create_interactive_mode_url(options)
|
10
10
|
options = {
|
11
11
|
'input_charset' => 'UTF-8',
|
12
|
-
'partner' =>
|
12
|
+
'partner' => JaslTenpay.pid,
|
13
13
|
'fee_type' => '1'
|
14
14
|
}.merge(Utils.stringify_keys(options))
|
15
15
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
require 'digest/md5'
|
2
2
|
|
3
|
-
module
|
3
|
+
module JaslTenpay
|
4
4
|
module Sign
|
5
5
|
def self.generate(params)
|
6
6
|
query = params.sort.map do |key, value|
|
7
7
|
"#{key}=#{value}"
|
8
8
|
end.join('&')
|
9
9
|
|
10
|
-
Digest::MD5.hexdigest("#{query}&key=#{
|
10
|
+
Digest::MD5.hexdigest("#{query}&key=#{JaslTenpay.key}").upcase
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.verify?(params)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module JaslTenpay
|
2
2
|
module Utils
|
3
3
|
def self.stringify_keys(hash)
|
4
4
|
new_hash = {}
|
@@ -9,7 +9,7 @@ module Tenpay
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.make_query_string(options)
|
12
|
-
options.merge('sign' =>
|
12
|
+
options.merge('sign' => JaslTenpay::Sign.generate(options)).map do |key, value|
|
13
13
|
"#{CGI.escape(key.to_s)}=#{CGI.escape(value.to_s)}"
|
14
14
|
end.join('&')
|
15
15
|
end
|
data/lib/jasl_tenpay.rb
ADDED
File without changes
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class
|
3
|
+
class JaslTenpay::NotifyTest < Test::Unit::TestCase
|
4
4
|
SUCCESS_RETURN = <<-XML
|
5
5
|
<?xml version="1.0" encoding="GBK"?>
|
6
6
|
<root>
|
@@ -32,16 +32,16 @@ class Tenpay::NotifyTest < Test::Unit::TestCase
|
|
32
32
|
:notify_id => '123456789012345678901234567890',
|
33
33
|
:sign => '9E3178005EF2DFF87348E00889765FF0'
|
34
34
|
}
|
35
|
-
@url = "https://gw.tenpay.com/gateway/simpleverifynotifyid.xml?input_charset=UTF-8&partner=#{
|
35
|
+
@url = "https://gw.tenpay.com/gateway/simpleverifynotifyid.xml?input_charset=UTF-8&partner=#{JaslTenpay.pid}¬ify_id=123456789012345678901234567890&sign=E040AFBCBC409EA0C62CF0F11CF0BAA4"
|
36
36
|
end
|
37
37
|
|
38
38
|
def test_verify_notify_when_true
|
39
39
|
FakeWeb.register_uri(:get, @url, :body => SUCCESS_RETURN)
|
40
|
-
assert
|
40
|
+
assert JaslTenpay::Notify.verify?(@options)
|
41
41
|
end
|
42
42
|
|
43
43
|
def test_verify_notify_when_false
|
44
44
|
FakeWeb.register_uri(:get, @url, :body => FAIL_RETURN)
|
45
|
-
assert !
|
45
|
+
assert !JaslTenpay::Notify.verify?(@options)
|
46
46
|
end
|
47
47
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class
|
3
|
+
class JaslTenpay::ServiceTest < Test::Unit::TestCase
|
4
4
|
def test_generate_create_interactive_mode_url
|
5
5
|
options = {
|
6
6
|
:body => 'test good',
|
@@ -11,6 +11,6 @@ class Tenpay::ServiceTest < Test::Unit::TestCase
|
|
11
11
|
:total_fee => 1,
|
12
12
|
:spbill_create_ip => '127.0.0.1',
|
13
13
|
}
|
14
|
-
assert_not_nil
|
14
|
+
assert_not_nil JaslTenpay::Service.create_interactive_mode_url(options)
|
15
15
|
end
|
16
16
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class JaslTenpay::SignTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@params = {
|
6
|
+
:service => 'test',
|
7
|
+
:partner => '123'
|
8
|
+
}
|
9
|
+
@sign = Digest::MD5.hexdigest("partner=123&service=test&key=#{JaslTenpay.key}").upcase
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_generate_sign
|
13
|
+
assert_equal @sign, JaslTenpay::Sign.generate(@params)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_verify_sign
|
17
|
+
assert JaslTenpay::Sign.verify?(@params.merge(:sign => @sign))
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_verify_sign_when_fails
|
21
|
+
assert !JaslTenpay::Sign.verify?(@params.merge(:danger => 'danger', :sign => @sign))
|
22
|
+
end
|
23
|
+
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jasl_tenpay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jasl
|
@@ -59,19 +59,19 @@ executables: []
|
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
-
- lib/
|
63
|
-
- lib/
|
64
|
-
- lib/
|
65
|
-
- lib/
|
66
|
-
- lib/
|
67
|
-
- lib/
|
68
|
-
- lib/
|
62
|
+
- lib/jasl_tenpay/notify.rb
|
63
|
+
- lib/jasl_tenpay/service.rb
|
64
|
+
- lib/jasl_tenpay/sign.rb
|
65
|
+
- lib/jasl_tenpay/utils.rb
|
66
|
+
- lib/jasl_tenpay/version.rb
|
67
|
+
- lib/jasl_tenpay.rb
|
68
|
+
- lib/tasks/jasl_tenpay_tasks.rake
|
69
69
|
- MIT-LICENSE
|
70
70
|
- Rakefile
|
71
|
-
- test/
|
72
|
-
- test/
|
73
|
-
- test/
|
74
|
-
- test/
|
71
|
+
- test/jasl_tenpay/notify_test.rb
|
72
|
+
- test/jasl_tenpay/service_test.rb
|
73
|
+
- test/jasl_tenpay/sign_test.rb
|
74
|
+
- test/jasl_tenpay/utils_test.rb
|
75
75
|
- test/test_helper.rb
|
76
76
|
homepage: https://github.com/jasl/tenpay
|
77
77
|
licenses:
|
@@ -98,8 +98,8 @@ signing_key:
|
|
98
98
|
specification_version: 4
|
99
99
|
summary: An unofficial simple tenpay gem
|
100
100
|
test_files:
|
101
|
-
- test/
|
102
|
-
- test/
|
103
|
-
- test/
|
104
|
-
- test/
|
101
|
+
- test/jasl_tenpay/notify_test.rb
|
102
|
+
- test/jasl_tenpay/service_test.rb
|
103
|
+
- test/jasl_tenpay/sign_test.rb
|
104
|
+
- test/jasl_tenpay/utils_test.rb
|
105
105
|
- test/test_helper.rb
|
data/lib/tenpay/version.rb
DELETED
data/lib/tenpay.rb
DELETED
data/test/tenpay/sign_test.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class Tenpay::SignTest < Test::Unit::TestCase
|
4
|
-
def setup
|
5
|
-
@params = {
|
6
|
-
:service => 'test',
|
7
|
-
:partner => '123'
|
8
|
-
}
|
9
|
-
@sign = Digest::MD5.hexdigest("partner=123&service=test&key=#{Tenpay.key}").upcase
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_generate_sign
|
13
|
-
assert_equal @sign, Tenpay::Sign.generate(@params)
|
14
|
-
end
|
15
|
-
|
16
|
-
def test_verify_sign
|
17
|
-
assert Tenpay::Sign.verify?(@params.merge(:sign => @sign))
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_verify_sign_when_fails
|
21
|
-
assert !Tenpay::Sign.verify?(@params.merge(:danger => 'danger', :sign => @sign))
|
22
|
-
end
|
23
|
-
end
|