buckaruby 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +0 -11
- data/lib/buckaruby/gateway.rb +1 -3
- data/lib/buckaruby/request.rb +6 -10
- data/lib/buckaruby/response.rb +4 -4
- data/lib/buckaruby/support/case_insensitive_hash.rb +1 -1
- data/lib/buckaruby/transaction_status.rb +1 -1
- data/lib/buckaruby/transaction_type.rb +24 -21
- data/lib/buckaruby/version.rb +1 -1
- metadata +32 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb62e5b46cdbddcd59de1c2c52928fde3c62cbd33b5957d6d762640f0646f4a5
|
4
|
+
data.tar.gz: 8c2555701120e08f42f360b5d3a9ea3292022712a0e2f306fa9a9e03b1dd489a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67d2f19eee9556d9f6929cdbc0487a190a731955a333f0f99eee5d7e9bd21152766cb713fe920b8100caf18df2a993b4644575356c42c7476844794e96256180
|
7
|
+
data.tar.gz: 80f1d0eeb818781d44d7675c01c77ae8009564384096e1fb7d54030b363e24f19d0114ac2aeeb15933f09ed672c9d9affcbe19741deb05886941c55403638d33
|
data/README.md
CHANGED
@@ -11,7 +11,6 @@ The Buckaruby gem provides a Ruby library for communicating with the Buckaroo Pa
|
|
11
11
|
- [Installation](#installation)
|
12
12
|
- [Usage](#usage)
|
13
13
|
- [Payment methods](#payment-methods)
|
14
|
-
- [Get issuers](#get-issuers)
|
15
14
|
- [Start transaction](#start-transaction)
|
16
15
|
- [Recurrent transaction](#recurrent-transaction)
|
17
16
|
- [Refund transaction](#refund-transaction)
|
@@ -79,14 +78,6 @@ To retrieve the payment methods enabled in Buckaroo and supported by this librar
|
|
79
78
|
payment_methods = gateway.payment_methods
|
80
79
|
```
|
81
80
|
|
82
|
-
### Get issuers
|
83
|
-
|
84
|
-
When using iDEAL as payment method, it is mandatory to send the `issuer` parameter in the start transaction request. You can retrieve the list of available issuers with the method `issuers`. This will return a hash with the ID of the issuer (hash key) and the issuer name (hash value).
|
85
|
-
|
86
|
-
```ruby
|
87
|
-
issuers = gateway.issuers(Buckaruby::PaymentMethod::IDEAL)
|
88
|
-
```
|
89
|
-
|
90
81
|
### Start transaction
|
91
82
|
|
92
83
|
To start a new transaction, use the method `setup_transaction`:
|
@@ -95,7 +86,6 @@ To start a new transaction, use the method `setup_transaction`:
|
|
95
86
|
options = {
|
96
87
|
amount: 10,
|
97
88
|
payment_method: Buckaruby::PaymentMethod::IDEAL,
|
98
|
-
issuer: "INGBNL2A",
|
99
89
|
invoicenumber: "12345",
|
100
90
|
return_url: "http://www.return.url/"
|
101
91
|
}
|
@@ -219,7 +209,6 @@ For example:
|
|
219
209
|
options = {
|
220
210
|
amount: 10,
|
221
211
|
payment_method: Buckaruby::PaymentMethod::IDEAL,
|
222
|
-
issuer: "INGBNL2A",
|
223
212
|
invoicenumber: "12345",
|
224
213
|
return_url: "http://www.return.url/",
|
225
214
|
custom: {
|
data/lib/buckaruby/gateway.rb
CHANGED
@@ -36,7 +36,7 @@ module Buckaruby
|
|
36
36
|
params = description[:requestparameters].find { |param| param[:name].casecmp('issuer').zero? } if description
|
37
37
|
items = params[:listitemdescription] if params
|
38
38
|
|
39
|
-
items
|
39
|
+
items.to_h { |item| [item[:value], item[:description]] }
|
40
40
|
end
|
41
41
|
|
42
42
|
# Setup a new transaction.
|
@@ -159,8 +159,6 @@ module Buckaruby
|
|
159
159
|
required_params << :return_url if options[:payment_method] != PaymentMethod::SEPA_DIRECT_DEBIT
|
160
160
|
|
161
161
|
case options[:payment_method]
|
162
|
-
when PaymentMethod::IDEAL, PaymentMethod::IDEAL_PROCESSING
|
163
|
-
required_params << :issuer
|
164
162
|
when PaymentMethod::SEPA_DIRECT_DEBIT
|
165
163
|
required_params << [:consumer_iban, :consumer_name]
|
166
164
|
end
|
data/lib/buckaruby/request.rb
CHANGED
@@ -113,17 +113,13 @@ module Buckaruby
|
|
113
113
|
|
114
114
|
case options[:payment_method]
|
115
115
|
when PaymentMethod::IDEAL
|
116
|
-
params
|
117
|
-
|
118
|
-
|
119
|
-
brq_service_ideal_version: '2'
|
120
|
-
)
|
116
|
+
params[:brq_service_ideal_action] = Action::PAY
|
117
|
+
params[:brq_service_ideal_issuer] = options[:issuer] if options[:issuer]
|
118
|
+
params[:brq_service_ideal_version] = '2'
|
121
119
|
when PaymentMethod::IDEAL_PROCESSING
|
122
|
-
params
|
123
|
-
|
124
|
-
|
125
|
-
brq_service_idealprocessing_version: '2'
|
126
|
-
)
|
120
|
+
params[:brq_service_idealprocessing_action] = Action::PAY
|
121
|
+
params[:brq_service_idealprocessing_issuer] = options[:issuer] if options[:issuer]
|
122
|
+
params[:brq_service_idealprocessing_version] = '2'
|
127
123
|
when PaymentMethod::SEPA_DIRECT_DEBIT
|
128
124
|
params.merge!(
|
129
125
|
brq_service_sepadirectdebit_action: Action::PAY,
|
data/lib/buckaruby/response.rb
CHANGED
@@ -36,7 +36,7 @@ module Buckaruby
|
|
36
36
|
params.each do |key, value|
|
37
37
|
next unless key.upcase.start_with?('CUST_')
|
38
38
|
|
39
|
-
new_key = key.to_s[5
|
39
|
+
new_key = key.to_s[5..]
|
40
40
|
custom[new_key] = value
|
41
41
|
end
|
42
42
|
|
@@ -51,7 +51,7 @@ module Buckaruby
|
|
51
51
|
params.each do |key, value|
|
52
52
|
next unless key.upcase.start_with?('ADD_')
|
53
53
|
|
54
|
-
new_key = key.to_s[4
|
54
|
+
new_key = key.to_s[4..]
|
55
55
|
additional[new_key] = value
|
56
56
|
end
|
57
57
|
|
@@ -162,7 +162,7 @@ module Buckaruby
|
|
162
162
|
# Base class for a response via the API.
|
163
163
|
class ApiResponse < Response
|
164
164
|
def initialize(body, config)
|
165
|
-
super
|
165
|
+
super
|
166
166
|
|
167
167
|
if api_result.nil? || api_result.casecmp('fail').zero?
|
168
168
|
raise ApiException, params
|
@@ -258,7 +258,7 @@ module Buckaruby
|
|
258
258
|
include TransactionResponse
|
259
259
|
|
260
260
|
def initialize(body, config)
|
261
|
-
super
|
261
|
+
super
|
262
262
|
|
263
263
|
Signature.verify!(config, response)
|
264
264
|
end
|
@@ -10,7 +10,7 @@ module Buckaruby
|
|
10
10
|
|
11
11
|
module_function
|
12
12
|
|
13
|
-
# See https://
|
13
|
+
# See https://docs.buckaroo.io/v1/docs/en/transaction-type-overview
|
14
14
|
def parse(brq_transaction_type, brq_recurring)
|
15
15
|
if brq_transaction_type && !brq_transaction_type.empty?
|
16
16
|
case brq_transaction_type
|
@@ -23,17 +23,19 @@ module Buckaruby
|
|
23
23
|
'C001', # Transfer
|
24
24
|
|
25
25
|
'C044', 'C192', 'C283', 'C293', 'C318', 'C345',
|
26
|
-
'
|
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
|
-
'
|
32
|
-
'
|
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', '
|
35
|
-
'
|
36
|
-
'V288', 'V308', 'V333', 'V705',
|
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
|
|
@@ -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',
|
56
|
-
'V194', 'V281', 'V290', 'V315', 'V342',
|
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',
|
60
|
-
'V149', 'V197', 'V300', 'V325', 'V352',
|
61
|
-
'V700',
|
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', '
|
64
|
-
'C970', 'V070', 'V076', 'V082', 'V246',
|
65
|
-
'V305', 'V330', 'V703',
|
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', '
|
74
|
-
'V544', 'V592',
|
76
|
+
'C554', 'C593', 'C804', 'C882', 'V132', 'V138',
|
77
|
+
'V144', 'V544', 'V592', # Visa
|
75
78
|
|
76
|
-
'C553', 'C589', '
|
77
|
-
'V543', 'V589',
|
79
|
+
'C553', 'C589', 'C809', 'C878', 'V131', 'V137',
|
80
|
+
'V143', 'V543', 'V589', # MasterCard
|
78
81
|
|
79
|
-
'C546', 'C551', '
|
80
|
-
'V545', 'V546',
|
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
|
data/lib/buckaruby/version.rb
CHANGED
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: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kentaa
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,34 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '3.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bigdecimal
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: logger
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
69
97
|
description: The Buckaruby gem provides a Ruby library for communicating with the
|
70
98
|
Buckaroo Payment Engine 3.0.
|
71
99
|
email:
|
@@ -108,14 +136,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
108
136
|
requirements:
|
109
137
|
- - ">="
|
110
138
|
- !ruby/object:Gem::Version
|
111
|
-
version: 2.
|
139
|
+
version: 2.7.0
|
112
140
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
141
|
requirements:
|
114
142
|
- - ">="
|
115
143
|
- !ruby/object:Gem::Version
|
116
144
|
version: '0'
|
117
145
|
requirements: []
|
118
|
-
rubygems_version: 3.3
|
146
|
+
rubygems_version: 3.2.3
|
119
147
|
signing_key:
|
120
148
|
specification_version: 4
|
121
149
|
summary: Ruby library for communicating with the Buckaroo Payment Engine 3.0.
|