ccb_connect_client 0.1.4 → 0.1.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: 31b10d941b84128279c3814498c820c7e326a64a
4
- data.tar.gz: 29281c41a38c4c3f80250b2427f704f73b628427
3
+ metadata.gz: 67e77e2c3648af2da24320c1622b623913d8edbd
4
+ data.tar.gz: 0d259c41a5803e84d973c053a3f1cf62cb419f54
5
5
  SHA512:
6
- metadata.gz: 13fc72d0b18b2f3e127f57e22588f53d7ac4778b39ca2e819c43a1b93f4c8615d05ef44fcb92f791402fbf2675aed368859b4013446ebb27b6d3dbf599fd72c9
7
- data.tar.gz: 7bfc9d379a36a6cf8f0035dd895c257bcbefff34993c9aa5b0a6421d87116910227f4339c2bd53576d92f82d5eaf23c06b14f5d3060d7f56aec89e365b0d44a5
6
+ metadata.gz: 7359a9523a0d2331a96e54e4cbb9968a9bbbc2536ac820729eb1dbb2b07bc6c2ae00bf535e884aed680aeffc1dc93f300e6c8689dbadf14e2a3ce7b81ebd1d9e
7
+ data.tar.gz: '095549392561eb2a53b80302b432868b31e3dc908193d6db84fc7b8a50d2133e25d2b4fda24b3e1c85aa389852cc8265ff46607ef96a0faf71aaf48bc05f18d7'
data/README.md CHANGED
@@ -1 +1,97 @@
1
- ccb payment connect client
1
+ ccb-connect-client
2
+ =========
3
+
4
+ 建行外联平台 Ruby Gem, 非官方,provided by 珠海小可乐科技。
5
+
6
+ Table of Contents
7
+ -----------------
8
+ * [Installation](#installation)
9
+ * [Quick Start](#quick-start)
10
+ * [Library Overview](#library-overview)
11
+ * [License](#license)
12
+ * [Contact](#contact)
13
+
14
+
15
+ Installation
16
+ ------------
17
+
18
+ You may get the latest stable version from [Rubygems]:
19
+
20
+ $ gem install ccb-connect-client
21
+
22
+ For bundler:
23
+
24
+ ~~~ ruby
25
+ gem 'ccb-connect-client'
26
+ ~~~
27
+
28
+
29
+ Quick Start
30
+ -----------
31
+
32
+ ~~~ ruby
33
+ require 'rubygems'
34
+ require 'ccb-connect-client'
35
+
36
+ # Basic setup, could be done in a rails initializer
37
+ CcbConnectClient.server = 'your CCB_EBSClient address'
38
+ CcbConnectClient.cust_id = 'your cust_id'
39
+ CcbConnectClient.user_id = 'your user_id'
40
+ CcbConnectClient.password = 'your password'
41
+ CcbConnectClient.language = 'your language, Chinese is CN '
42
+
43
+ # Refund example
44
+ request = CcbConnectClient::RefundRequest.new
45
+ request.money = 0.01
46
+ request.order = 'L238201903071717YKIHNW'
47
+ CcbConnectClient::Service.refund request
48
+
49
+ # PaymentDetailsQuery example
50
+ request = CcbConnectClient::PaymentDetailsQueryRequest.new
51
+ # When query by order, the time period does not work.
52
+ # request.order = 'L238201903071717YKIHNW'
53
+ request.start_day = '20190306'
54
+ request.start_hour = '00'
55
+ request.start_min = '00'
56
+ request.end_day = '20190312'
57
+ request.end_hour = '14'
58
+ request.end_min = '20'
59
+ request.kind = '1'
60
+ request.dexcel = '1'
61
+ request.norderby = '1'
62
+ request.page = '1'
63
+ request.status = '3'
64
+ response = CcbConnectClient::Service.payment_details_query request
65
+ ~~~
66
+
67
+
68
+ Library Overview
69
+ ----------------
70
+
71
+ ### Connecting ###
72
+
73
+ TLS/SSL is enabled by default:
74
+
75
+ ~~~ ruby
76
+ Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
77
+ ~~~
78
+
79
+ License
80
+ -------
81
+
82
+ The ccb-connect-client ruby gem is licensed under the terms of the MIT license.
83
+ See the file LICENSE for details.
84
+
85
+
86
+ Contact
87
+ -------
88
+
89
+ * Author: LCola
90
+ * Email: developer@lcola.cn
91
+ * Home Page: [LCola]
92
+
93
+
94
+
95
+ [LCola]: https://www.lcola.cn/
96
+ [Rubygems]: http://rubygems.org/
97
+ [Bundler]: http://bundler.io/
@@ -13,8 +13,8 @@ module CcbConnectClient
13
13
  response.return_code = doc.elements["TX/RETURN_CODE"].text
14
14
  response.return_msg = doc.elements["TX/RETURN_MSG"].text
15
15
 
16
- if CcbConnectClient.debug_mode
17
- puts "BaseResponse response : #{response.inspect}"
16
+ if CcbConnectClient.debug_mode && CcbConnectClient.logger
17
+ CcbConnectClient.logger.debug("BaseResponse response : #{response.inspect}")
18
18
  end
19
19
  response
20
20
  end
@@ -41,10 +41,6 @@ module CcbConnectClient
41
41
  }
42
42
  }
43
43
  target = xml.target!
44
- if CcbConnectClient.debug_mode
45
- puts "RefundRequest xml : #{target}"
46
- end
47
- target
48
44
  end
49
45
  end
50
46
  end
@@ -14,13 +14,6 @@ module CcbConnectClient
14
14
  def from_xml xml
15
15
  response = PaymentDetailsQueryResponse.new
16
16
  doc = Document.new(xml)
17
- # logger = Logger.new('foo.log', 'monthly')
18
- # logger.datetime_format = '%Y-%m-%d %H:%M:%S'
19
-
20
- if CcbConnectClient.debug_mode
21
- # logger.info("PaymentDetailsQueryResponse response xml: #{doc}")
22
- puts "PaymentDetailsQueryResponse response xml: #{doc}"
23
- end
24
17
 
25
18
  response.request_sn = doc.elements["TX/REQUEST_SN"].text
26
19
  response.cust_id = doc.elements["TX/CUST_ID"].text
@@ -65,9 +58,8 @@ module CcbConnectClient
65
58
  response.list.push(response_element)
66
59
  }
67
60
 
68
- if CcbConnectClient.debug_mode
69
- # logger.info("PaymentDetailsQueryResponse response xml: #{doc}")
70
- puts "PaymentDetailsQueryResponse response object: #{response.inspect}"
61
+ if CcbConnectClient.debug_mode && CcbConnectClient.logger
62
+ CcbConnectClient.logger.debug("PaymentDetailsQueryResponse response object : #{response.inspect}")
71
63
  end
72
64
  response
73
65
  end
@@ -28,10 +28,6 @@ module CcbConnectClient
28
28
  xml.SIGN_INFO "#{@sign_info}"
29
29
  }
30
30
  target = xml.target!
31
- if CcbConnectClient.debug_mode
32
- puts "RefundRequest xml : #{target}"
33
- end
34
- target
35
31
  end
36
32
  end
37
33
  end
@@ -14,10 +14,6 @@ module CcbConnectClient
14
14
  response = RefundResponse.new
15
15
  doc = Document.new(xml)
16
16
 
17
- if CcbConnectClient.debug_mode
18
- puts "RefundResponse response xml: #{doc}"
19
- end
20
-
21
17
  response.request_sn = doc.elements["TX/REQUEST_SN"].text
22
18
  response.cust_id = doc.elements["TX/CUST_ID"].text
23
19
  response.tx_code = doc.elements["TX/TX_CODE"].text
@@ -29,8 +25,8 @@ module CcbConnectClient
29
25
  response.pay_amount = doc.elements["TX/TX_INFO/PAY_AMOUNT"].text
30
26
  response.amount = doc.elements["TX/TX_INFO/AMOUNT"].text
31
27
 
32
- if CcbConnectClient.debug_mode
33
- puts "RefundResponse response object: #{response.inspect}"
28
+ if CcbConnectClient.debug_mode && CcbConnectClient.logger
29
+ CcbConnectClient.logger.debug("RefundResponse response object : #{response.inspect}")
34
30
  end
35
31
  response
36
32
  end
@@ -40,9 +40,16 @@ module CcbConnectClient
40
40
  # We don't accpet gzip encoding since the http.request method will raise the EOF error
41
41
  req["Accept-Encoding"] = "identity"
42
42
  res = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
43
+ if CcbConnectClient.debug_mode && CcbConnectClient.logger
44
+ CcbConnectClient.logger.debug("CCB Connect requset xml : #{xml}")
45
+ end
43
46
  req.set_form_data('requestXml' => xml)
44
47
  http.request req
45
48
  end
49
+ if CcbConnectClient.debug_mode && CcbConnectClient.logger
50
+ CcbConnectClient.logger.debug("CCB Connect response: #{res.body}")
51
+ end
52
+ res
46
53
  end
47
54
 
48
55
  end
@@ -1,3 +1,3 @@
1
1
  module CcbConnectClient
2
- VERSION = '0.1.4'.freeze
2
+ VERSION = '0.1.5'.freeze
3
3
  end
@@ -1,33 +1,31 @@
1
1
  require 'spec_helper'
2
+ require 'yaml'
3
+ require 'logger'
2
4
 
3
5
  describe CcbConnectClient::Service do
4
6
 
7
+ before do
8
+ server_info = YAML.load_file('./spec/fixtures/server_info.yml')
9
+ CcbConnectClient.server = server_info['server']
10
+ CcbConnectClient.cust_id = server_info['cust_id']
11
+ CcbConnectClient.user_id = server_info['user_id']
12
+ CcbConnectClient.password = server_info['password']
13
+ CcbConnectClient.language = server_info['language']
14
+ CcbConnectClient.logger = Logger.new STDOUT
15
+ end
16
+
17
+
5
18
  it 'RefundRequest should be successful' do
6
- file_lines = File.open("./spec/fixtures/Adminfile.txt","r").readlines
7
- CcbConnectClient.server = file_lines[0].gsub("\n", '').split(pattern='\'')[1]
8
- CcbConnectClient.cust_id = file_lines[1].gsub("\n", '').split(pattern='\'')[1]
9
- CcbConnectClient.user_id = file_lines[2].gsub("\n", '').split(pattern='\'')[1]
10
- CcbConnectClient.password = file_lines[3].gsub("\n", '').split(pattern='\'')[1]
11
- CcbConnectClient.language = file_lines[4].split(pattern='\'')[1]
12
19
  request = CcbConnectClient::RefundRequest.new
13
20
  request.money = 0.01
14
21
  request.order = 'L238201903071717YKIHNW'
15
22
  response = CcbConnectClient::Service.refund request
16
- p response
17
23
  expect(response).to be_instance_of(CcbConnectClient::RefundResponse)
18
24
  end
19
25
 
20
26
  it 'PaymentDetailsQueryRequest should be successful' do
21
- file_lines = File.open("./spec/fixtures/Adminfile.txt","r").readlines
22
- CcbConnectClient.server = file_lines[0].gsub("\n", '').split(pattern='\'')[1]
23
- CcbConnectClient.cust_id = file_lines[1].gsub("\n", '').split(pattern='\'')[1]
24
- CcbConnectClient.user_id = file_lines[2].gsub("\n", '').split(pattern='\'')[1]
25
- CcbConnectClient.password = file_lines[3].gsub("\n", '').split(pattern='\'')[1]
26
- CcbConnectClient.language = file_lines[4].split(pattern='\'')[1]
27
27
  request = CcbConnectClient::PaymentDetailsQueryRequest.new
28
28
  # request.money = 7.01
29
- # :start_day, :start_hour, :start_min, :end_day, :end_hour, :end_min, :kind,
30
- # :account, :dexcel, :money, :norderby, :page, :pos_code, :status, :mrch_no
31
29
  # request.order = 'L238201903071717YKIHNW'
32
30
  request.start_day = '20190306'
33
31
  request.start_hour = '00'
@@ -45,7 +43,6 @@ describe CcbConnectClient::Service do
45
43
  request.status = '3'
46
44
  # request.mrch_no = '20190306'
47
45
  response = CcbConnectClient::Service.payment_details_query request
48
- p response
49
46
  expect(response).to be_instance_of(CcbConnectClient::PaymentDetailsQueryResponse)
50
47
  end
51
48
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ccb_connect_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - LCola