zhima 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 09081054664c417c7999448526c4ea4f41f714d1
4
- data.tar.gz: fc9868010e129ea96356b1ee7e69a85e5b478397
3
+ metadata.gz: 0575c6c74c07ef5768b0fd83357ac5b25c8fad72
4
+ data.tar.gz: 9cd3c550b51d6845ffc218ca99745fab8949b6c3
5
5
  SHA512:
6
- metadata.gz: 98ee868b002a3140756b888e4f9fc90598a94a536cd5455ff99ccc69088c48a63584268d137a95f0d411f41a80c60de0bf79a5c2428be462f3f2450ce1ee753c
7
- data.tar.gz: 056abe30755d7c013ad225cac4403ee7e48b795441276145abb1b693beb7b49b04e57491adb71cfbbaf521407ddde95a87f79517a8db763ae943a81f411e2f53
6
+ metadata.gz: 5be7306cb3f2176bc8d6fd42fb3f83cea82b33c3d9bfbeb396f387e99d4aa2bd1aebd03239856f853804c43206b47bee3cac8661488a440ff0514fef51d82f6b
7
+ data.tar.gz: ce1b828427ebf2ab474ba8279a04695cf2daa5110ac68216e2aa7d4e406932eac1dd8bdd30beaf86fc5c49f7aebd3b4ab16e44286ffe8354bf641a3fd037ee9a
data/README.md CHANGED
@@ -74,8 +74,10 @@ params = {
74
74
  mobile: '18888888888'
75
75
  }
76
76
  Zhima::Ivs.get(params)
77
+ ```
77
78
 
78
79
  行业关注名单2.0
80
+ ```ruby
79
81
  params = {
80
82
  product_code: 'w1010100100000000022',
81
83
  transaction_id: 'transaction_id',
@@ -84,6 +86,56 @@ params = {
84
86
  Zhima::WatchList.get(params)
85
87
  ```
86
88
 
89
+ 申请欺诈评分
90
+ ```ruby
91
+ # 参数 https://b.zmxy.com.cn/technology/openDoc.htm?relInfo=zhima.credit.antifraud.score.get@1.0@1.1&relType=API_DOC&LEFT_MENU_MODE=null&view_mode=null
92
+ params = {
93
+ product_code: 'w1010100003000001100',
94
+ transaction_id: 'transaction_id',
95
+ cert_type: 'IDENTITY_CARD',
96
+ cert_no: '证件号',
97
+ name: '牛德华',
98
+ mobile: '13899999999',
99
+ email: 'xxx@xxx.com',
100
+ bank_card: '8888',
101
+ address: '中南海1号楼'
102
+ }
103
+ Zhima::Antifraud.get(params)
104
+ ```
105
+
106
+ 欺诈信息验证3.0
107
+ ```ruby
108
+ # 参数 https://b.zmxy.com.cn/technology/openDoc.htm?relInfo=zhima.credit.antifraud.verify@1.0@1.1&relType=API_DOC&LEFT_MENU_MODE=null&view_mode=null
109
+ params = {
110
+ product_code: 'w1010100000000002859',
111
+ transaction_id: 'transaction_id',
112
+ cert_type: 'IDENTITY_CARD',
113
+ cert_no: '证件号',
114
+ name: '牛德华',
115
+ mobile: '13899999999',
116
+ email: 'xxx@xxx.com',
117
+ bank_card: '8888',
118
+ address: '中南海1号楼'
119
+ }
120
+ Zhima::Antifraud.verify(params)
121
+ ```
122
+
123
+ 欺诈关注清单
124
+ ```ruby
125
+ # 参数 https://b.zmxy.com.cn/technology/openDoc.htm?relInfo=zhima.credit.antifraud.risk.list@1.0@1.0&relType=API_DOC&LEFT_MENU_MODE=null&view_mode=null
126
+ params = {
127
+ product_code: 'w1010100003000001283',
128
+ transaction_id: 'transaction_id',
129
+ cert_type: 'IDENTITY_CARD',
130
+ cert_no: '证件号',
131
+ name: '牛德华',
132
+ mobile: '13899999999',
133
+ email: 'xxx@xxx.com',
134
+ bank_card: '8888',
135
+ address: '中南海1号楼'
136
+ }
137
+ Zhima::Antifraud.risk_list(params)
138
+
87
139
  ## Development
88
140
 
89
141
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/lib/zhima.rb CHANGED
@@ -2,6 +2,7 @@ require "zhima/version"
2
2
  require "openssl"
3
3
  require "base64"
4
4
  require "uri"
5
+ require "json"
5
6
 
6
7
  module Zhima
7
8
  class << self
@@ -15,6 +16,7 @@ require_relative "zhima/config"
15
16
  require_relative "zhima/score"
16
17
  require_relative "zhima/ivs"
17
18
  require_relative "zhima/watch_list"
19
+ require_relative "zhima/antifraud"
18
20
  require_relative "zhima/request"
19
21
  require_relative "zhima/param"
20
22
  require_relative "zhima/sign"
@@ -0,0 +1,26 @@
1
+ module Zhima
2
+ # 申请欺诈评分 欺诈信息验证 欺诈关注清单
3
+ class Antifraud
4
+ GET_METHOD = 'zhima.credit.antifraud.score.get'.freeze
5
+ VERIFY_METHOD = 'zhima.credit.antifraud.verify'.freeze
6
+ RISK_LIST_METHOD = 'zhima.credit.antifraud.risk.list'.freeze
7
+
8
+ # 申请欺诈评分
9
+ # https://b.zmxy.com.cn/technology/openDoc.htm?relInfo=zhima.credit.antifraud.score.get@1.0@1.1&relType=API_DOC&LEFT_MENU_MODE=null&view_mode=null
10
+ def self.get(params, sys_options = {})
11
+ Request.new(params, sys_options.merge(method: GET_METHOD)).execute
12
+ end
13
+
14
+ # 欺诈信息验证3.0
15
+ # https://b.zmxy.com.cn/technology/openDoc.htm?relInfo=zhima.credit.antifraud.verify@1.0@1.1&relType=API_DOC&LEFT_MENU_MODE=null&view_mode=null
16
+ def self.verify(params, sys_options = {})
17
+ Request.new(params, sys_options.merge(method: VERIFY_METHOD)).execute
18
+ end
19
+
20
+ # 欺诈关注清单
21
+ # https://b.zmxy.com.cn/technology/openDoc.htm?relInfo=zhima.credit.antifraud.risk.list@1.0@1.0&relType=API_DOC&LEFT_MENU_MODE=null&view_mode=null
22
+ def self.risk_list(params, sys_options = {})
23
+ Request.new(params, sys_options.merge(method: RISK_LIST_METHOD)).execute
24
+ end
25
+ end
26
+ end
data/lib/zhima/ivs.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Zhima
2
2
  # 反欺诈信息验证
3
3
  class Ivs
4
- METHOD = 'zhima.credit.ivs.detail.get'
4
+ METHOD = 'zhima.credit.ivs.detail.get'.freeze
5
5
 
6
6
  # https://b.zmxy.com.cn/technology/openDoc.htm?relInfo=zhima.credit.ivs.detail.get@1.0@1.2&relType=API_DOC&type=API_INFO_DOC&LEFT_MENU_MODEnull
7
7
  def self.get(params, sys_options = {})
data/lib/zhima/param.rb CHANGED
@@ -8,14 +8,14 @@ module Zhima
8
8
  params.each { |key, value| params[key] = value.to_json if value.is_a? Hash }
9
9
  param_str = Util.to_query(params)
10
10
  [
11
- Util.base64_encode(rsa_encrypt(param_str)),
11
+ Util.base64_encode(rsa_encrypt(param_str)),
12
12
  Util.base64_encode(Sign.sign(param_str))
13
13
  ]
14
14
  end
15
15
 
16
16
  def self.rsa_encrypt(str)
17
17
  str.split('').each_slice(117).inject('') do |s, bytes|
18
- s += Config.zm_rsa.public_encrypt(bytes.join())
18
+ s += Config.zm_rsa.public_encrypt(bytes.join)
19
19
  s
20
20
  end
21
21
  end
@@ -24,7 +24,7 @@ module Zhima
24
24
  # strict_decode64 decode64
25
25
  encrypted_str = Base64.decode64 URI.decode(param_str)
26
26
  encrypted_str.split('').each_slice(128).inject('') do |str, bytes|
27
- str += Config.mech_rsa.private_decrypt bytes.join()
27
+ str += Config.mech_rsa.private_decrypt bytes.join
28
28
  str
29
29
  end
30
30
  end
data/lib/zhima/request.rb CHANGED
@@ -24,6 +24,7 @@ module Zhima
24
24
  end
25
25
 
26
26
  private
27
+
27
28
  # 芝麻返回的json数据解析,结果为真正的业务参数
28
29
  def parse_response(response_str)
29
30
  response_hash = JSON.parse(response_str)
data/lib/zhima/score.rb CHANGED
@@ -2,9 +2,9 @@ require "rest-client"
2
2
 
3
3
  module Zhima
4
4
  class Score
5
- AUTHORIZE_METHOD = 'zhima.auth.info.authorize'
6
- SCORE_METHOD = 'zhima.credit.score.get'
7
- AUTH_QUERY_METHOD = 'zhima.auth.info.authquery'
5
+ AUTHORIZE_METHOD = 'zhima.auth.info.authorize'.freeze
6
+ SCORE_METHOD = 'zhima.credit.score.get'.freeze
7
+ AUTH_QUERY_METHOD = 'zhima.auth.info.authquery'.freeze
8
8
 
9
9
  # params参数 请参考 https://b.zmxy.com.cn/technology/openDoc.htm?id=67
10
10
  # 系统参数 SYSTEM_OPTIONS,可自己传入,一般只需要配置channel参数(与auth_code不对应芝麻信用会报错)
data/lib/zhima/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Zhima
2
- VERSION = "0.3.4"
2
+ VERSION = "0.3.5"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  module Zhima
2
2
  # 行业关注名单2.0版
3
3
  class WatchList
4
- METHOD = 'zhima.credit.watchlistii.get'
4
+ METHOD = 'zhima.credit.watchlistii.get'.freeze
5
5
 
6
6
  # https://b.zmxy.com.cn/technology/openDoc.htm?relInfo=zhima.credit.watchlistii.get@1.0@1.0&relType=API_DOC&LEFT_MENU_MODE=null
7
7
  def self.get(params, sys_options = {})
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zhima
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - sam
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-17 00:00:00.000000000 Z
11
+ date: 2017-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -98,6 +98,7 @@ files:
98
98
  - bin/console
99
99
  - bin/setup
100
100
  - lib/zhima.rb
101
+ - lib/zhima/antifraud.rb
101
102
  - lib/zhima/config.rb
102
103
  - lib/zhima/errors.rb
103
104
  - lib/zhima/ivs.rb