ccb_connect_client 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ccb_connect_client/service.rb +15 -14
- data/lib/ccb_connect_client/version.rb +1 -1
- data/spec/ccb_connect_client_service_spec.rb +8 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 31b10d941b84128279c3814498c820c7e326a64a
|
4
|
+
data.tar.gz: 29281c41a38c4c3f80250b2427f704f73b628427
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13fc72d0b18b2f3e127f57e22588f53d7ac4778b39ca2e819c43a1b93f4c8615d05ef44fcb92f791402fbf2675aed368859b4013446ebb27b6d3dbf599fd72c9
|
7
|
+
data.tar.gz: 7bfc9d379a36a6cf8f0035dd895c257bcbefff34993c9aa5b0a6421d87116910227f4339c2bd53576d92f82d5eaf23c06b14f5d3060d7f56aec89e365b0d44a5
|
@@ -18,32 +18,33 @@ module CcbConnectClient
|
|
18
18
|
class Handler
|
19
19
|
|
20
20
|
def response_handler(request, response)
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
result.successful = true
|
31
|
-
end
|
21
|
+
res = http_post_form CcbConnectClient.server, request.to_xml
|
22
|
+
doc = Document.new(res.body)
|
23
|
+
|
24
|
+
if doc.elements["TX/RETURN_CODE"].text != "000000"
|
25
|
+
result = BaseResponse.from_xml res.body
|
26
|
+
result.successful = false
|
27
|
+
else
|
28
|
+
result = response.from_xml res.body
|
29
|
+
result.successful = true
|
32
30
|
end
|
31
|
+
result
|
33
32
|
end
|
34
33
|
|
35
34
|
private
|
35
|
+
|
36
36
|
def http_post_form(url, xml)
|
37
37
|
uri = URI.parse(url)
|
38
38
|
req = Net::HTTP::Post.new(uri)
|
39
39
|
req["Content-Type"] = "application/x-www-form-urlencoded"
|
40
|
+
# We don't accpet gzip encoding since the http.request method will raise the EOF error
|
40
41
|
req["Accept-Encoding"] = "identity"
|
41
|
-
Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
|
42
|
+
res = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
|
42
43
|
req.set_form_data('requestXml' => xml)
|
43
|
-
|
44
|
-
yield res
|
44
|
+
http.request req
|
45
45
|
end
|
46
46
|
end
|
47
|
+
|
47
48
|
end
|
48
49
|
end
|
49
50
|
end
|
@@ -10,9 +10,11 @@ describe CcbConnectClient::Service do
|
|
10
10
|
CcbConnectClient.password = file_lines[3].gsub("\n", '').split(pattern='\'')[1]
|
11
11
|
CcbConnectClient.language = file_lines[4].split(pattern='\'')[1]
|
12
12
|
request = CcbConnectClient::RefundRequest.new
|
13
|
-
request.money =
|
13
|
+
request.money = 0.01
|
14
14
|
request.order = 'L238201903071717YKIHNW'
|
15
|
-
CcbConnectClient::Service.refund request
|
15
|
+
response = CcbConnectClient::Service.refund request
|
16
|
+
p response
|
17
|
+
expect(response).to be_instance_of(CcbConnectClient::RefundResponse)
|
16
18
|
end
|
17
19
|
|
18
20
|
it 'PaymentDetailsQueryRequest should be successful' do
|
@@ -42,6 +44,8 @@ describe CcbConnectClient::Service do
|
|
42
44
|
# request.pos_code = '20190306'
|
43
45
|
request.status = '3'
|
44
46
|
# request.mrch_no = '20190306'
|
45
|
-
CcbConnectClient::Service.payment_details_query request
|
47
|
+
response = CcbConnectClient::Service.payment_details_query request
|
48
|
+
p response
|
49
|
+
expect(response).to be_instance_of(CcbConnectClient::PaymentDetailsQueryResponse)
|
46
50
|
end
|
47
|
-
end
|
51
|
+
end
|