zhima 0.3.4 → 0.3.5

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 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