buckaruby 1.7.0 → 2.0.1

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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2 -54
  3. data/README.md +54 -18
  4. data/lib/buckaruby/action.rb +4 -4
  5. data/lib/buckaruby/amount.rb +25 -0
  6. data/lib/buckaruby/configuration.rb +35 -40
  7. data/lib/buckaruby/currency.rb +3 -3
  8. data/lib/buckaruby/exception.rb +9 -8
  9. data/lib/buckaruby/gateway.rb +64 -72
  10. data/lib/buckaruby/operation.rb +5 -5
  11. data/lib/buckaruby/payment_method.rb +20 -12
  12. data/lib/buckaruby/request.rb +62 -68
  13. data/lib/buckaruby/response.rb +69 -67
  14. data/lib/buckaruby/signature.rb +26 -7
  15. data/lib/buckaruby/transaction_type.rb +24 -21
  16. data/lib/buckaruby/version.rb +1 -1
  17. data/lib/buckaruby.rb +1 -2
  18. metadata +16 -97
  19. data/.github/workflows/test.yml +0 -23
  20. data/.gitignore +0 -19
  21. data/.rubocop.yml +0 -107
  22. data/Gemfile +0 -12
  23. data/Gemfile.lock +0 -71
  24. data/Rakefile +0 -10
  25. data/buckaruby.gemspec +0 -28
  26. data/lib/buckaruby/iban.rb +0 -29
  27. data/lib/buckaruby/ideal.rb +0 -21
  28. data/spec/buckaruby/configuration_spec.rb +0 -113
  29. data/spec/buckaruby/field_mapper_spec.rb +0 -69
  30. data/spec/buckaruby/gateway_spec.rb +0 -803
  31. data/spec/buckaruby/iban_spec.rb +0 -75
  32. data/spec/buckaruby/signature_spec.rb +0 -89
  33. data/spec/buckaruby/support/case_insensitive_hash_spec.rb +0 -74
  34. data/spec/fixtures/responses/callback_invalid_signature.txt +0 -1
  35. data/spec/fixtures/responses/callback_payment_amex.txt +0 -1
  36. data/spec/fixtures/responses/callback_payment_cancelled.txt +0 -1
  37. data/spec/fixtures/responses/callback_payment_empty_transaction_type.txt +0 -1
  38. data/spec/fixtures/responses/callback_payment_failed.txt +0 -1
  39. data/spec/fixtures/responses/callback_payment_giropay.txt +0 -1
  40. data/spec/fixtures/responses/callback_payment_pending.txt +0 -1
  41. data/spec/fixtures/responses/callback_payment_rejected.txt +0 -1
  42. data/spec/fixtures/responses/callback_payment_sepa.txt +0 -1
  43. data/spec/fixtures/responses/callback_payment_sofort.txt +0 -1
  44. data/spec/fixtures/responses/callback_payment_success.txt +0 -1
  45. data/spec/fixtures/responses/callback_payment_visa.txt +0 -1
  46. data/spec/fixtures/responses/callback_recurrent_sepa.txt +0 -1
  47. data/spec/fixtures/responses/callback_recurrent_visa.txt +0 -1
  48. data/spec/fixtures/responses/callback_refund_amex.txt +0 -1
  49. data/spec/fixtures/responses/callback_refund_ideal.txt +0 -1
  50. data/spec/fixtures/responses/callback_refund_paypal.txt +0 -1
  51. data/spec/fixtures/responses/callback_reversal_paypal.txt +0 -1
  52. data/spec/fixtures/responses/callback_reversal_sepa.txt +0 -1
  53. data/spec/fixtures/responses/callback_valid_signature.txt +0 -1
  54. data/spec/fixtures/responses/cancel_success.txt +0 -1
  55. data/spec/fixtures/responses/recurrent_transaction_success.txt +0 -1
  56. data/spec/fixtures/responses/refund_info_error.txt +0 -1
  57. data/spec/fixtures/responses/refund_info_success.txt +0 -1
  58. data/spec/fixtures/responses/refund_transaction_success.txt +0 -1
  59. data/spec/fixtures/responses/setup_transaction_success.txt +0 -1
  60. data/spec/fixtures/responses/specify_transaction_success.txt +0 -1
  61. data/spec/fixtures/responses/status_cancellable.txt +0 -1
  62. data/spec/fixtures/responses/status_noncancellable.txt +0 -1
  63. data/spec/fixtures/responses/status_success.txt +0 -1
  64. data/spec/spec_helper.rb +0 -16
@@ -8,17 +8,17 @@ require 'date'
8
8
  module Buckaruby
9
9
  # Base class for any response.
10
10
  class Response
11
- attr_reader :params
11
+ attr_reader :response
12
12
 
13
13
  def initialize(body, config)
14
- @logger = config.logger
15
-
16
14
  @response = parse_response(body)
17
- @params = Support::CaseInsensitiveHash.new(@response)
18
15
 
19
- @logger.debug("[response] params: #{params.inspect}")
16
+ logger = config.logger
17
+ logger.debug("[response] params: #{params.inspect}")
18
+ end
20
19
 
21
- verify_signature!(@response, config)
20
+ def params
21
+ @params ||= Support::CaseInsensitiveHash.new(response)
22
22
  end
23
23
 
24
24
  def status
@@ -34,7 +34,7 @@ module Buckaruby
34
34
  custom = Support::CaseInsensitiveHash.new
35
35
 
36
36
  params.each do |key, value|
37
- next unless key.upcase.start_with?("CUST_")
37
+ next unless key.upcase.start_with?('CUST_')
38
38
 
39
39
  new_key = key.to_s[5..-1]
40
40
  custom[new_key] = value
@@ -49,7 +49,7 @@ module Buckaruby
49
49
  additional = Support::CaseInsensitiveHash.new
50
50
 
51
51
  params.each do |key, value|
52
- next unless key.upcase.start_with?("ADD_")
52
+ next unless key.upcase.start_with?('ADD_')
53
53
 
54
54
  new_key = key.to_s[4..-1]
55
55
  additional[new_key] = value
@@ -72,25 +72,14 @@ module Buckaruby
72
72
  response
73
73
  end
74
74
 
75
- def verify_signature!(response, config)
76
- if params[:brq_apiresult].nil? || params[:brq_apiresult].casecmp("fail") != 0
77
- sent_signature = params[:brq_signature]
78
- generated_signature = Signature.generate_signature(response, config)
79
-
80
- if sent_signature != generated_signature
81
- raise SignatureException.new(sent_signature, generated_signature)
82
- end
83
- end
84
- end
85
-
86
75
  def parse_time(time)
87
- time ? Time.strptime(time, '%Y-%m-%d %H:%M:%S') : nil
76
+ Time.strptime(time, '%Y-%m-%d %H:%M:%S') if time
88
77
  end
89
78
  end
90
79
 
91
80
  # Base for a transaction response.
92
81
  module TransactionResponse
93
- def account_bic
82
+ def consumer_bic
94
83
  case payment_method
95
84
  when PaymentMethod::IDEAL
96
85
  params[:brq_service_ideal_consumerbic]
@@ -101,7 +90,7 @@ module Buckaruby
101
90
  end
102
91
  end
103
92
 
104
- def account_iban
93
+ def consumer_iban
105
94
  case payment_method
106
95
  when PaymentMethod::IDEAL
107
96
  params[:brq_service_ideal_consumeriban]
@@ -112,7 +101,7 @@ module Buckaruby
112
101
  end
113
102
  end
114
103
 
115
- def account_name
104
+ def consumer_name
116
105
  case payment_method
117
106
  when PaymentMethod::IDEAL
118
107
  params[:brq_service_ideal_consumername] || params[:brq_customer_name]
@@ -147,86 +136,77 @@ module Buckaruby
147
136
  parse_payment_method(params[:brq_payment_method] || params[:brq_transaction_method])
148
137
  end
149
138
 
150
- def redirect_url
151
- params[:brq_redirecturl]
152
- end
153
-
154
- def refund_transaction_id
155
- params[:brq_relatedtransaction_refund]
156
- end
157
-
158
- def reversal_transaction_id
159
- params[:brq_relatedtransaction_reversal]
160
- end
161
-
162
139
  def transaction_id
163
140
  params[:brq_transactions]
164
141
  end
165
142
 
166
- def transaction_type
167
- TransactionType.parse(params[:brq_transaction_type], params[:brq_recurring])
168
- end
169
-
170
143
  def transaction_status
171
144
  status
172
145
  end
173
146
 
174
- def to_h
175
- hash = {
176
- account_bic: account_bic,
177
- account_iban: account_iban,
178
- account_name: account_name,
179
- collect_date: collect_date,
180
- invoicenumber: invoicenumber,
181
- mandate_reference: mandate_reference,
182
- payment_id: payment_id,
183
- payment_method: payment_method,
184
- refund_transaction_id: refund_transaction_id,
185
- reversal_transaction_id: reversal_transaction_id,
186
- timestamp: timestamp,
187
- transaction_id: transaction_id,
188
- transaction_type: transaction_type,
189
- transaction_status: transaction_status
190
- }.reject { |_key, value| value.nil? }
191
-
192
- hash
147
+ def transaction_type
148
+ TransactionType.parse(params[:brq_transaction_type], params[:brq_recurring])
193
149
  end
194
150
 
195
151
  private
196
152
 
197
153
  def parse_date(date)
198
- date ? Date.strptime(date, '%Y-%m-%d') : nil
154
+ Date.strptime(date, '%Y-%m-%d') if date
199
155
  end
200
156
 
201
157
  def parse_payment_method(method)
202
- method ? method.downcase : nil
158
+ method&.downcase
203
159
  end
204
160
  end
205
161
 
206
162
  # Base class for a response via the API.
207
163
  class ApiResponse < Response
208
- def initialize(response, config)
209
- super(response, config)
164
+ def initialize(body, config)
165
+ super(body, config)
210
166
 
211
- if params[:brq_apiresult].nil? || params[:brq_apiresult].casecmp("fail").zero?
167
+ if api_result.nil? || api_result.casecmp('fail').zero?
212
168
  raise ApiException, params
213
169
  end
170
+
171
+ Signature.verify!(config, response)
172
+ end
173
+
174
+ private
175
+
176
+ def api_result
177
+ params[:brq_apiresult]
214
178
  end
215
179
  end
216
180
 
217
181
  # Response when creating a new transaction.
218
182
  class SetupTransactionResponse < ApiResponse
219
183
  include TransactionResponse
184
+
185
+ def redirect_url
186
+ params[:brq_redirecturl]
187
+ end
220
188
  end
221
189
 
222
190
  # Response when creating a recurrent transaction.
223
191
  class RecurrentTransactionResponse < ApiResponse
224
192
  include TransactionResponse
193
+
194
+ def transaction_type
195
+ TransactionType::PAYMENT_RECURRENT
196
+ end
225
197
  end
226
198
 
227
199
  # Response when creating a refund transaction.
228
200
  class RefundTransactionResponse < ApiResponse
229
201
  include TransactionResponse
202
+
203
+ def refunded_transaction_id
204
+ params[:brq_relatedtransaction_refund]
205
+ end
206
+
207
+ def transaction_type
208
+ TransactionType::REFUND
209
+ end
230
210
  end
231
211
 
232
212
  # Response when retrieving the refund information.
@@ -236,7 +216,7 @@ module Buckaruby
236
216
  end
237
217
 
238
218
  def refundable?
239
- !params[:brq_refundinfo_1_isrefundable].nil? && params[:brq_refundinfo_1_isrefundable].casecmp("true").zero?
219
+ !params[:brq_refundinfo_1_isrefundable].nil? && params[:brq_refundinfo_1_isrefundable].casecmp('true').zero?
240
220
  end
241
221
 
242
222
  def maximum_amount
@@ -257,7 +237,15 @@ module Buckaruby
257
237
  include TransactionResponse
258
238
 
259
239
  def cancellable?
260
- !params[:brq_transaction_cancelable].nil? && params[:brq_transaction_cancelable].casecmp("true").zero?
240
+ !params[:brq_transaction_cancelable].nil? && params[:brq_transaction_cancelable].casecmp('true').zero?
241
+ end
242
+
243
+ def refunded_transaction_id
244
+ params[:brq_relatedtransaction_refund]
245
+ end
246
+
247
+ def reversed_transaction_id
248
+ params[:brq_relatedtransaction_reversal]
261
249
  end
262
250
  end
263
251
 
@@ -265,9 +253,23 @@ module Buckaruby
265
253
  class CancelResponse < ApiResponse
266
254
  end
267
255
 
268
- # Response when verifying the Buckaroo callback.
269
- class CallbackResponse < Response
256
+ # Response when verifying the push response.
257
+ class PushResponse < Response
270
258
  include TransactionResponse
259
+
260
+ def initialize(body, config)
261
+ super(body, config)
262
+
263
+ Signature.verify!(config, response)
264
+ end
265
+
266
+ def refunded_transaction_id
267
+ params[:brq_relatedtransaction_refund]
268
+ end
269
+
270
+ def reversed_transaction_id
271
+ params[:brq_relatedtransaction_reversal]
272
+ end
271
273
  end
272
274
 
273
275
  # Response when retrieving the specification for a transaction.
@@ -8,21 +8,23 @@ module Buckaruby
8
8
  module Signature
9
9
  module_function
10
10
 
11
- def generate_signature(params, config)
11
+ def generate(config, params)
12
+ string = generate_params_string(config.secret, params)
13
+
12
14
  case config.hash_method
13
15
  when :sha1
14
- Digest::SHA1.hexdigest(generate_signature_string(params, config.secret))
16
+ Digest::SHA1.hexdigest(string)
15
17
  when :sha256
16
- Digest::SHA256.hexdigest(generate_signature_string(params, config.secret))
18
+ Digest::SHA256.hexdigest(string)
17
19
  when :sha512
18
- Digest::SHA512.hexdigest(generate_signature_string(params, config.secret))
20
+ Digest::SHA512.hexdigest(string)
19
21
  else
20
22
  raise ArgumentError, "Invalid hash method provided: #{config.hash_method}"
21
23
  end
22
24
  end
23
25
 
24
- def generate_signature_string(params, secret)
25
- sign_params = params.select { |key, _value| key.to_s.upcase.start_with?("BRQ_", "ADD_", "CUST_") && key.to_s.casecmp("BRQ_SIGNATURE").nonzero? }
26
+ def generate_params_string(secret, params)
27
+ sign_params = params.select { |key, _value| key.to_s.upcase.start_with?('BRQ_', 'ADD_', 'CUST_') && key.to_s.casecmp('BRQ_SIGNATURE').nonzero? }
26
28
  sign_params = order_signature_params(sign_params)
27
29
 
28
30
  string = sign_params.map { |param| "#{param[0]}=#{param[1]}" }.join
@@ -36,12 +38,29 @@ module Buckaruby
36
38
  # that is identical to the beginning of a longer string, comes before the longer string.
37
39
  # Take for example the following, comma separated, list which has been sorted:
38
40
  # a_a, a0, a0a, a1a, aaA, aab, aba, aCa
39
- CHAR_ORDER = "_01234567890abcdefghijklmnopqrstuvwxyz"
41
+ CHAR_ORDER = '_01234567890abcdefghijklmnopqrstuvwxyz'
40
42
 
41
43
  def order_signature_params(params)
42
44
  params.sort_by do |key, _value|
43
45
  key.to_s.downcase.each_char.map { |c| CHAR_ORDER.index(c) }
44
46
  end
45
47
  end
48
+
49
+ # Check the signature from the Buckaroo response with our generated signature.
50
+ def verify!(config, params)
51
+ sent_signature = params.find { |key, _value| key.to_s.casecmp('BRQ_SIGNATURE').zero? }&.last
52
+ generated_signature = Signature.generate(config, params)
53
+
54
+ if sent_signature.nil? || generated_signature.nil? || !safe_equals?(sent_signature, generated_signature)
55
+ raise SignatureException.new(sent_signature, generated_signature)
56
+ end
57
+ end
58
+
59
+ # Constant time string comparison.
60
+ def safe_equals?(signature, other_signature)
61
+ check = signature.bytesize ^ other_signature.bytesize
62
+ signature.bytes.zip(other_signature.bytes) { |x, y| check |= x ^ y.to_i }
63
+ check.zero?
64
+ end
46
65
  end
47
66
  end
@@ -23,22 +23,24 @@ module Buckaruby
23
23
  'C001', # Transfer
24
24
 
25
25
  'C044', 'C192', 'C283', 'C293', 'C318', 'C345',
26
- 'C880', 'C963', 'V002', 'V032', 'V038', 'V044',
26
+ 'C801', 'C802', 'C880', 'C963', 'V002', 'V032',
27
+ 'V038', 'V044',
27
28
  'V192', 'V283', 'V293', 'V313', 'V318', 'V345',
28
29
  'V696', # Visa
29
30
 
30
31
  'C043', 'C089', 'C273', 'C303', 'C328', 'C355',
31
- 'C876', 'C969', 'V001', 'V031', 'V037', 'V043',
32
- 'V089', 'V273', 'V303', 'V328', 'V355', 'V702', # MasterCard
32
+ 'C806', 'C807', 'C876', 'C969', 'V001', 'V031',
33
+ 'V037', 'V043', 'V089', 'V273', 'V303', 'V328',
34
+ 'V355', 'V702', # MasterCard
33
35
 
34
- 'C046', 'C251', 'C288', 'C308', 'C333', 'C872',
35
- 'C972', 'V034', 'V040', 'V046', 'V094', 'V245',
36
- 'V288', 'V308', 'V333', 'V705', # Maestro
36
+ 'C046', 'C251', 'C288', 'C308', 'C333', 'C811',
37
+ 'C812', 'C872', 'C972', 'V034', 'V040', 'V046',
38
+ 'V094', 'V245', 'V288', 'V308', 'V333', 'V705', # Maestro
37
39
 
38
40
  'V003', 'V030', 'V036', 'V042' # American Express
39
41
 
40
42
  # Check the recurring flag to detect a normal or recurring transaction.
41
- if brq_recurring && brq_recurring.casecmp("true").zero?
43
+ if brq_recurring&.casecmp('true')&.zero?
42
44
  TransactionType::PAYMENT_RECURRENT
43
45
  else
44
46
  TransactionType::PAYMENT
@@ -52,17 +54,18 @@ module Buckaruby
52
54
  'C101', # Transfer
53
55
 
54
56
  'C080', 'C194', 'C281', 'C290', 'C315', 'C342',
55
- 'C881', 'C961', 'V068', 'V074', 'V080', 'V102',
56
- 'V194', 'V281', 'V290', 'V315', 'V342', 'V694', # Visa
57
+ 'C803', 'C881', 'C961', 'V068', 'V074', 'V080',
58
+ 'V102', 'V194', 'V281', 'V290', 'V315', 'V342',
59
+ 'V694', # Visa
57
60
 
58
61
  'C079', 'C197', 'C300', 'C325', 'C352', 'C371',
59
- 'C877', 'C967', 'V067', 'V073', 'V079', 'V101',
60
- 'V149', 'V197', 'V300', 'V325', 'V352', 'V371',
61
- 'V700', # MasterCard
62
+ 'C808', 'C877', 'C967', 'V067', 'V073', 'V079',
63
+ 'V101', 'V149', 'V197', 'V300', 'V325', 'V352',
64
+ 'V371', 'V700', # MasterCard
62
65
 
63
- 'C082', 'C252', 'C286', 'C305', 'C330', 'C873',
64
- 'C970', 'V070', 'V076', 'V082', 'V246', 'V286',
65
- 'V305', 'V330', 'V703', # Maestro
66
+ 'C082', 'C252', 'C286', 'C305', 'C330', 'C813',
67
+ 'C873', 'C970', 'V070', 'V076', 'V082', 'V246',
68
+ 'V286', 'V305', 'V330', 'V703', # Maestro
66
69
 
67
70
  'V066', 'V072', 'V078', 'V103' # American Express
68
71
  TransactionType::REFUND
@@ -70,14 +73,14 @@ module Buckaruby
70
73
  'V111', # PayPal
71
74
  'C544', # Sofort
72
75
 
73
- 'C554', 'C593', 'C882', 'V132', 'V138', 'V144',
74
- 'V544', 'V592', # Visa
76
+ 'C554', 'C593', 'C804', 'C882', 'V132', 'V138',
77
+ 'V144', 'V544', 'V592', # Visa
75
78
 
76
- 'C553', 'C589', 'C878', 'V131', 'V137', 'V143',
77
- 'V543', 'V589', # MasterCard
79
+ 'C553', 'C589', 'C809', 'C878', 'V131', 'V137',
80
+ 'V143', 'V543', 'V589', # MasterCard
78
81
 
79
- 'C546', 'C551', 'C874', 'V134', 'V140', 'V146',
80
- 'V545', 'V546', # Maestro
82
+ 'C546', 'C551', 'C814', 'C874', 'V134', 'V140',
83
+ 'V146', 'V545', 'V546', # Maestro
81
84
 
82
85
  'V130', 'V136', 'V142' # American Express
83
86
  TransactionType::REVERSAL
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Buckaruby
4
- VERSION = "1.7.0"
4
+ VERSION = '2.0.1'
5
5
  end
data/lib/buckaruby.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'buckaruby/action'
4
+ require_relative 'buckaruby/amount'
4
5
  require_relative 'buckaruby/currency'
5
- require_relative 'buckaruby/ideal'
6
6
  require_relative 'buckaruby/language'
7
7
  require_relative 'buckaruby/operation'
8
8
  require_relative 'buckaruby/payment_method'
@@ -13,7 +13,6 @@ require_relative 'buckaruby/configuration'
13
13
  require_relative 'buckaruby/exception'
14
14
  require_relative 'buckaruby/field_mapper'
15
15
  require_relative 'buckaruby/gateway'
16
- require_relative 'buckaruby/iban'
17
16
  require_relative 'buckaruby/request'
18
17
  require_relative 'buckaruby/response'
19
18
  require_relative 'buckaruby/signature'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buckaruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kentaa
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-16 00:00:00.000000000 Z
11
+ date: 2022-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '2.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.7'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '12.3'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '12.3'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,41 +58,33 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2.3'
61
+ version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2.3'
68
+ version: '3.0'
69
69
  description: The Buckaruby gem provides a Ruby library for communicating with the
70
70
  Buckaroo Payment Engine 3.0.
71
71
  email:
72
- - support@kentaa.nl
72
+ - developers@kentaa.nl
73
73
  executables: []
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
- - ".github/workflows/test.yml"
78
- - ".gitignore"
79
- - ".rubocop.yml"
80
77
  - CHANGELOG.md
81
- - Gemfile
82
- - Gemfile.lock
83
78
  - LICENSE.txt
84
79
  - README.md
85
- - Rakefile
86
- - buckaruby.gemspec
87
80
  - lib/buckaruby.rb
88
81
  - lib/buckaruby/action.rb
82
+ - lib/buckaruby/amount.rb
89
83
  - lib/buckaruby/configuration.rb
90
84
  - lib/buckaruby/currency.rb
91
85
  - lib/buckaruby/exception.rb
92
86
  - lib/buckaruby/field_mapper.rb
93
87
  - lib/buckaruby/gateway.rb
94
- - lib/buckaruby/iban.rb
95
- - lib/buckaruby/ideal.rb
96
88
  - lib/buckaruby/language.rb
97
89
  - lib/buckaruby/operation.rb
98
90
  - lib/buckaruby/payment_method.rb
@@ -103,47 +95,11 @@ files:
103
95
  - lib/buckaruby/transaction_status.rb
104
96
  - lib/buckaruby/transaction_type.rb
105
97
  - lib/buckaruby/version.rb
106
- - spec/buckaruby/configuration_spec.rb
107
- - spec/buckaruby/field_mapper_spec.rb
108
- - spec/buckaruby/gateway_spec.rb
109
- - spec/buckaruby/iban_spec.rb
110
- - spec/buckaruby/signature_spec.rb
111
- - spec/buckaruby/support/case_insensitive_hash_spec.rb
112
- - spec/fixtures/responses/callback_invalid_signature.txt
113
- - spec/fixtures/responses/callback_payment_amex.txt
114
- - spec/fixtures/responses/callback_payment_cancelled.txt
115
- - spec/fixtures/responses/callback_payment_empty_transaction_type.txt
116
- - spec/fixtures/responses/callback_payment_failed.txt
117
- - spec/fixtures/responses/callback_payment_giropay.txt
118
- - spec/fixtures/responses/callback_payment_pending.txt
119
- - spec/fixtures/responses/callback_payment_rejected.txt
120
- - spec/fixtures/responses/callback_payment_sepa.txt
121
- - spec/fixtures/responses/callback_payment_sofort.txt
122
- - spec/fixtures/responses/callback_payment_success.txt
123
- - spec/fixtures/responses/callback_payment_visa.txt
124
- - spec/fixtures/responses/callback_recurrent_sepa.txt
125
- - spec/fixtures/responses/callback_recurrent_visa.txt
126
- - spec/fixtures/responses/callback_refund_amex.txt
127
- - spec/fixtures/responses/callback_refund_ideal.txt
128
- - spec/fixtures/responses/callback_refund_paypal.txt
129
- - spec/fixtures/responses/callback_reversal_paypal.txt
130
- - spec/fixtures/responses/callback_reversal_sepa.txt
131
- - spec/fixtures/responses/callback_valid_signature.txt
132
- - spec/fixtures/responses/cancel_success.txt
133
- - spec/fixtures/responses/recurrent_transaction_success.txt
134
- - spec/fixtures/responses/refund_info_error.txt
135
- - spec/fixtures/responses/refund_info_success.txt
136
- - spec/fixtures/responses/refund_transaction_success.txt
137
- - spec/fixtures/responses/setup_transaction_success.txt
138
- - spec/fixtures/responses/specify_transaction_success.txt
139
- - spec/fixtures/responses/status_cancellable.txt
140
- - spec/fixtures/responses/status_noncancellable.txt
141
- - spec/fixtures/responses/status_success.txt
142
- - spec/spec_helper.rb
143
98
  homepage: https://github.com/KentaaNL/buckaruby
144
99
  licenses:
145
100
  - MIT
146
- metadata: {}
101
+ metadata:
102
+ rubygems_mfa_required: 'true'
147
103
  post_install_message:
148
104
  rdoc_options: []
149
105
  require_paths:
@@ -152,52 +108,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
108
  requirements:
153
109
  - - ">="
154
110
  - !ruby/object:Gem::Version
155
- version: 2.0.0
111
+ version: 2.5.0
156
112
  required_rubygems_version: !ruby/object:Gem::Requirement
157
113
  requirements:
158
114
  - - ">="
159
115
  - !ruby/object:Gem::Version
160
116
  version: '0'
161
117
  requirements: []
162
- rubygems_version: 3.0.8
118
+ rubygems_version: 3.3.7
163
119
  signing_key:
164
120
  specification_version: 4
165
121
  summary: Ruby library for communicating with the Buckaroo Payment Engine 3.0.
166
- test_files:
167
- - spec/buckaruby/configuration_spec.rb
168
- - spec/buckaruby/field_mapper_spec.rb
169
- - spec/buckaruby/gateway_spec.rb
170
- - spec/buckaruby/iban_spec.rb
171
- - spec/buckaruby/signature_spec.rb
172
- - spec/buckaruby/support/case_insensitive_hash_spec.rb
173
- - spec/fixtures/responses/callback_invalid_signature.txt
174
- - spec/fixtures/responses/callback_payment_amex.txt
175
- - spec/fixtures/responses/callback_payment_cancelled.txt
176
- - spec/fixtures/responses/callback_payment_empty_transaction_type.txt
177
- - spec/fixtures/responses/callback_payment_failed.txt
178
- - spec/fixtures/responses/callback_payment_giropay.txt
179
- - spec/fixtures/responses/callback_payment_pending.txt
180
- - spec/fixtures/responses/callback_payment_rejected.txt
181
- - spec/fixtures/responses/callback_payment_sepa.txt
182
- - spec/fixtures/responses/callback_payment_sofort.txt
183
- - spec/fixtures/responses/callback_payment_success.txt
184
- - spec/fixtures/responses/callback_payment_visa.txt
185
- - spec/fixtures/responses/callback_recurrent_sepa.txt
186
- - spec/fixtures/responses/callback_recurrent_visa.txt
187
- - spec/fixtures/responses/callback_refund_amex.txt
188
- - spec/fixtures/responses/callback_refund_ideal.txt
189
- - spec/fixtures/responses/callback_refund_paypal.txt
190
- - spec/fixtures/responses/callback_reversal_paypal.txt
191
- - spec/fixtures/responses/callback_reversal_sepa.txt
192
- - spec/fixtures/responses/callback_valid_signature.txt
193
- - spec/fixtures/responses/cancel_success.txt
194
- - spec/fixtures/responses/recurrent_transaction_success.txt
195
- - spec/fixtures/responses/refund_info_error.txt
196
- - spec/fixtures/responses/refund_info_success.txt
197
- - spec/fixtures/responses/refund_transaction_success.txt
198
- - spec/fixtures/responses/setup_transaction_success.txt
199
- - spec/fixtures/responses/specify_transaction_success.txt
200
- - spec/fixtures/responses/status_cancellable.txt
201
- - spec/fixtures/responses/status_noncancellable.txt
202
- - spec/fixtures/responses/status_success.txt
203
- - spec/spec_helper.rb
122
+ test_files: []
@@ -1,23 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches:
6
- - 1.x
7
- pull_request:
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
- strategy:
13
- matrix:
14
- ruby-version: ['2.4', '2.5', '2.6', '2.7', '3.0']
15
-
16
- steps:
17
- - uses: actions/checkout@v2
18
- - uses: ruby/setup-ruby@v1
19
- with:
20
- ruby-version: ${{ matrix.ruby-version }}
21
- bundler-cache: true
22
- - name: Run tests
23
- run: bundle exec rake
data/.gitignore DELETED
@@ -1,19 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- .rvmrc
7
- .ruby-version
8
- .ruby-gemset
9
- InstalledFiles
10
- _yardoc
11
- coverage
12
- doc/
13
- lib/bundler/man
14
- pkg
15
- rdoc
16
- spec/reports
17
- test/tmp
18
- test/version_tmp
19
- tmp