eloan 0.1.1 → 0.1.2

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
  SHA256:
3
- metadata.gz: 90ecdeb8bb5691a1297fa622503bc96d1f7af08b45287bd4f1790b2dba8541e7
4
- data.tar.gz: 78e417e1ab2452e31996d3db97af638571115c223fed98e0f7f6f7b30559e627
3
+ metadata.gz: 96f9a439006d13b140af13970bc1278d878b1e40f54139f3c52b2f4a5a8dd31a
4
+ data.tar.gz: e86d3f4b882a188b59ff00ce342cfd1e1fac1a7c85985af64cf792004be8ef9c
5
5
  SHA512:
6
- metadata.gz: 190bbf1dabe028f11318f80da8763b9a1e1e27a66cac292cc190f5b38a0fc0a3494c99b497e5974a0d857114137935ad2ec4d5b1ed716f3c758552152ca67132
7
- data.tar.gz: 54824364f89172c797eb2400ec4d511464650bf472d1288fb80983b1e11173cede24304f134a78732d34311d706a84476106031d2b05889059d1f676c958116f
6
+ metadata.gz: 71252e034e803d58fb55f3acb9570d3060c8695ca766ee9d44ee53259613cc672482301cefd009b4eb04239671569a96c7a0006e580c08796d71f54a14f71d29
7
+ data.tar.gz: 80830baa752c6223cd84eb29b457800570d2dd2bf47e5daf5f7a5995472180d49a809d80ffbdc0906d87dc19d7d400d90fa19bbe8891c0687ea24b53d6272d63
data/examples/example.rb CHANGED
@@ -20,7 +20,7 @@ data = {
20
20
  Eloan.api.pay(101, data)
21
21
 
22
22
  # 个人开户代扣签约绑卡(102)
23
- # code = 101
23
+ # code = 102
24
24
  # cert_id String 是 最长20 身份证号码
25
25
  # user_name String 是 最长80 用户姓名
26
26
  # card_no String 是 最长20 银行卡号
@@ -66,12 +66,12 @@ Eloan.api.pay(103, data)
66
66
  # user_name String 是 最长80 借款人姓名
67
67
  # user_card_no String 是 最长20 借款人银行卡号
68
68
  # user_amount String 是 最长14 借款人金额,小数点后两位数字 #.##
69
- # user_cash_method String 是 定长2 取现方式:T0:即时到账,手续费较高;T1:第二日到账,手续费较低, default: T1
69
+ # user_cash_method String 是 定长2 取现方式:T0:即时到账,手续费较高;T1:第二日到账,手续费较低, default: T0
70
70
  # merchant_cert_type String 否 定长2 受托商户证件类型,受托支付时必填:00-普通营业执照企业; 01-三证合一企业
71
71
  # merchant_cert_id String 否 最长30 受托商户证件号码,受托支付时必填
72
72
  # merchant_amount String 否 最长14 受托商户金额,小数点后两位数字#.##,受托支付时必填
73
73
  # installment_number String 是 最长3 分期期数
74
- # installment_rate String 是 最长5 分期利率,年化<=36.00%,小数点后两位数字#.##, 如22.22%,传参为:22.22
74
+ # installment_rate String 是 最长5 分期利率,年化<=36.00%,小数点后两位数字#.##, 如22.22%,传参为:22.22, default: 0.00
75
75
  # payment_method String 是 定长2 还款方式:00-等额本息;01-等额本金;02-一次性还本付息; 03-先息后本(即按频率付息、一次还本)
76
76
  # loan_comment String 否 最长256 备注
77
77
  # auditor String 否 最长64 审核人
data/lib/eloan/api.rb CHANGED
@@ -10,7 +10,6 @@ module Eloan
10
10
  include Helper::Payment
11
11
  include Helper::Request
12
12
 
13
-
14
13
  def pay code, data = {}
15
14
  request = request_params(code.to_s)
16
15
  url = generate_request_url(request[:url])
@@ -19,7 +18,10 @@ module Eloan
19
18
  options = handle_params(generate_default_params.merge(data))
20
19
  default_params = request[:default]
21
20
  default_params.keys.each{|k| options[k] = default_params[k] if options[k].blank? }
22
- options["signature"] = hexdigest(handle_request_data(request_method, url, options))
21
+
22
+ eloan_message = handle_request_data(request_method, url, options)
23
+ instance_variable_set(:@eloan_message, eloan_message)
24
+ options["signature"] = hexdigest(eloan_message)
23
25
 
24
26
  response = execute(request_method, url, options)
25
27
  end
data/lib/eloan/client.rb CHANGED
@@ -10,11 +10,13 @@ module Eloan
10
10
  @configurate = config
11
11
  end
12
12
 
13
- def execute(request_method, url, options)
14
- response = RestClient::Request.execute(method: request_method,
15
- url: URI.escape(url), headers: {params: options})
16
-
17
- p raw_response response
13
+ def execute(method, url, options)
14
+ if method == 'get'
15
+ response = RestClient.get(URI.escape(url), options)
16
+ else
17
+ response = RestClient.post(URI.escape(url), options)
18
+ end
19
+ raw_response response
18
20
  end
19
21
 
20
22
  end
@@ -6,5 +6,9 @@ module Eloan
6
6
  def initialize
7
7
  @env = 'development'
8
8
  end
9
+
10
+ def production?
11
+ env == 'production'
12
+ end
9
13
  end
10
14
  end
@@ -1,6 +1,7 @@
1
1
  module Eloan
2
2
  module Helper
3
3
  module Payment
4
+
4
5
  # 生成默认参数
5
6
  def generate_default_params
6
7
  {
@@ -13,10 +14,9 @@ module Eloan
13
14
  end
14
15
 
15
16
  private
16
- # 生成流水
17
+ # 生成长度为28的流水
17
18
  def generate_request_seq
18
- length = 6 - configurate.platform.length
19
- _ljust = 8 + length
19
+ _ljust = 14 - configurate.platform.length
20
20
  configurate.platform + Time.now.strftime("%Y%m%d%H%M%S") + rand(1000 * 1000).to_s.rjust(_ljust, '0')
21
21
  end
22
22
 
@@ -8,7 +8,7 @@ module Eloan
8
8
  {
9
9
  url: '/v1/users/add-cash-card',
10
10
  method: 'POST',
11
- notity: true,
11
+ notify: true,
12
12
  default: {
13
13
  'cert_type' => '00',
14
14
  'card_type' => 'D',
@@ -19,7 +19,7 @@ module Eloan
19
19
  {
20
20
  url: '/v1/users/add-withhold-card',
21
21
  method: 'POST',
22
- notity: true,
22
+ notify: true,
23
23
  default: {
24
24
  'cert_type' => '00',
25
25
  'card_type' => 'D',
@@ -38,7 +38,7 @@ module Eloan
38
38
  {
39
39
  url: '/v1/trade/loan',
40
40
  method: 'POST',
41
- notity: true,
41
+ notify: true,
42
42
  default: {
43
43
  'business_type' => '00',
44
44
  'product_type' => '00',
@@ -47,9 +47,10 @@ module Eloan
47
47
  'loan_period_type' => '01',
48
48
  'entrusted_flag' => 'N',
49
49
  'user_cert_type' => '00',
50
- 'user_cash_method' => 'T1',
50
+ 'user_cash_method' => 'T0',
51
51
  'installment_number' => '1',
52
52
  'payment_method' => '02',
53
+ 'installment_rate' => '0.00',
53
54
  'bg_return_url' => configurate.bg_return_url
54
55
  }
55
56
  }
@@ -57,7 +58,7 @@ module Eloan
57
58
  {
58
59
  url: '/v1/trade/repay',
59
60
  method: 'POST',
60
- notity: true,
61
+ notify: true,
61
62
  default: {
62
63
  'business_type' => '00',
63
64
  'product_type' => '00',
@@ -72,7 +73,7 @@ module Eloan
72
73
  {
73
74
  url: '/v1/trade/loan/cash',
74
75
  method: 'POST',
75
- notity: true,
76
+ notify: true,
76
77
  default: {
77
78
  'bg_return_url' => configurate.bg_return_url
78
79
  }
@@ -1,6 +1,7 @@
1
1
  module Eloan
2
2
  module Helper
3
3
  module Service
4
+ attr_accessor :chaxue
4
5
  def generate_request_url(url='')
5
6
  [default_url, url] * ''
6
7
  end
@@ -18,28 +19,30 @@ module Eloan
18
19
  if response_code.last(2).to_s == '00'
19
20
  status, code, message = 'success', 200, 'success'
20
21
  else
21
- if request_params(response_code.first(3))[:notify] && response_code.last(2).to_s == '00'
22
+ if request_params(response_code.first(3))[:notify] && response_code.last(2).to_s == '01'
22
23
  status, code, message = 'success', 201, '处理中'
23
24
  else
24
25
  message = response['bind_error_message'].present? ? response['bind_error_message'] : response['response_message']
25
26
  status, code = 'fail', 202
26
27
  end
27
28
  end
28
- {status: status, code: code, message: message, data: response}
29
+
30
+ response = {status: status, code: code, message: message, data: response}
31
+ unless configurate.production?
32
+ eloan_message = instance_variable_get(:@eloan_message)
33
+ response = response.merge(eloan_message: eloan_message)
34
+ end
29
35
  end
30
36
 
31
37
  private
32
38
 
33
39
  def default_url
34
- if production?
40
+ if configurate.production?
41
+ p chaxue
35
42
  else
36
43
  'https://mertest.cloudpnr.com/api/eloan'
37
44
  end
38
45
  end
39
-
40
- def production?
41
- configurate.env == 'production'
42
- end
43
46
  end
44
47
  end
45
48
  end
data/lib/eloan/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eloan
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eloan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - rqiang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-25 00:00:00.000000000 Z
11
+ date: 2019-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler