rails-gp-webpay 0.2.4 → 0.2.8

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: 7caabd56b08f1dfb22f11c8adf9ae7203f7168e519f61053e0f6824c8df6de24
4
- data.tar.gz: 7407825456302d22c9b805009e3f77d89643c70b09d7627effa57c89b6f82177
3
+ metadata.gz: a0f327b8f7b609ff6a7a62d97bf0d0a182cfd6513145d2aa8d224600d4daf7e6
4
+ data.tar.gz: 045ed7d32e3f2289cbf27f93c8ad7e9fee677a6cd4e2be9c2f47324f271ef5fe
5
5
  SHA512:
6
- metadata.gz: dfa85755e1d2295c46eafe73d280cc1fd4ececb9702931b45e5c0de9ac3dbdc30137eb88a4838ff3e3fab99b06d6618f4189900861635188eb02f15cc2a10239
7
- data.tar.gz: c5b76adde49e69714308289a70b3dfd8cd8f08fbdd67d0a0073063b0f0518657fd1c27490b01650780a4d26b0f17d7b74a46928be89e48fa2db5a2b9b45e1724
6
+ metadata.gz: 203e91a7fe8952ccc3f58924048fc5e57f028c86b19a9217a22b13000911470b55813e77ec5bce4a8dfea3be9b19bd0deb4d325f946e351e03c42a15a77232c5
7
+ data.tar.gz: 9ccc0518abb878d34a533af017c60b85efe5c0b6b36f2c63bc1ee882d436f11e946d93039bfda4f73b938ecf0968425030f0793e32d09b49930ea3d25154a908
data/changelog.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.7
4
+ Pr and Sr codes in stubs
5
+
6
+ ## 0.2.6
7
+ Add merchant number to tests, add default attributes to requests
8
+
3
9
  ## 0.2.4
4
10
  Increase savon timeout to 5 minutes
5
11
 
@@ -21,8 +21,7 @@ module GpWebpay
21
21
  end
22
22
 
23
23
  def find_configuration_by_merchant_number(merchant_number)
24
-
25
- config = @configurations.find { |_key, value| puts _key;value.merchant_number.to_s == merchant_number.to_s }
24
+ config = @configurations.find { |_key, value| value.merchant_number.to_s == merchant_number.to_s }
26
25
  return nil if config.blank?
27
26
 
28
27
  config[-1]
@@ -1,5 +1,5 @@
1
1
  require 'savon/mock/spec_helper'
2
-
2
+ # rubocop:disable Metrics/ParameterLists
3
3
  module GpWebpay
4
4
  module SpecHelper
5
5
  class Interface
@@ -24,20 +24,28 @@ module GpWebpay
24
24
  def stub_card_token(token, status: 'VERIFIED', success: true, valid: true)
25
25
  allow(GpWebpay::Ws::Services::GetTokenStatus)
26
26
  .to receive(:call).with(hash_including(token_data: token, message_id: anything))
27
- .and_return(instance_double(GpWebpay::Ws::WsResponse, valid?: valid, success?: success, status: status))
27
+ .and_return(instance_double(GpWebpay::Ws::WsResponse,
28
+ valid?: valid, success?: success, status: status,
29
+ pr_code: (success ? '0' : '123'), sr_code: (success ? '0' : '4'),
30
+ original_response: { pr_code: 0, sr_code: 0 }))
28
31
  end
29
32
 
30
33
  def stub_master_payment_status(payment_number, status: 'OK', success: true, valid: true)
31
34
  allow(GpWebpay::Ws::Services::GetMasterPaymentStatus)
32
35
  .to receive(:call).with(hash_including(payment_number: payment_number, message_id: anything))
33
- .and_return(instance_double(GpWebpay::Ws::WsResponse, valid?: valid, success?: success, status: status))
36
+ .and_return(instance_double(GpWebpay::Ws::WsResponse,
37
+ valid?: valid, success?: success, status: status,
38
+ pr_code: (success ? '0' : '123'), sr_code: (success ? '0' : '4'),
39
+ original_response: { pr_code: 0, sr_code: 0 }))
34
40
  end
35
41
 
36
- def stub_payment_status(payment_number, status: 'VERIFIED', sub_status: 'SETTLED', success: true, valid: true)
42
+ def stub_payment_status(payment_number, merchant_number: nil, status: 'VERIFIED', sub_status: 'SETTLED', success: true, valid: true)
37
43
  allow(GpWebpay::Ws::Services::GetPaymentStatus)
38
- .to receive(:call).with(hash_including(payment_number: payment_number, message_id: anything))
44
+ .to receive(:call).with(hash_including(payment_number: payment_number, message_id: anything), merchant_number: merchant_number)
39
45
  .and_return(instance_double(GpWebpay::Ws::WsResponse,
40
46
  valid?: valid, success?: success, status: status,
47
+ pr_code: success ? '0' : '123', sr_code: success ? '0' : '4',
48
+ original_response: { pr_code: 0, sr_code: 0 },
41
49
  params: { sub_status: sub_status }))
42
50
  end
43
51
 
@@ -45,55 +53,58 @@ module GpWebpay
45
53
  allow(GpWebpay::Ws::Services::ProcessUsageBasedPayment)
46
54
  .to receive(:call).with(
47
55
  hash_including(
48
- {
49
- message_id: anything,
56
+ { message_id: anything,
50
57
  payment_number: anything,
51
58
  order_number: anything,
52
59
  currency_code: anything,
53
- capture_flag: '1'
54
- }.merge(attributes)
60
+ capture_flag: '1' }.merge(attributes)
55
61
  ),
56
- merchant_number: merchant_number,
62
+ merchant_number: merchant_number
57
63
  ).and_return(instance_double(GpWebpay::Ws::WsResponse,
58
64
  valid?: valid, success?: success, status: status, result_text: result_text,
59
65
  pr_code: success ? '0' : '123', sr_code: success ? '0' : '4',
66
+ original_response: { pr_code: 0, sr_code: 0 },
60
67
  params: { token_data: response_token_data || attributes[:token_data] }))
61
68
  end
62
69
 
63
- def stub_token_revoke(token, valid: true, success: true, status: 'REVOKED', result_text: 'OK')
70
+ def stub_token_revoke(token, merchant_number: nil, valid: true, success: true, status: 'REVOKED', result_text: 'OK')
64
71
  allow(GpWebpay::Ws::Services::ProcessTokenRevoke)
65
72
  .to receive(:call).with(
66
- hash_including({ message_id: anything }.merge(token_data: token))
73
+ hash_including({ message_id: anything }.merge(token_data: token)), merchant_number: merchant_number
67
74
  ).and_return(instance_double(GpWebpay::Ws::WsResponse,
68
75
  valid?: valid, success?: success, status: status, result_text: result_text,
69
- pr_code: success ? '0' : '123', sr_code: success ? '0' : '4'))
76
+ pr_code: (success ? '0' : '123'), sr_code: (success ? '0' : '4'),
77
+ original_response: { pr_code: 0, sr_code: 0 }))
70
78
  end
71
79
 
72
- def stub_refund_payment(attributes, valid: true, success: true, status: '', result_text: 'OK')
80
+ def stub_refund_payment(attributes, merchant_number: nil, valid: true, success: true, status: '', result_text: 'OK')
73
81
  allow(GpWebpay::Ws::Services::ProcessRefundPayment)
74
82
  .to receive(:call).with(
75
- hash_including({ message_id: anything }.merge(attributes))
83
+ hash_including({ message_id: anything }.merge(attributes)), merchant_number: merchant_number
76
84
  ).and_return(instance_double(GpWebpay::Ws::WsResponse,
77
85
  valid?: valid, success?: success, status: status, result_text: result_text,
78
- pr_code: success ? '0' : '123', sr_code: success ? '0' : '4'))
86
+ pr_code: success ? '0' : '123', sr_code: success ? '0' : '4',
87
+ original_response: { pr_code: 0, sr_code: 0 }))
79
88
  end
80
89
 
81
- def stub_capture_reverse(attributes, valid: true, success: true, status: '', result_text: 'OK')
90
+ def stub_capture_reverse(attributes, merchant_number: nil, valid: true, success: true, status: '', result_text: 'OK')
82
91
  allow(GpWebpay::Ws::Services::ProcessCaptureReverse)
83
92
  .to receive(:call).with(
84
- hash_including({ message_id: anything }.merge(attributes))
93
+ hash_including({ message_id: anything }.merge(attributes)), merchant_number: merchant_number
85
94
  ).and_return(instance_double(GpWebpay::Ws::WsResponse,
86
95
  valid?: valid, success?: success, status: status, result_text: result_text,
87
- pr_code: success ? '0' : '123', sr_code: success ? '0' : '4'))
96
+ pr_code: success ? '0' : '123', sr_code: success ? '0' : '4',
97
+ original_response: { pr_code: 0, sr_code: 0 }))
88
98
  end
89
99
 
90
- def stub_cancel_capture(attributes, valid: true, success: true, status: '', result_text: 'OK')
100
+ def stub_cancel_capture(attributes, merchant_number: nil, valid: true, success: true, status: '', result_text: 'OK')
91
101
  allow(GpWebpay::Ws::Services::ProcessCancelCapture)
92
102
  .to receive(:call).with(
93
- hash_including({ message_id: anything }.merge(attributes))
103
+ hash_including({ message_id: anything }.merge(attributes)), merchant_number: merchant_number
94
104
  ).and_return(instance_double(GpWebpay::Ws::WsResponse,
95
105
  valid?: valid, success?: success, status: status, result_text: result_text,
96
- pr_code: success ? '0' : '123', sr_code: success ? '0' : '4'))
106
+ pr_code: success ? '0' : '123', sr_code: success ? '0' : '4',
107
+ original_response: { pr_code: 0, sr_code: 0 }))
97
108
  end
98
109
  end
99
110
 
@@ -102,3 +113,4 @@ module GpWebpay
102
113
  end
103
114
  end
104
115
  end
116
+ # rubocop:enable Metrics/ParameterLists
@@ -1,3 +1,3 @@
1
1
  module GpWebpay
2
- VERSION = '0.2.4'.freeze
2
+ VERSION = '0.2.8'.freeze
3
3
  end
@@ -23,6 +23,7 @@ module GpWebpay
23
23
  RESPONSE_NAME = 'override_me'.freeze
24
24
  RESPONSE_ENTITY_NAME = 'override_me'.freeze
25
25
  SERVICE_EXCEPTION = :service_exception
26
+ DEFAULT_ATTRIBUTES = {}.freeze
26
27
 
27
28
  def initialize(attributes, merchant_number: :default)
28
29
  @attributes = attributes
@@ -32,9 +33,10 @@ module GpWebpay
32
33
  end
33
34
 
34
35
  def call
35
- attrs = WsRequest.new(attributes.merge(provider: config.provider, merchant_number: config.merchant_number)).to_gpwebpay
36
+ attrs = WsRequest.new(final_attributes).to_gpwebpay
36
37
 
37
- res = client.call(self.class::OPERATION_NAME, message: { self.class::REQUEST_NAME => attributes_with_signature(attrs) })
38
+ Rails.logger.debug([self.class::OPERATION_NAME, { message: { self.class::REQUEST_NAME => attributes_with_signature(attrs) } }])
39
+ res = client.call(self.class::OPERATION_NAME, { message: { self.class::REQUEST_NAME => attributes_with_signature(attrs) } })
38
40
  WsResponse.from_success(res.body, self.class::RESPONSE_NAME, self.class::RESPONSE_ENTITY_NAME, config.merchant_number)
39
41
  rescue Savon::HTTPError => e
40
42
  rescue_from_http(e)
@@ -44,6 +46,12 @@ module GpWebpay
44
46
 
45
47
  protected
46
48
 
49
+ def final_attributes
50
+ {}.merge(self.class::DEFAULT_ATTRIBUTES,
51
+ attributes,
52
+ { provider: config.provider, merchant_number: config.merchant_number })
53
+ end
54
+
47
55
  def digest_text(attrs)
48
56
  attrs.values.join('|')
49
57
  end
@@ -14,6 +14,7 @@ module GpWebpay
14
14
  REQUEST_NAME = :capture_reverse_request
15
15
  RESPONSE_NAME = :process_capture_reverse_response
16
16
  RESPONSE_ENTITY_NAME = :capture_reverse_response
17
+ DEFAULT_ATTRIBUTES = { capture_number: 1 }.freeze # 1 is recommended
17
18
  end
18
19
  end
19
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-gp-webpay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lubomir Vnenk
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-14 00:00:00.000000000 Z
11
+ date: 2021-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport