buckaruby 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +6 -2
- data/.travis.yml +3 -3
- data/CHANGELOG.md +6 -0
- data/Gemfile +1 -1
- data/README.md +4 -0
- data/buckaruby.gemspec +2 -0
- data/lib/buckaruby/exception.rb +16 -1
- data/lib/buckaruby/request.rb +8 -3
- data/lib/buckaruby/response.rb +11 -6
- data/lib/buckaruby/version.rb +1 -1
- data/spec/buckaruby/gateway_spec.rb +46 -16
- data/spec/spec_helper.rb +1 -0
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf24f7ed57a0ee1afd17a9d85d696be81c7e28f3
|
4
|
+
data.tar.gz: 472afa4186eb0cb9e6dda801b6fc80ea52ca0654
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59deba4cfcf3006f9a20d5072619cf42550da007912cec0bf5ade166be9c9191810cf87066dcb1576c79e7d3d154e1098ba8e8d4aa1372883b1ad1fa547f8568
|
7
|
+
data.tar.gz: 11d4aa501936edcaff85f77e163ee88732ba1ecea6b52415e24783a9c477c6894a1b3453045ee030d32cb1b8bc1dcbd2b92b4b2fba1f6403f04a492f1d1a1a1f
|
data/.rubocop.yml
CHANGED
@@ -8,11 +8,15 @@ AllCops:
|
|
8
8
|
Metrics/AbcSize:
|
9
9
|
Max: 30
|
10
10
|
|
11
|
+
Metrics/BlockLength:
|
12
|
+
Exclude:
|
13
|
+
- 'spec/**/*.rb'
|
14
|
+
|
11
15
|
Metrics/ClassLength:
|
12
16
|
Enabled: false
|
13
17
|
|
14
18
|
Metrics/CyclomaticComplexity:
|
15
|
-
Max:
|
19
|
+
Max: 9
|
16
20
|
|
17
21
|
Metrics/LineLength:
|
18
22
|
Enabled: false
|
@@ -21,7 +25,7 @@ Metrics/MethodLength:
|
|
21
25
|
Enabled: false
|
22
26
|
|
23
27
|
Metrics/PerceivedComplexity:
|
24
|
-
Max:
|
28
|
+
Max: 9
|
25
29
|
|
26
30
|
Style/AccessorMethodName:
|
27
31
|
Enabled: false
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Buckaruby changelog
|
2
2
|
|
3
|
+
## 1.0.2 (2017-08-25)
|
4
|
+
|
5
|
+
- Recognize credit card transactions via Atos.
|
6
|
+
- Fix detection of recurrent payments.
|
7
|
+
- Minor improvements to exception handling.
|
8
|
+
|
3
9
|
## 1.0.1 (2017-01-05)
|
4
10
|
|
5
11
|
- Recognize status codes 792 & 793 as a pending transaction.
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -126,10 +126,14 @@ When missing or invalid parameters are passed to any method, an `ArgumentError`
|
|
126
126
|
|
127
127
|
When a request to Buckaroo fails because of connection problems, a `Buckaruby::ConnectionException` will be raised.
|
128
128
|
|
129
|
+
When Buckaroo returns an invalid response (status code is not 2xx), a `Buckaruby::InvalidResponseException` will be raised.
|
130
|
+
|
129
131
|
When an API call to Buckaroo results in a "Fail" returned, a `Buckaruby::ApiException` will be raised.
|
130
132
|
|
131
133
|
When the signature could not be verified, a `Buckaruby::SignatureException` will be raised.
|
132
134
|
|
135
|
+
All Buckaruby exceptions listed here inherit from the class `Buckaruby::BuckarooException`.
|
136
|
+
|
133
137
|
## Contributing
|
134
138
|
|
135
139
|
Bug reports and pull requests are welcome on GitHub at https://github.com/KentaaNL/buckaruby.
|
data/buckaruby.gemspec
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
2
3
|
lib = File.expand_path('../lib', __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'buckaruby/version'
|
@@ -23,4 +24,5 @@ Gem::Specification.new do |spec|
|
|
23
24
|
spec.add_development_dependency "bundler", "~> 1.7"
|
24
25
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
26
|
spec.add_development_dependency "rspec", "~> 3.5.0", ">= 3.5.0"
|
27
|
+
spec.add_development_dependency "webmock", "~> 2.3", ">= 2.3.2"
|
26
28
|
end
|
data/lib/buckaruby/exception.rb
CHANGED
@@ -38,16 +38,31 @@ module Buckaruby
|
|
38
38
|
class ConnectionException < BuckarooException
|
39
39
|
def initialize(exception)
|
40
40
|
message = "Error connecting to Buckaroo: #{exception.message} (#{exception.class})"
|
41
|
+
super(message)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# Exception raised when the response from Buckaroo was invalid.
|
46
|
+
class InvalidResponseException < BuckarooException
|
47
|
+
attr_reader :response
|
41
48
|
|
49
|
+
def initialize(response)
|
50
|
+
@response = response
|
51
|
+
|
52
|
+
message = "Invalid response received from Buckaroo: #{response.message} (#{response.code})"
|
42
53
|
super(message)
|
43
54
|
end
|
44
55
|
end
|
45
56
|
|
46
57
|
# Exception raised when the signature could not be verified.
|
47
58
|
class SignatureException < BuckarooException
|
59
|
+
attr_reader :sent_signature, :generated_signature
|
60
|
+
|
48
61
|
def initialize(sent_signature = "", generated_signature = "")
|
49
|
-
|
62
|
+
@sent_signature = sent_signature
|
63
|
+
@generated_signature = generated_signature
|
50
64
|
|
65
|
+
message = "Sent signature (#{sent_signature}) doesn't match generated signature (#{generated_signature})"
|
51
66
|
super(message)
|
52
67
|
end
|
53
68
|
end
|
data/lib/buckaruby/request.rb
CHANGED
@@ -41,11 +41,16 @@ module Buckaruby
|
|
41
41
|
end
|
42
42
|
|
43
43
|
raw_response = http.post(uri.request_uri, post_data(params))
|
44
|
+
|
45
|
+
unless raw_response.is_a?(Net::HTTPSuccess)
|
46
|
+
raise InvalidResponseException, raw_response
|
47
|
+
end
|
48
|
+
|
44
49
|
return raw_response.body
|
45
50
|
# Try to catch some common exceptions Net::HTTP might raise
|
46
|
-
rescue Errno::ETIMEDOUT, Errno::EINVAL, Errno::ECONNRESET, Errno::ECONNREFUSED,
|
47
|
-
|
48
|
-
OpenSSL::SSL::SSLError => ex
|
51
|
+
rescue Errno::ETIMEDOUT, Errno::EINVAL, Errno::ECONNRESET, Errno::ECONNREFUSED, Errno::EHOSTUNREACH,
|
52
|
+
IOError, SocketError, Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::OpenTimeout,
|
53
|
+
Net::ProtocolError, Net::ReadTimeout, OpenSSL::SSL::SSLError => ex
|
49
54
|
raise ConnectionException, ex
|
50
55
|
end
|
51
56
|
|
data/lib/buckaruby/response.rb
CHANGED
@@ -19,7 +19,7 @@ module Buckaruby
|
|
19
19
|
generated_signature = Signature.generate_signature(response, options)
|
20
20
|
|
21
21
|
if sent_signature != generated_signature
|
22
|
-
raise SignatureException
|
22
|
+
raise SignatureException.new(sent_signature, generated_signature)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
@@ -102,13 +102,18 @@ module Buckaruby
|
|
102
102
|
if params[:brq_transaction_type] && !params[:brq_transaction_type].empty?
|
103
103
|
# See http://support.buckaroo.nl/index.php/Transactietypes
|
104
104
|
case params[:brq_transaction_type]
|
105
|
-
when 'C001', 'C002', 'C004', 'C021', 'C043', 'C044', 'C046', 'C090', 'V001', 'V002', 'V010', 'V021', 'V090'
|
106
|
-
|
107
|
-
|
105
|
+
when 'C001', 'C002', 'C004', 'C021', 'C043', 'C044', 'C046', 'C089', 'C090', 'C192', 'C251', 'V001', 'V002', 'V010', 'V021', 'V032', 'V034', 'V043', 'V044', 'V046', 'V089', 'V090', 'V192', 'V245'
|
106
|
+
# Check the recurring flag to detect a normal or recurring transaction.
|
107
|
+
if params[:brq_recurring] && params[:brq_recurring].casecmp("true").zero?
|
108
|
+
TransactionType::PAYMENT_RECURRENT
|
109
|
+
else
|
110
|
+
TransactionType::PAYMENT
|
111
|
+
end
|
112
|
+
when 'C005', 'V014', 'V031', 'V094'
|
108
113
|
TransactionType::PAYMENT_RECURRENT
|
109
|
-
when 'C079', 'C080', 'C082', 'C092', 'C101', 'C102', 'C121', 'C500', 'V067', 'V068', 'V070', 'V079', 'V080', 'V082', 'V092', 'V101', 'V102', 'V110'
|
114
|
+
when 'C079', 'C080', 'C082', 'C092', 'C101', 'C102', 'C121', 'C194', 'C197', 'C252', 'C500', 'V067', 'V068', 'V070', 'V079', 'V080', 'V082', 'V092', 'V101', 'V102', 'V110', 'V149', 'V194', 'V197', 'V246'
|
110
115
|
TransactionType::REFUND
|
111
|
-
when 'C501', 'C502', 'C562', 'V111', 'V131', 'V132', 'V134', 'V143', 'V144', 'V146'
|
116
|
+
when 'C501', 'C502', 'C546', 'C551', 'C553', 'C554', 'C562', 'C589', 'C593', 'V111', 'V131', 'V132', 'V134', 'V143', 'V144', 'V146', 'V543', 'V544', 'V545', 'V546', 'V589', 'V592'
|
112
117
|
TransactionType::REVERSAL
|
113
118
|
end
|
114
119
|
else
|
data/lib/buckaruby/version.rb
CHANGED
@@ -99,9 +99,8 @@ describe Buckaruby::Gateway do
|
|
99
99
|
|
100
100
|
describe 'initiate transaction' do
|
101
101
|
before(:each) do
|
102
|
-
|
103
|
-
|
104
|
-
allow(subject).to receive(:build_request).and_return(request)
|
102
|
+
stub_request(:post, "https://testcheckout.buckaroo.nl/nvp/?op=TransactionRequest")
|
103
|
+
.to_return(body: "BRQ_ACTIONREQUIRED=redirect&BRQ_AMOUNT=10.00&BRQ_APIRESULT=ActionRequired&BRQ_CURRENCY=EUR&BRQ_DESCRIPTION=Test&BRQ_INVOICENUMBER=12345&BRQ_PAYMENT=12345&BRQ_PAYMENT_METHOD=ideal&BRQ_REDIRECTURL=https%3A%2F%2Ftestcheckout.buckaroo.nl%2Fhtml%2Fredirect.ashx%3Fr%3D41C48B55FA9164E123CC73B1157459E840BE5D24&BRQ_SERVICE_IDEAL_CONSUMERISSUER=Rabobank&BRQ_STATUSCODE=791&BRQ_STATUSCODE_DETAIL=S002&BRQ_STATUSMESSAGE=An+additional+action+is+required%3A+RedirectToIdeal&BRQ_TEST=true&BRQ_TIMESTAMP=2014-11-05+13%3A10%3A40&BRQ_TRANSACTIONS=41C48B55FA9164E123CC73B1157459E840BE5D24&BRQ_WEBSITEKEY=12345678&BRQ_SIGNATURE=3d6ef7e249d9509d120c7b84f27f081adf06074b")
|
105
104
|
end
|
106
105
|
|
107
106
|
it 'should raise an exception when initiating a transaction with missing parameters' do
|
@@ -144,10 +143,27 @@ describe Buckaruby::Gateway do
|
|
144
143
|
}.to raise_error(ArgumentError)
|
145
144
|
end
|
146
145
|
|
147
|
-
it 'should raise
|
148
|
-
|
149
|
-
|
150
|
-
|
146
|
+
it 'should raise a ConnectionException when connection the Buckaroo fails' do
|
147
|
+
stub_request(:post, "https://testcheckout.buckaroo.nl/nvp/?op=TransactionRequest")
|
148
|
+
.to_raise(Errno::ECONNREFUSED)
|
149
|
+
|
150
|
+
expect {
|
151
|
+
subject.setup_transaction(amount: 10, payment_method: Buckaruby::PaymentMethod::IDEAL, payment_issuer: Buckaruby::Ideal::ISSUERS.keys.first, invoicenumber: "12345", return_url: "http://www.return.url/")
|
152
|
+
}.to raise_error(Buckaruby::ConnectionException)
|
153
|
+
end
|
154
|
+
|
155
|
+
it 'should raise an InvalidResponseException when Buckaroo returns an invalid response' do
|
156
|
+
stub_request(:post, "https://testcheckout.buckaroo.nl/nvp/?op=TransactionRequest")
|
157
|
+
.to_return(status: 500)
|
158
|
+
|
159
|
+
expect {
|
160
|
+
subject.setup_transaction(amount: 10, payment_method: Buckaruby::PaymentMethod::IDEAL, payment_issuer: Buckaruby::Ideal::ISSUERS.keys.first, invoicenumber: "12345", return_url: "http://www.return.url/")
|
161
|
+
}.to raise_error(Buckaruby::InvalidResponseException)
|
162
|
+
end
|
163
|
+
|
164
|
+
it 'should raise an ApiException when API result Fail is returned' do
|
165
|
+
stub_request(:post, "https://testcheckout.buckaroo.nl/nvp/?op=TransactionRequest")
|
166
|
+
.to_return(body: "BRQ_APIRESULT=Fail&BRQ_APIERRORMESSAGE=Invalid+request")
|
151
167
|
|
152
168
|
expect {
|
153
169
|
subject.setup_transaction(amount: 10, payment_method: Buckaruby::PaymentMethod::IDEAL, payment_issuer: Buckaruby::Ideal::ISSUERS.keys.first, invoicenumber: "12345", return_url: "http://www.return.url/")
|
@@ -229,9 +245,9 @@ describe Buckaruby::Gateway do
|
|
229
245
|
|
230
246
|
describe 'initiate recurrent transaction' do
|
231
247
|
before(:each) do
|
232
|
-
|
233
|
-
|
234
|
-
|
248
|
+
stub_request(:post, "https://testcheckout.buckaroo.nl/nvp/?op=TransactionRequest")
|
249
|
+
.to_return(body:
|
250
|
+
"BRQ_AMOUNT=10.00&BRQ_APIRESULT=Success&BRQ_CURRENCY=EUR&BRQ_CUSTOMER_NAME=Test&BRQ_DESCRIPTION=Test&BRQ_INVOICENUMBER=12345&BRQ_ISSUING_COUNTRY=IE&BRQ_PAYMENT=8EE820309AA9455C91350DD5D3160362&BRQ_PAYMENT_METHOD=visa&BRQ_RECURRING=True&BRQ_SERVICE_VISA_CARDEXPIRATIONDATE=2016-01&BRQ_SERVICE_VISA_CARDNUMBERENDING=0969&BRQ_SERVICE_VISA_MASKEDCARDNUMBER=491611%2A%2A%2A%2A%2A%2A0969&BRQ_STATUSCODE=190&BRQ_STATUSCODE_DETAIL=S001&BRQ_STATUSMESSAGE=Transaction+successfully+processed&BRQ_TEST=true&BRQ_TIMESTAMP=2016-01-19+15%3A13%3A44&BRQ_TRANSACTIONS=41C48B55FA9164E123CC73B1157459E840BE5D24&BRQ_WEBSITEKEY=12345678&BRQ_SIGNATURE=b6a5a54c7e0d731f211c2080519e7aabc9775f47")
|
235
251
|
end
|
236
252
|
|
237
253
|
it 'should raise an exception when initiating a recurrent transaction with missing parameters' do
|
@@ -268,9 +284,9 @@ describe Buckaruby::Gateway do
|
|
268
284
|
|
269
285
|
describe 'get transaction status' do
|
270
286
|
before(:each) do
|
271
|
-
|
272
|
-
|
273
|
-
|
287
|
+
stub_request(:post, "https://testcheckout.buckaroo.nl/nvp/?op=TransactionStatus")
|
288
|
+
.to_return(body:
|
289
|
+
"BRQ_AMOUNT=10.00&BRQ_APIRESULT=Success&BRQ_CURRENCY=EUR&BRQ_CUSTOMER_NAME=J.+de+Tester&BRQ_DESCRIPTION=Test&BRQ_INVOICENUMBER=12345&BRQ_MUTATIONTYPE=Collecting&BRQ_PAYER_HASH=e02377112efcd30bb7420bb1b9855a3778864572&BRQ_PAYMENT=E86256B2787EE7FF0C33D0D4C6159CD922227B79&BRQ_SERVICE_IDEAL_CONSUMERBIC=RABONL2U&BRQ_SERVICE_IDEAL_CONSUMERIBAN=NL44RABO0123456789&BRQ_SERVICE_IDEAL_CONSUMERISSUER=ING&BRQ_SERVICE_IDEAL_CONSUMERNAME=J.+de+Tester&BRQ_STATUSCODE=190&BRQ_STATUSCODE_DETAIL=S001&BRQ_STATUSMESSAGE=Transaction+successfully+processed&BRQ_TEST=true&BRQ_TIMESTAMP=2015-02-16+13%3A25%3A58&BRQ_TRANSACTION_CANCELABLE=False&BRQ_TRANSACTION_METHOD=ideal&BRQ_TRANSACTION_TYPE=C021&BRQ_TRANSACTIONS=41C48B55FA9164E123CC73B1157459E840BE5D24&BRQ_WEBSITEKEY=12345678&BRQ_SIGNATURE=b92de342cc863acd0c46ed3c8cb6add87668e22f")
|
274
290
|
end
|
275
291
|
|
276
292
|
it 'should raise an exception when initiating a transaction with missing parameters' do
|
@@ -308,15 +324,15 @@ describe Buckaruby::Gateway do
|
|
308
324
|
}.to raise_error(ArgumentError)
|
309
325
|
end
|
310
326
|
|
311
|
-
it 'should raise
|
327
|
+
it 'should raise a SignatureException when the signature is invalid' do
|
312
328
|
params = { "brq_amount" => "10.00", "brq_currency" => "EUR", "brq_customer_name" => "J. de Tester", "brq_description" => "Test", "brq_invoicenumber" => "12345", "brq_mutationtype" => "Collecting", "brq_payer_hash" => "e02377112efcd30bb7420bb1b9855a3778864572", "brq_payment" => "E86256B2787EE7FF0C33D0D4C6159CD922227B79", "brq_service_ideal_consumerbic" => "RABONL2U", "brq_service_ideal_consumeriban" => "NL44RABO0123456789", "brq_service_ideal_consumerissuer" => "Rabobank", "brq_service_ideal_consumername" => "J. de Tester", "brq_statuscode" => "190", "brq_statuscode_detail" => "S001", "brq_statusmessage" => "Transaction successfully processed", "brq_test" => "true", "brq_timestamp" => "2014-11-05 13:10:42", "brq_transaction_method" => "ideal", "brq_transaction_type" => "C021", "brq_transactions" => "41C48B55FA9164E123CC73B1157459E840BE5D24", "brq_websitekey" => "12345678", "brq_signature" => "abcdefgh1234567890abcdefgh1234567890" }
|
313
329
|
|
314
330
|
expect {
|
315
331
|
subject.callback(params)
|
316
|
-
}.to raise_error(Buckaruby::SignatureException)
|
332
|
+
}.to raise_error(Buckaruby::SignatureException, "Sent signature (abcdefgh1234567890abcdefgh1234567890) doesn't match generated signature (0a74bba15fccd8094f33678c001b44851643876d)")
|
317
333
|
end
|
318
334
|
|
319
|
-
it 'should return the status when signature is valid' do
|
335
|
+
it 'should return the status when the signature is valid' do
|
320
336
|
params = { "brq_amount" => "10.00", "brq_currency" => "EUR", "brq_customer_name" => "J. de Tester", "brq_description" => "Test", "brq_invoicenumber" => "12345", "brq_mutationtype" => "Collecting", "brq_payer_hash" => "e02377112efcd30bb7420bb1b9855a3778864572", "brq_payment" => "E86256B2787EE7FF0C33D0D4C6159CD922227B79", "brq_service_ideal_consumerbic" => "RABONL2U", "brq_service_ideal_consumeriban" => "NL44RABO0123456789", "brq_service_ideal_consumerissuer" => "Rabobank", "brq_service_ideal_consumername" => "J. de Tester", "brq_statuscode" => "190", "brq_statuscode_detail" => "S001", "brq_statusmessage" => "Transaction successfully processed", "brq_test" => "true", "brq_timestamp" => "2014-11-05 13:10:42", "brq_transaction_method" => "ideal", "brq_transaction_type" => "C021", "brq_transactions" => "41C48B55FA9164E123CC73B1157459E840BE5D24", "brq_websitekey" => "12345678", "brq_signature" => "0a74bba15fccd8094f33678c001b44851643876d" }
|
321
337
|
|
322
338
|
response = subject.callback(params)
|
@@ -447,6 +463,20 @@ describe Buckaruby::Gateway do
|
|
447
463
|
end
|
448
464
|
|
449
465
|
context 'payment recurrent response' do
|
466
|
+
it 'should recognize a visa payment recurrent response' do
|
467
|
+
params = { "brq_amount" => "10.00", "brq_currency" => "EUR", "brq_customer_name" => "Test", "brq_description" => "test", "brq_invoicenumber" => "12345", "brq_issuing_country" => "NL", "brq_mutationtype" => "Collecting", "brq_payment" => "E86256B2787EE7FF0C33D0D4C6159CD922227B79", "brq_recurring" => "True", "brq_SERVICE_visa_CardExpirationDate" => "2017-08", "brq_SERVICE_visa_CardNumberEnding" => "0005", "brq_SERVICE_visa_MaskedCreditcardNumber" => "456355******0005", "brq_statuscode" => "190", "brq_statuscode_detail" => "S001", "brq_statusmessage" => "Transaction successfully processed", "brq_test" => "true", "brq_timestamp" => "2017-08-08 15:01:23", "brq_transaction_method" => "visa", "brq_transaction_type" => "C044", "brq_transactions" => "B51118F58785274E117EFE1BF99D4D50CCB96949", "brq_websitekey" => "12345678", "brq_signature" => "2d445ce39320a10e6637b6ace6896559ce040cb3" }
|
468
|
+
|
469
|
+
response = subject.callback(params)
|
470
|
+
expect(response.transaction_status).to eq(Buckaruby::TransactionStatus::SUCCESS)
|
471
|
+
expect(response.transaction_type).to eq(Buckaruby::TransactionType::PAYMENT_RECURRENT)
|
472
|
+
expect(response.payment_method).to eq(Buckaruby::PaymentMethod::VISA)
|
473
|
+
expect(response.transaction_id).to eq("B51118F58785274E117EFE1BF99D4D50CCB96949")
|
474
|
+
expect(response.payment_id).to eq("E86256B2787EE7FF0C33D0D4C6159CD922227B79")
|
475
|
+
expect(response.invoicenumber).to eq("12345")
|
476
|
+
expect(response.timestamp).to be_an_instance_of(Time)
|
477
|
+
expect(response.to_h).to be_an_instance_of(Hash)
|
478
|
+
end
|
479
|
+
|
450
480
|
it 'should recognize a sepa direct debit payment recurrent response' do
|
451
481
|
params = { "brq_amount" => "1.00", "brq_currency" => "EUR", "brq_customer_name" => "J. Tester", "brq_description" => "Recurrent: Test", "brq_invoicenumber" => "12345", "brq_mutationtype" => "Collecting", "brq_payment" => "E86256B2787EE7FF0C33D0D4C6159CD922227B79", "brq_recurring" => "True", "brq_SERVICE_sepadirectdebit_CollectDate" => "2016-09-16", "brq_SERVICE_sepadirectdebit_CustomerIBAN" => "NL13TEST0123456789", "brq_SERVICE_sepadirectdebit_DirectDebitType" => "First", "brq_SERVICE_sepadirectdebit_MandateDate" => "2016-09-07", "brq_SERVICE_sepadirectdebit_MandateReference" => "e1a31b3e461ab74cdbacf16bccd5290f9a284618", "brq_statuscode" => "190", "brq_statusmessage" => "Success", "brq_test" => "false", "brq_timestamp" => "2016-09-16 00:26:03", "brq_transaction_method" => "SepaDirectDebit", "brq_transaction_type" => "C005", "brq_transactions" => "B51118F58785274E117EFE1BF99D4D50CCB96949", "brq_websitekey" => "12345678", "brq_signature" => "851d0eacc314ceb9070abeb83d1853270459d81a" }
|
452
482
|
|
data/spec/spec_helper.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: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kentaa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -58,6 +58,26 @@ dependencies:
|
|
58
58
|
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: 3.5.0
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: webmock
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '2.3'
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 2.3.2
|
71
|
+
type: :development
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '2.3'
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: 2.3.2
|
61
81
|
description: The Buckaruby gem provides a Ruby library for communicating with the
|
62
82
|
Buckaroo Payment Engine 3.0.
|
63
83
|
email:
|